No description
- JavaScript 91.4%
- Shell 8.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Ollama は /props を持たず /v1/models のみ応答する。baseURL が /v1 で終わる プロバイダーではフォールバック URL に baseURL をそのまま使っていたため /v1 を 叩いて 404 となり、モデルが OFFLINE 化していた。 - /v1 終端時は /v1/models を構築するよう修正(末尾スラッシュも正規化) - else 分岐の到達不能な /v1 判定デッドコードを除去 - Ollama 回帰テスト(テスト13)を追加 |
||
| .issue-specs | ||
| .planning | ||
| docs | ||
| plugins | ||
| install.sh | ||
| README.md | ||
universal-llm-ctx-auto-update
opencode のプラグイン。各 LLM サーバー(llama.cpp / litellm / llamafile / LM Studio)の /props または /v1/models エンドポイントから n_ctx を自動取得し、opencode.json(c) の models セクションを更新します。
注: このプラグインは opencode 本体がパースした in-memory の設定オブジェクトを
config(cfg)フックで受け取って書き換えるため、設定ファイルがopencode.jsonでもopencode.jsoncでも動作します。ファイル形式のパースは opencode 本体が処理します。
対応プロバイダー
| プロバイダー | 第1候補 | 第2候補(フォールバック) | デフォルト値 |
|---|---|---|---|
| llama.cpp | /props → n_ctx + model_alias |
— | — |
| litellm | /props → 同上 |
/v1/models → モデルID + デフォルトctx |
32768 |
| llamafile | /props → 同上 |
/v1/models → モデルID + デフォルトctx |
32768 |
| LM Studio | /props → 同上 |
/v1/models → モデルID + デフォルトctx |
32768 |
インストール
方法1: インストールスクリプト(推奨)
git clone ssh://git.cyberius.biz/joe/ctx /tmp/ctx
cd /tmp/ctx && bash install.sh
方法2: 手動インストール
plugins/universal-llm-ctx-auto-update.mjsを~/.config/opencode/plugins/にコピーopencode.jsonまたはopencode.jsoncのpluginセクションに以下を追記:"./plugins/universal-llm-ctx-auto-update.mjs"
動作フロー
- opencode 起動時 → プラグインが
config(cfg)で全 provider を走査 /propsエンドポイント(llama.cpp 系)→ n_ctx + model_alias を直接取得/v1/modelsフォールバック(litellm, LM Studio 等)→ モデルID + デフォルト n_ctx(32768)- どちらも応答しなければ → 既存設定を保持(フォールバック安全)
テスト
node --test plugins/universal-llm-ctx-auto-update.test.mjs
依存
- なし(
fetch APIのみ使用、Bun ランタイムでネイティブ対応)