Batch 3 (last) of the locale-expansion plan: ha, yo, ig, am, uz, ka, hy on every surface — dashboard catalog, docs mirror (22-file core + llm.txt + CHANGELOG), CLI catalog, README flag block, locale tables and 🌐 language bars. Also closes the key gap the batch-1 (43 keys) and batch-2 (10 keys) catalogs carried since their base merges, fixes the Igbo "Model" copy and allowlists the Uzbek cognate. Translation-ratio baseline covers 65 locales. ⚠️ 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
title: "Ndepụta Nlele Mwepụta" version: 3.8.51 lastUpdated: 2026-08-28
Ndepụta Nlele Mwepụta
Emelitere ikpeazụ: 2026-08-28 — v3.8.51 Usoro mwepụta e mere ka ọ dị mfe nke na-eji nkà Claude Code eme akpaaka.
Debe kwụ/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ị). Ịgba nke a site n'oge ruo n'oge — ọkachasịkwa tupu ndepụta nlele a — na-eme ka PR mwepụta malite na 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).