1,104 mirrors rewritten over five passes of run-translation on the 22-source core set: the 14 sources edited since their translation, the 322 mirrors that were still English copies, and the frontmatter the old extractor leaked into the newer locales' bodies. The pipeline now caches per-`## `-section hashes and retranslates only changed sections, never reuses a section that is still English, rebuilds English-copy / leaked mirrors even when the source is unchanged, merges the state on save (parallel runs), and the drift gate (scoped to the core set) is blocking. Final audit: 0 stale, 0 English copies, 0 leaked frontmatter across 1,430 core mirrors. ⚠️ base-red inherited: #12732
30 KiB
Release Checklist (Igbo)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
Emelitere ikpeazụ: 2026-08-28 — v3.8.51 Usoro mwepụta e mere ka ọ dị mfe nke na-eji nka Claude Code eme akpaaka.
Debe queue/branch ka ọ bụrụ green n’etiti mwepụta: lee RELEASE_GREEN.md (ezinụlọ
/green-prs+npm run check:release-green+/babysit+ nke abalị kwa ụbọchị). Ịme nke a site n’oge ruo n’oge — ọkachasịkwa tupu ndepụta nyocha a — na-eme ka release PR malite dị green.
TL;DR
# 1. Bulie ụdị + mepụta CHANGELOG (nkà)
/version-bump-cc patch # ma ọ bụ minor/major
# 2. Gbaa ọnụ ụzọ nyocha ogo na mpaghara
npm run check # lint + ule
npm run test:coverage # ọnụ ụzọ mkpuchi zuru ezu (60/60/60/60)
# 3. Wuo ma mee ule smoke
npm run build
npm run test:e2e # nhọrọ, mana a na-atụ aro ya
# 4. Mepụta mwepụta (nkà)
/generate-release-cc
# 5. Bugharịa gaa mmepụta (nkà)
/deploy-vps-both-cc # ma ọ bụ akamai-cc / local-cc
# 6. Dekọọ ihe akaebe mwepụta (nkà)
/capture-release-evidences-cc
Mbipụta npm A Tụkwasịrị Obi (ndabara kemgbe v3.8.51) — nke a na-edobe n'ọkwa mgbe a rịọrọ ya, nke ozugbo dịka ụzọ ndabere
npm-publish.yml na-ebipụta site na npm Trusted Publishing (OIDC) na ndabara: ọrụ
stage-npm (nke GitHub na-akwado) na-agbanwe id-token GitHub ka ọ bụrụ nzere npm
nke na-adịru obere oge maka ọsọ ahụ — enweghị token npm na-adịte aka n'ime ihe nzuzo repository, enweghị arịrịọ 2FA, ma agbakwunyere provenance.
Nke ahụ bụ ụzọ ịgafe ihe npm kwadoro ugbu a ka a na-akwụsị token ndị na-amafere 2FA;
ọ na-eweghachi usoro akpaaka zuru ezu nke project ahụ nwere ruo v3.8.48 ma ka na-edobe
nkwa WS1.3 (token agbapụtara enweghị ike ibipụta naanị ya — token adịghị).
Nhazi otu ugboro (onye nwe ya): npmjs.com → package omniroute → Settings → Trusted
Publisher → GitHub: owner diegosouzapw, repo OmniRoute, workflow npm-publish.yml
(environment: none). Ruo mgbe nke ahụ dị, nzọụkwụ akpaaka ahụ ga-ada na ENEEDAUTH:
ziga ya ọzọ site na publish_mode=staged (n'okpuru) ma ọ bụ direct.
Mbipụta e debere n'ọkwa (mgbe a rịọrọ ya — publish_mode=staged)
Workflow npm-publish anaghịzi ebipụta ozugbo: ọ na-ebido tarball e kwakọrọ
(check:pack-boot) ma mesịa gbaa npm stage publish — a na-edobe kpọmkwem bytes ahụ na
registry, enweghị ike ịwụnye ha ruo mgbe onye nwe ya kwadoro. E bugharịla ọnụ ụzọ 2FA mmadụ
gaa MGBE ihe akaebe gasịrị, ọ bụghị tupu ya.
Usoro onye nwe ya mgbe workflow ghọrọ green:
npm stage list omniroute— chọta stage id (a na-ebipụtakwa ya na nchịkọta workflow).- Nyochaa bytes e debere n'ọkwa (a na-atụ aro ya):
npm stage download <id>, wee wụnye tarball ebudatara n'ime temp prefix ma malite ya (npm run check:pack-bootna-eme otu mkpebi pack→install→boot ahụ na-akpaghị aka na CI). npm stage approve <id>— arịrịọ 2FA BỤ mbipụta ahụ.npm stage reject <id>na-atụfu ya.- Nchedo mgbe mbipụta gasịrị: onye nyocha mgbe mbipụta gasịrị (WS1.4 nke atụmatụ v3.8.49) na-etinye ụdị e bipụtara site na public registry n'ime container dị ọcha ma malite ya.
Ụzọ ndabere mberede: workflow_dispatch nwere publish_mode=direct na-eweghachi
npm publish ozugbo nke usoro ochie (jiri naanị ma ọ bụrụ na staging n'onwe ya anaghị arụ ọrụ nke ọma; detuo ihe kpatara ya).
Ime ka o sie ike otu ugboro (onye nwe ya, npmjs.com): hazie Trusted Publisher maka
omniroute na ọnọdụ stage-only ka token na-adịte aka agbapụtara ghara inwe ike ime npm publish
ozugbo site n'ebe ọ bụla — CI nwere ike naanị idobe ya n'ọkwa; naanị 2FA onye nwe ya na-ewepụta ya.
Usoro maka artifact mebiri emebi (agbanwebeghị): npm deprecate omniroute@<bad> "<reason> — use <fixed>"
dịka mmeghachi omume ndabara (n'ime nkeji, enwere ike iweghachi ya); jiri npm unpublish naanị n'ime windo
awa 72/enweghị-dependents, ọ bụghịkwa dịka nzọụkwụ mbụ. Docker: edegharịla version tag mgbe ọ bụla — rollback bụ
ịtụgharị latest ka ọ rụtụ aka na digest ikpeazụ dị mma.
Docker Hub latest (achọrọ na mbipụta SemVer stable ọ bụla): workflow
docker-publish ga-etinyerịrị tag na ma X.Y.Z ma, mgbe
should-promote-latest.sh kwetara na nke a bụ SemVer stable kachasị elu, :latest
nwere otu digest ahụ. Mgbe ọrụ ahụ gasịrị: digest Hub latest ga-abụ otu ihe na digest
SemVer ọhụrụ ahụ, last_updated agbanwekwala. Ahapụla :latest n'elu
build ochie mgbe ndetu mwepụta na-ekwu maka ndozi ndị dị naanị na git. Compose
quickstarts na-eji :latest; GitOps kwesịrị ịnọgide na-atụgide X.Y.Z. Lee
Ọwa mwepụta Docker na #10317.
Ụzọ Ọsọ Hotfix (akara hotfix)
PR e nyere akara hotfix na-awụfe nnukwu matriks CI (E2E nwere shard 9, coverage ratchet,
quality-gate, quality-extended) ma debe ụzọ nyocha ndị dị ọsọ ma na-enye akara doro anya: build,
unit shards, integration, vitest, lint/typecheck, docs-sync, check:pack-artifact
na nnwale boot-smoke nke tarball (check:pack-boot). Ebumnuche: ka ihe niile bụrụ green n'ime ≤15min kama ~33min.
Iwu mbata — a chọrọ ha anọ niile (e mere ya dịka ụzọ mberede Chromium/VS Code/Node):
- Ogo nsogbu: production emebiela — artifact e bipụtara na-adaba mgbe ọ na-amalite / mmezi nchekwa / nsogbu ahụ metụtara onye ọrụ ọ bụla nke release ahụ. "Dị mkpa" abụghị "emebiela".
- Ikike: naanị onye nwe repository na-etinye akara
hotfix. Akara ahụ BỤ nkwado ahụ — emela ya n'onwe gị na PR campaign. - Ihe akaebe: ahụ PR na-ejikọta run heavy gara aga nke zuru oke ma bụrụ green (suite nke ọrụ ndị a wụfere gaara enyocha ọzọ) tinyere nnwale nke mmezi ahụ nke dara na mbụ ma gafee emesịa.
- Oke: naanị cherry-pick — mmezi kacha nta, enweghị refactor, enweghị mgbanwe ndị ọzọ esonyere ya.
A na-enyocha ọzọ akụkụ coverage/ratchet a wụfere na full run na-esote na
branch release (release-green na-aga n'ihu) — ụzọ a na-awụfe naanị ICHERE, ọ naghị awụfe validation.
Diff ndị bụ naanị nnwale (faịlụ niile dị n'okpuru tests/, ọ dịghị nke dị n'okpuru tests/e2e/) na-awụfe matriks E2E
na-akpaghị aka, na-enweghị akara ọ bụla.
Ndepụta Nlele Zuru Ezu
Tupu Release
- Ejikọtala PR niile ezubere maka release a na
release/vX.Y.0 - Emechiela item Linear/issue niile ka meghere maka version a ma ọ bụ bugharịa ha na milestone na-esote
- CI bụ green na branch
release/vX.Y.0 - Enweghị akara
TODO(release)na code:grep -r "TODO(release)" src/ open-sse/ - Docker base image bụ nke kachasị ọhụrụ (ugbu a
node:24.15.0-trixie-slim)
Version & Changelog
- Gbaa
/version-bump-cc <patch|minor|major>(nkà Claude Code)- Na-ebuli version na
package.json,electron/package.json - Na-emepụta
CHANGELOG.mdọzọ site na commit git kemgbe tag ikpeazụ - Na-emelite badge README.md
- Na-ebuli version na
- Jiri aka nyochaa CHANGELOG.md ma hichaa ozi commit ma ọ bụrụ na ọ dị mkpa
- Gbaa mbọ hụ na ngalaba semver kachasị ọhụrụ na
CHANGELOG.mdhà nhata version dị napackage.json - Debe
## [Unreleased]dịka ngalaba changelog mbụ maka ọrụ ndị na-abịa - Melite
docs/openapi.yaml→info.versionga-aharịrị version dị napackage.json
Ogo Code
npm run lint— njehie 0 (ịdọ aka ná ntị ndị ahụ dịbu adị)npm run typecheck:core— dị ọchanpm run typecheck:noimplicit:core— dị ọcha (strict)npm run check:cycles— enweghị dependency okirikirinpm run check:any-budget:t11— nọ n'ime budgetnpm run check:route-validation:t06— dị ọchanpm run check:node-runtime— e mezuru runtime floor a na-akwado (>=22.22.2 <23,>=24.0.0 <27, dịkaSUPPORTED_NODE_RANGEdị nasrc/shared/utils/nodeRuntimeSupport.ts; dakọtara naenginesnkepackage.json)
Nnwale
npm run test:unit— gaferenpm run test:vitest— gafere (server MCP, autoCombo, cache)npm run test:coverage— e mezuru gate 60/60/60/60 (statements/lines/functions/branches)npm run test:integration— gafere (ọ bụrụ na mgbanwe metụtara DB / handlers)npm run test:combo:matrix— gafere (matriks atụmatụ combo: na-egosi n'ụzọ deterministic mkpebi nhọrọ nke atụmatụ routing ọha 19 niile; gbaa ya mgbe ị na-emetụ combo routing, strategy resolution, ma ọ bụ fallback logic)RUN_COMBO_LIVE=1 npm run test:combo:live— nhọrọ/jiri aka (nnwale smoke real-upstream nke gate na-achịkwa; na-enweta snapshot DB read-only site na VPSroot@192.168.0.15; na-akpọ provider n'ezie, na-eri credit; ọ dịghị mgbe ọ na-agba na CI; ọ na-awụfe nke ọma mgbe gate adịghị)npm run test:combo:live:vps— nhọrọ/jiri aka (nnwale smoke VPS live nke Phase-3: ọnọdụ HTTP 7 megide server.15dị live site na Node ESM nkịtị; chọrọssh root@192.168.0.15; na-emepụta/na-ehichapụ naanị combo__live_test__*; na-akpọ provider n'ezie; ọ dịghị mgbe ọ na-agba na CI)npm run test:e2e— gafere (mgbanwe UI)npm run test:protocols:e2e— gafere (mgbanwe MCP/A2A)npm run test:ecosystem— gafere
Hook (Husky kwadoro)
Hook Husky dị na .husky/ ma na-agba na-akpaghị aka mgbe a na-eme ọrụ git.
- pre-commit:
npx lint-staged + node scripts/check/check-docs-sync.mjs + npm run check:any-budget:t11 - pre-push: gate deterministic ndị dị ọsọ —
npm run check:any-budget:t11 && npm run check:tracked-artifacts(arụnyere ọrụ na 2026-06-13). A kpachapụrụ anya wepụtest:unit(ọ dị nwayọ; ọrụ CItest-unitna-ekpuchi ya).- Jiri aka gbaa
npm run test:unittupu ị push branch release.
- Jiri aka gbaa
Ọ bụrụ na hook ada: dozie nsogbu kpatara ya, ejila --no-verify gafere ya.
Conventional Commits
Commit niile ga-abanye na release ga-agbasorịrị usoro type(scope): subject.
Ụdị ndị ziri ezi: feat, fix, refactor, docs, test, chore, perf, style, ci
Scope ndị ziri ezi: db, sse, oauth, dashboard, api, cli, docker, ci, mcp, a2a, memory, skills, cloud-agent, guardrails, compression, auto-combo, resilience, providers, executors, translator, domain, authz
Mgbanwe na-emebi ndakọrịta: tinye footer BREAKING CHANGE: ma ọ bụ ! mgbe scope gasịrị (dịka feat(api)!: drop /v0).
Akwụkwọ Nkọwa
npm run check:docs-syncgafere (pre-commit na-agba ya na-akpaghị aka)npm run check:docs-allgafere (nchịkọta: docs-sync + docs-counts + env-doc-sync + deprecated-versions + doc-links)npm run check:env-doc-syncjiri 0 kwụsị — nkwekọrịta env dị n’etiti koodu ↔.env.example↔docs/reference/ENVIRONMENT.mdka zuru okenpm run check:doc-linksjiri 0 kwụsị — enweghị ntụaka markdown dị n’ime nke mebiri mgbe a hazigharịrị ihe- A nyochala
docs/architecture/ARCHITECTURE.mdmaka mgbanwe na-adabaghị n’etiti storage/runtime - A nyochala
docs/guides/TROUBLESHOOTING.mdmaka mgbanwe env var na mgbanwe arụmọrụ - Ọ bụrụ na
.env.examplegbanwere: emeliteladocs/reference/ENVIRONMENT.md - Ọ bụrụ na atụmatụ ọhụrụ nwere UI:
docs/guides/USER_GUIDE.mdkwuru maka ya - Ọ bụrụ na atụmatụ ọhụrụ nwere API: emelitela
docs/reference/API_REFERENCE.md+docs/openapi.yaml - Ọ bụrụ na atụmatụ ọhụrụ bụ modul: faịlụ pụrụ iche
docs/<MODULE>.mddị - Ọ bụrụ na ọ bụ mgbanwe na-emebi ndakọrịta:
docs/guides/TROUBLESHOOTING.mdnwere ndetu mb移ga
i18n
npm run i18n:checkjiri 0 kwụsị — ọnọdụ ntụgharị (.i18n-state.json) kwekọrọ na dọkụmentị isi mmalite (enweghị isi mmalite gbanwere n’ọnọdụ strict; ịdọ aka ná ntị n’ọnọdụ warn dị mma maka obere mmezi dọkụmentị nke nkeji ikpeazụ, mana ọ kwesịrị ịbụ 0 tupu itinye tag)npm run i18n:check-ui-coveragejiri 0 kwụsị — locale UI ọ bụla nọ na ma ọ bụ karịa oke mkpuchi 80%npm run i18n:sync-ui:drykọọ igodo efu 0 n’ime locale 42 niile- Ọ bụrụ na dọkụmentị Bekee nke isi mmalite gbanwere, gbaa
npm run i18n:run(ọ chọrọOMNIROUTE_TRANSLATION_API_KEYn’ime.env) tupu itinye tag - Enwere ike iyigharị onyinye ntụgharị ruo na release na-esote ma ọ bụrụ na ha pere mpe (dekọọ ya na CHANGELOG)
Mbugharị Database
- Ọ bụrụ na
src/lib/db/migrations/nwere faịlụ ọhụrụ:- Mbugharị ọ bụla bụ idempotent (
CREATE TABLE IF NOT EXISTS, wdg.) - E tinyere mbugharị n’ime transaction
- E nyere ha nọmba nke ọma (enweghị oghere n’usoro)
- Mbugharị ọ bụla bụ idempotent (
- Nwalee na nrụnye ọhụrụ: hichapụ
~/.omniroute/omniroute.dbma gbaanpm run dev - Nwalee na nrụnye dị adị: mee backup DB, gbaa migration, ma nyochaa schema
- A na-ejikwa faịlụ WAL (
-wal,-shm) nke ọma ma ọ bụrụ na migration degharịrị table
Katalọgụ Provider (Zod-validated)
- schema Zod nke
src/shared/constants/providers.tsziri ezi n’oge nbudata- Provider niile nwere field achọrọ (
id,label,kind, wdg.) - E nyere
freeNotemaka provider efu ọhụrụ - Provider OAuth nwere
oauthConfige debanyere aha nasrc/lib/oauth/constants/oauth.ts
- Provider niile nwere field achọrọ (
- Ọ bụrụ na agbakwunyere provider ọhụrụ: executor kwekọrọ na ya dị na
open-sse/executors/ - Ọ bụrụ na format ahụ abụghị OpenAI: translator dị na
open-sse/translator/ - E debanyere model na
open-sse/config/providerRegistry.ts - Unit test dị na
tests/unit/na-ekpuchi nhazi provider na routing
Desktop (Electron)
Ọ bụrụ na electron/ gbanwere:
npm run electron:smoke:packagedgafere- A nwalela build maka opekata mpe otu n’ime
:win,:mac,:linux - Asambodo code signing agwụbeghị oge (ọ bụrụ na a na-eme signing)
- Version dị na
electron/package.jsonkwekọrọ na rootpackage.json - Emelitela pointer nke channel auto-update ma ọ bụrụ na a na-ewepụta ya na
stable
Nhazi Build
Repository a na-eji directory mmepụta atọ dị iche iche — agwakọtala ha:
| Directory | Ebumnuche | A na-esochi ya? |
|---|---|---|
src/ |
Isi mmalite application (TypeScript / TSX) | Ee |
.build/ |
Ihe etiti build — mmepụta next build (distDir) |
Mba (gitignored) |
dist/ |
Nchịkọta npm a pụrụ ibupu — assembleStandalone haziri ya |
Mba (gitignored) |
Ndetu onye ọrụ: directory image VPS dị anya ka bụ
/usr/lib/node_modules/omniroute/app/. Naanị mmepụta build dị n’ime repository ka e bugharịrị (app/→dist/). Skill deploy na-eji rsync ebuga ọdịnayadist/n’ime directoryapp/dị anya — enweghị mgbanwe path VPS achọrọ.
Usoro otu build:
npm run build:release
└─ rm -rf .build dist (nhicha)
└─ next build → .build/next/ (ihe etiti)
└─ assembleStandalone (na-edetuo standalone + static + public + natives → dist/)
└─ writes dist/BUILD_SHA (sentinel HEAD)
AGBALỊLA ịgba npm run build wee soro ya gbaa npm run build:cli iche maka deploy — jiri
npm run build:release, nke na-eme rebuild dị ọcha + sentinel n’otu command.
Nnyocha Artifact
npm run build:releasegara nke ọma madist/BUILD_SHA==git rev-parse --short HEADnpm run check:pack-artifactdị ọcha — enweghịapp.__qa_backup,scripts/scratch,package-lock.json, ma ọ bụ ihe fọdụrụ n’ime igwe mpagharadist/server.jsdị mgbe build gasịrị
Itinye Tag & Release
- Gbaa
/generate-release-cc(skill Claude Code):- Na-emepụta tag
vX.Y.Z - Na-ebuga tag na branch
- Na-emepe GitHub Release nwere ọdịnaya changelog
- Na-etinye installer Electron (ọ bụrụ na e wuru ha)
- Na-emepụta tag
- Ma ọ bụ jiri aka mee ya:
git tag -a vX.Y.Z -m "Release vX.Y.Z" git push origin vX.Y.Z gh release create vX.Y.Z --notes-from-tag
Deploy
Skill deploy na-eji usoro rsync dị mfe — enweghị npm pack, enweghị npm i -g:
- Jiri skill deploy kwekọrọ na target:
/deploy-vps-local-cc— VPS mpaghara (192.168.0.15)/deploy-vps-akamai-cc— VPS Akamai (69.164.221.35)/deploy-vps-both-cc— ha abụọ
- Tupu deploy, gosi na
dist/BUILD_SHA==git rev-parse --short HEAD - Build ga-agba ebe
node_modulesbụ nke ezigbo ya (main checkout ma ọ bụ worktree e jinpm cikwadebe — Ọ BỤGHỊ worktree ejiri symlink) - Mee smoke test n’instance e deploypụtara:
- Mepee
/dashboard/health→ lelee na version string kwekọrọ na release - Gbaa arịrịọ
/v1/chat/completionsmegide provider a maara - Nyochaa na
/api/monitoring/healthweghachiri circuit breakerCLOSED - Gosi na transport MCP na-aza (
/mcpHTTP,/mcp-sseSSE)
- Mepee
Mgbe release gasịrị
- Gbaa
/capture-release-evidences-cc(nkà Claude Code)- Na-esepụta nseta ihuenyo/ndekọ WebP nke atụmatụ ọhụrụ
- Na-etinye ha na ndetu mwepụta / edemede blọọgụ
- Jiri ọkwa mwepụta melite GitHub Discussions / Discord
- Mepee milestone maka ụdị na-esote
- Ọ bụrụ na ọ dị oke mkpa: kpọgide mkparịta ụka ahụ ma ọ bụ bipụta ya na
news.jsonmaka ọkọlọtọ dị n'ime ngwa
Ọnụ ụzọ mmalite ọha nke Radar
E ji ụma commit ọkwa Radar ahụ na active: false. Ime ka ọ rụọ ọrụ bụ mgbanwe dị iche
nke a ga-eme naanị mgbe e gosipụtara ihe akaebe maka ihe niile dị n'okpuru:
- Ejikọla Radar PR niile e dokọtara n'usoro, release-tip CI dịkwa ndụ ndụ
- Deploy ma mee smoke test n'ụzọ gasị OSS Radar ebe
RADAR_ENABLEDka bụ gbanyụọ na ndabara - Mee smoke test na
GET /planos,/termos,/privacidade, na/reembolson'elu host Radar a kpọrọ aha - Dekọọ njirimara/ozi kọntaktị/adreesị onye na-arụ ọrụ yana nyocha iwu nke onye nwe ya kwadoro n'ime ọrụ nzuzo
- Nwalee Stripe Checkout na webhook e binyere aka na ya naanị n'ụdị nnwale
- Nwalee otu nnyefe ozi-e azụmahịa ezoro ezo site na onye na-ezipụ/ngalaba a kwadoro
- Gosipụta na iweghachi backup na-arụ ọrụ ma mee otu research run a na-elekọta nke nwere oke mmefu ego
- Kwado iwu nyocha BRL/PIX tupu ịnakwere ihe akaebe onyinye
- Mee ka Checkout ọha rụọ ọrụ naanị mgbe ọnụ ụzọ ndị bu ya ụzọ gafere, wee mee ka ID ọhụrụ dị na
news.jsonrụọ ọrụ - Nyochaa na ọkọlọtọ Home na-eji ederede ahaziri maka asụsụ mpaghara nakwa na ID ọhụrụ na-apụta ọzọ mgbe e wepụrụ ID ochie
Ule smoke nke Ọrụ Agbakwunyere (v3.8.4+)
Tupu izipu mbipụta ọ bụla nwere mgbanwe n’ọrụ agbakwunyere, nyochaa ihe ndị a:
Mbido Fresh-DB (na-achọpụta esemokwu migration — agbakwunyere mgbe hotfix v3.8.4 gasịrị)
DATA_DIR=$(mktemp -d) npm start &— chere 10 s ka ọ malitecurl -s http://127.0.0.1:20128/api/services/9router/status | jq '.tool'na-eweghachi"9router"(Ọ BỤGHỊ 404, Ọ BỤGHỊ 500). Nke a na-egosi na etinyere migration071_services.sqlma kụọkwa row.sqlite3 $DATA_DIR/storage.sqlite "PRAGMA table_info(version_manager);" | grep -E "provider_expose|logs_buffer_path|last_sync_at"na-eweghachi row 3.sqlite3 $DATA_DIR/storage.sqlite "PRAGMA table_info(webhooks);" | grep -E "kind|metadata_encrypted"na-eweghachi row 2 (na-akwado na etinyere070_webhooks_kind_metadata.sql).node --import tsx/esm --test tests/unit/db/no-migration-collisions.test.tsna-agafe — na-echebe megide esemokwu ga-eme n’ọdịnihu.
9Router
POST /api/services/9router/installna-eweghachi 200 ya nainstalledVersionn’ime ihe na-erughị nkeji 2POST /api/services/9router/startna-eweghachi 200 nastate: "running"n’ime ihe na-erughị 30 sGET /api/services/9router/statusna-akọhealth: "healthy"POST /v1/chat/completionsya na"model": "9router/auto/..."na-eweghachi 200 (routing site na 9Router site na mmalite ruo na njedebe)GET /dashboard/providers/services/9router/embed/dashboardna-egosipụta UI izizi nke 9Router n’ime proxy (enweghị iframe127.0.0.1:portkpọmkwem)POST /api/services/9router/rotate-keyna-eweghachi{ keyRotated: true }, ọrụ ahụ amalitekwa ọzọ n’enweghị nsogbuPOST /api/services/9router/stopna-eweghachi 200 nastate: "stopped"GET /api/services/9router/logs?tail=50na-eweghachi iyi SSE nwere eventsnapshotnke nwere ahịrị ndị na-adịbeghị anya- Nwụnye n’ebe
npmna-adịghị na PATH na-eweghachi 500 ya na ozi njehie dị mfe nghọta (na-abụghị stack trace)
CLIProxyAPI
POST /api/services/cliproxy/installna-eweghachi 200 n’ime ihe na-erughị nkeji 2POST /api/services/cliproxy/startna-eweghachi 200 nastate: "running"n’ime ihe na-erughị 30 sGET /api/services/cliproxy/statusna-akọhealth: "healthy"POST /api/services/cliproxy/stopna-eweghachi 200 nastate: "stopped"GET /api/services/cliproxy/logs?tail=50na-eweghachi iyi SSE
Nnwale nlọghachi azụ nke nchekwa
curl -H "X-Forwarded-For: 1.2.3.4" http://localhost:20128/api/services/9router/startna-eweghachi403 LOCAL_ONLYcurl -H "X-Forwarded-For: 1.2.3.4" http://localhost:20128/api/services/cliproxy/startna-eweghachi403 LOCAL_ONLY- Nzaghachi njehie sitere na
/api/services/*enweghịerr.stackma ọ bụ ụzọ faịlụ zuru ezu
Nnyocha v3.8.0+
Tupu izipu mbipụta v3.8.x ọ bụla, nyochaa ihe ndị ọzọ ndị a:
omniroute --trayna-amalite na macOS (etinyere systray2 n’ime~/.omniroute/runtime/)omniroute --trayna-amalite na Linux (chọrọ DISPLAY; njehie dị mfe nghọta ma ọ bụrụ na edoghị ya)omniroute --trayna-amalite na Windows (PowerShell NotifyIcon, enweghị binary ndị ọzọ)omniroute config tray enablena-emepụta ndenye autostart; disable na-ewepụ yanpm install -g omniroute@<this-version>na-eme postinstall na-enweghị ịkwụsị n’ihi njehie dị njọ- Ụzọ mmelite na-edowe optional deps:
omniroute update --applyna auto-updater na-emenpm install -g … --include=optionalkaoptionalDependencies(better-sqlite3, keytar, tls-client, na stack SLM llmlingua:@atjsh/llmlingua-2@2.0.5,js-tiktoken) ghara ịla n’iyi mgbe emelitere. Ọkwa SLM ultramodelPathchọkwara model tinybert, nke a na-ebudata na-akpaghị aka gaa${DATA_DIR}/models/llmlinguamgbe mbụ e ji ya. Postinstall (scripts/build/colocateOptionals.mjs) na-etinyezi closure nhọrọ nke SLM n’otu ebe n’imedist/node_moduleska worker nwee ike ịchọta naanị otu instance@huggingface/transformers^4.2.0 — trace nke nọọrọ onwe ya na-etinye naanị transformers n’ime bundle, ọ naghị etinye optionals ndị e ji dynamic import webata, yabụ ma nke a adịghị, worker ga-ebunye llmlingua-2 megide transformers nke root, ọkwa SLM ahụ ga-adakwa na nzuzo ma hapụ usoro ahụ ka ọ gaa n’ihu. omniroute statusna-arụ ọrụ n’enweghị.env(ụzọ token CLI, naanị loopback)curl http://localhost:20128/api/shutdownna-eweghachi 401 (route a na-echebe mgbe niile)curl -H "host: evil.com" http://localhost:20128/api/mcp/ssena-eweghachi 401 (nche loopback)- SQLite runtime na-ahọrọ
bundledna mbido mbụ (binary e tinyere n’ime bundle dabara na platform) - SQLite runtime na-alaghachi na
runtimemgbe ehichapụnode_modules/better-sqlite3 - Smart MCP filter na-akpakọ output n’ezie nke
playwright-mcp browser_snapshot(mbelata ≥50%) - Faịlụ
skills/omniroute*/SKILL.mdiri niile dị ka ọha nwee ike ibudata ha site na raw GitHub URL - Wizard onboarding na-egosi nzọụkwụ njem nlegharị anya nke ọkwa “Otu O Si Arụ Ọrụ” na nhazi ọhụrụ
- Widget mkpuchi ọkwa dị na dashboard Home na-egosi ọnụọgụ ndị ahaziri/ndị na-arụ ọrụ
Nlaghachi
Ọ bụrụ na mbipụta nwere nsogbu dị oke njọ:
gh release edit vX.Y.Z --prerelease(na-akara ya dị ka nke na-abụghị nke kachasị ọhụrụ)git tag -d vX.Y.Z && git push --delete origin vX.Y.Z(naanị ma ọ bụrụ na ndị ọrụ amalitebeghị iji ya)- Ma ọ bụ: mee ndozi ngwa ngwa na
release/vX.Y.0→ mbipụta ndozivX.Y.(Z+1) - Kpọsa ya ozugbo na GitHub Discussions na Discord
Iwu Ndị A Na-agaghị Agbanwe Agbanwe
- Etinyekwala commit ozugbo na
main - Ejikwala
git push --forcenamainma ọ bụ alakarelease/* - Ahapụla Husky hooks (
--no-verify) - Etinyekwala ihe nzuzo, ozi njirimara, ma ọ bụ faịlụ
.envna commit - Mkpuchi ule ga-anọgide na ≥60/60/60/60 (nkwupụta/ahịrị/ọrụ/alaka)
- Tinye ma ọ bụ melite ule mgbe niile mgbe ị na-agbanwe koodu mmepụta dị na
src/,open-sse/,electron/, ma ọ bụbin/
Nnyocha Mmekọrịta Akpaghị Aka
Gbaa ihe nche nke mmekọrịta dọkụmentị na kọmputa gị tupu imepe PR:
npm run check:docs-sync
CI na-agbakwa nnyocha a na .github/workflows/ci.yml (ọrụ lint).