opencode-belweaveOpenCode plugin for the Belweave Triad gateway (OpenAI-compatible)
1
17
近 7 天 5
27.0
生态多维模型
2 个月前
2026-06-17
快速安装与配置
opencode.json写入当前项目的 opencode.json,只对这个仓库生效。
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-belweave@0.1.0"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-belweave@0.1.0"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D opencode-belweaveopencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。
An opencode plugin that adds the Belweave Triad provider — an OpenAI-compatible aggregator gateway that routes to Claude, Gemini, GLM, GPT-OSS, and MiniMax models through a single endpoint.
Install the plugin and the provider + its model catalog appear automatically. No manual
provider block in opencode.json is required.
Install
From npm
// opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-belweave"]
}
From a local path (development)
// opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["./packages/opencode-belweave"]
}
opencode runs on Bun, which loads the TypeScript entry directly — so no build step is needed while developing against a local path.
Configure your API key
Your key has the format trd_live_.... Provide it one of two ways:
Option A — environment variable:
export BELWEAVE_API_KEY=trd_live_xxxxxxxxxxxxxxxx
Option B — interactive login (stored in opencode's credential store):
Run opencode, then /connect → select Belweave Triad → paste your key.
Use a model
Run opencode, then /models → pick a Belweave Triad model, e.g. Claude Haiku 4.5 or
GPT-OSS 20B.
Exposed models
16 models are exposed. Token limits are family-based estimates (used for opencode's context
accounting); costs are set to 0 until the gateway's pricing is confirmed — override them in
your own provider.belweave block if needed.
| Model id | Family |
|---|---|
claude-haiku-4-5 |
Claude |
claude-opus-4-1, claude-opus-4-5, claude-opus-4-6 |
Claude |
claude-sonnet-4-5, claude-sonnet-4-6 |
Claude |
gemini-3-1-flash-lite, gemini-3-1-pro, gemini-3-5-flash |
Gemini |
glm-4-7-flash, glm-5 |
GLM |
gpt-oss-120b, gpt-oss-20b |
GPT-OSS |
gpt-oss-safeguard-120b, gpt-oss-safeguard-20b |
GPT-OSS Safeguard (moderation) |
minimax-m2-5 |
MiniMax |
Note:
gpt-oss-safeguard-*are moderation / safety models and are exposed with minimal capabilities (text-only, no tool calling). Use them for classification / guardrails.
Overriding defaults
Anything you put under provider.belweave in opencode.json takes precedence over the plugin's
defaults, including adding or tweaking individual models:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-belweave"],
"provider": {
"belweave": {
"models": {
"claude-opus-4-6": { "name": "Opus 4.6 (team)", "limit": { "context": 200000, "output": 16384 } }
}
}
}
}
Requirements
- opencode
>= 1.17.0
Releasing (maintainers)
Releases are published to npm automatically by GitHub Actions using
npm trusted publishing (OIDC) — no npm token is
stored anywhere. The publish workflow runs on every published
GitHub Release; it typechecks, tests, builds, and then publishes with provenance.
To cut a release, run one of:
bun run release:patch # 0.1.0 -> 0.1.1
bun run release:minor # 0.1.0 -> 0.2.0
bun run release:major # 0.1.0 -> 1.0.0
Each script bumps the version, pushes the tag, and creates a GitHub Release, which triggers the publish workflow.
One-time setup: trusted publishing requires the package to exist on npm first. After the initial bootstrap publish, configure the trusted publisher at
npmjs.com → opencode-belweave → Settings → Trusted Publisher: provider GitHub Actions, repositoryaravhawk/opencode-belweave, workflow filenamepublish.yml.