opencode-runtime-triageRuntime-only per-agent model and provider overrides for the OpenCode TUI
0
27
近 7 天 5
27.3
生态多维模型
1 个月前
2026-07-15
快速安装与配置
opencode.json写入当前项目的 opencode.json,只对这个仓库生效。
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-runtime-triage@0.1.0"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-runtime-triage@0.1.0"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D opencode-runtime-triageopencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。
Runtime-only model rerouting for OpenCode agents. The plugin adds two TUI commands:
/rt-model: assign a predefined provider/model pair to one agent./rt-provider: replace a provider across agents using exact model-ID intersection.
Overrides are held in a PID-owned temporary file, applied when the current OpenCode instance reloads, and removed when the TUI exits. Stale state is ignored when its owning process is no longer running.
Install
opencode plugin opencode-runtime-triage -g
Quit and restart OpenCode after installation.
Provider Override Semantics
/rt-provider uses an AND strategy. An agent is changed only when:
- Its active model belongs to the selected source provider.
- The target provider exposes the exact same model ID.
This makes provider replacement safe when the target has a smaller or partially overlapping model catalog. Non-matching agents are left untouched.
Presets
The package does not ship provider-specific presets. Configure the provider/model pairs available to /rt-model with a tuple entry in tui.json:
{
"$schema": "https://opencode.ai/tui.json",
"plugin": [
[
"opencode-runtime-triage",
{
"presets": [
{
"label": "Primary model",
"provider": "provider-id",
"model": "model-id"
}
]
}
]
]
}
Development
npm install
npm run check
npm test
npm run build
npm pack --dry-run
The npm package exposes target-exclusive ./server and ./tui entrypoints as required by the OpenCode plugin standard. Compiled dist files are included in the package because OpenCode installs plugins with lifecycle scripts disabled.