CLI model catalog and manual metadata
omniroute models reads the selected server’s public model catalog first, including
its custom and synchronized entries. --output json and --output jsonl return all
matching rows, without a table truncation message. Interactive tables show at most
50 rows. JSON preserves public context limits, modalities, capabilities, model source
when supplied by the server, and API-format metadata; credentials and compatibility
headers are not output. A legacy /api/models fallback is used only when the public
endpoint returns HTTP 404, 405 or 501, never after an authentication failure.
omniroute completion refresh uses that same catalog. A failed model-catalog request
returns a nonzero exit code and preserves the previous completion cache. Bash, Zsh
and Fish completion scripts advertise the manual model subcommands.
Manual model lifecycle
Section titled “Manual model lifecycle”These operations use the existing authenticated /api/provider-models management
API. They honor the same global --context and --base-url selection as other CLI
commands. Use the canonical provider ID and the provider’s model ID separately; a
model ID containing slashes is valid. Use a configured management context rather
than putting credentials into command arguments.
omniroute models openai --output jsonomniroute models manual openaiomniroute models add openai my-model --name "My model" --context-window 32768 --dry-runomniroute models add openai my-model --name "My model" --context-window 32768omniroute models edit openai my-model --context-window 65536omniroute models edit openai my-model --clear-context-windowomniroute models remove openai my-model --dry-runomniroute models remove openai my-model --yesExamples describe syntax; replace provider/model IDs with entries belonging to your server. The add operation does not create a provider connection.
addrefuses an existing custom entry. Optional--max-output-tokenssets the output limit at creation;--api-formatsets the model’s API format and its matching endpoint metadata, such asembeddingsrather thanchat.editrequires an existing manual entry. Its context limit uses the backend’s independent manual context override; clearing it removes that override, not the original input limit or synchronized metadata.removerequires--yes, except with--dry-run. It requestsresetOverride=true, preserving a synchronized entry with the same ID. Bulk deletion is not exposed.--dry-runperforms the authenticated preflight read but no write or inference.- Every actual mutation reads the manual catalog back.
persistenceVerified: truemeans the requested metadata was observed after the write; it does not mean the model can generate text or call tools.inferenceValidationis alwaysnot-run. - A readback failure returns a nonzero exit code. The write may already have taken effect; inspect the server before retrying. Concurrent writers are not serialized by this CLI, and the existing API does not provide a compare-and-swap transaction.
Test & Add: not implemented
Section titled “Test & Add: not implemented”Manual entries are unverified. There is no --validate flag and these commands do
not issue inference requests or execute tools. A future opt-in validation flow must
separate inference credentials from management authentication and establish which
exact provider connection produced all three proofs: generation, a nonce-bound
synthetic tool call, and continuation after a synthetic tool result. No real tool
execution is needed for those proofs.
The existing x-omniroute-connection pin alone is insufficient as a proof receipt:
credential selection can intentionally release a pin for cooldown, quota or
excluded-account cases, and session affinity participates in selection. See
src/sse/services/auth.ts and the forcedConnectionId handling in
src/sse/handlers/chat.ts. Before implementing Test & Add, decide a strict-pin or
verifiable connection-receipt contract. Tests must then prove no persistence after
any failed, truncated, timed-out or wrong-connection response. This is a separate
backend contract decision, not a promise made by manual CRUD.
HagiCode
HagiCode はエージェント型コーディングワークスペースです。豊富で便利な UI インタラクションにより、計画・エージェント実行・プロジェクト作業を始めやすく、進めやすくし、開発をより魅力的な体験にします。
豊富で便利な UI インタラクションで、計画からプロジェクト作業までを分かりやすく進められます。
- スマートOpenSpec ワークフローが意図を、提案・設計・タスクから変更のリリースまで実行可能な道筋にします。
- 効率的マルチエージェント実行で調査・実装・レビューを並行して進め、複数リポジトリや使い慣れた Agent CLI にも対応します。
- 興味深い豊富で便利な UI インタラクションにより、計画・エージェント実行・プロジェクト作業を始めやすく、進めやすくします。
Windows 版をダウンロード
HagiCode を共有
アイデアを、出荷できるソフトウェアへ。
HagiCode はエージェント型コーディングワークスペースです。OpenSpec ワークフローで変更を計画し、マルチエージェント実行で進め、Hero Scenario で長い作業の進み具合を見える化して、アイデアを出荷できるソフトウェアにします。
- スマート
- OpenSpec ワークフローが、意図を提案からリリースまでの実行可能な道筋にします。
- 効率的
- マルチエージェント実行で、調査・実装・レビューを並行して進めます。
- 楽しい
- 使いやすい UI で、計画・Agent 実行・プロジェクト作業を進めやすくします。
© 2026 HagiCode | Powered By hagilight-starlight@0.21.0 | Branch: main | Commit: de60bcd | Built:

