@brainervirus/opencode-commandcode

中文文档
0.12.26发布于 2026/11/07MITTypeScriptES Module近 30 天下载 8034

开放代码的指令代码 API 提供者 — 通过命令代码使用 Claude, GPT, 双子座, DeepSeek, Quen, Kimi, GLM, MiniMax, 以及 Step 模型

中文使用文档
文档目录14 节
  1. 贷项
  2. 此软件包添加的内容
  3. 如何运作
  4. 快速启动
  5. 1. 安装插件
  6. 2. 不需要供应商块
  7. 3. 连接
  8. 4. 选择一种模式
  9. 插件配置文件
  10. 零数据保留(津巴布韦)
  11. 可选本地 CLI 覆盖
  12. 报告问题
  13. 发展
  14. 许可证

@ rainervil/ opencode- command 代码

npm version CI License: MIT

命令代码 API 供应商 打开代码. 使用 Claude,GPT,双子座,DeepSeek,Quen,Kimi,GLM,MiniMax,Step等模型通过单一API键.

此插件用于命令代码账户, 包含 API 访问 。 GOAT是现场测试的基准;其他API启用的计划可以使用其账户有权获得的模型. 1美元Go计划没有提供商API接入. 该目录遵循了全提供商的模型列表,因此OpenCode中出现的模型并不意味着每个账户都可以调用. 见 GOAT计划细节 财务报告和审定财务报表 API 文件提供者。 。 。 .

此软件包保留一个 捆绑 模式目录流通过 CI. 没错 没有 需要一个本地 command-code CLI(英语:CLI). Catalog 补丁在绿色 PR 合并到 main。 。 。 .

原载 @brainervirus/commandcode-go-opencode-provider。使用这个名称.

贷项

此软件包基于 FanFan4204/ 打开代码命令代码提供者。这项工作始于 brent-weatherall/opencode-command-code-提供程序 以 布伦特·韦瑟尔. 感谢你们两个——FanFan为OpenCode提供这个repo继续,而Brent为原始插件,目录提取.

此软件包添加的内容

  • 捆绑 models.json 是默认的运行时间目录( 没有本地 CLI raise) .
  • V1和V2使用其本土插件和提供商表面. 五一号 server() 填补 provider.commandcode 并注册 API- key 认证; V2 setup() 登记册提供者/模型的转换和关键/功能集成 /connect 财务报告和审定财务报表 opencode auth login。 。 。 .
  • 通过边界验证 src/schemas.ts 捆绑 models.json 编号 : manifest.json 读取、提供商可用有效载荷,以及插件配置文件.
  • CLI 成本提取可能失败而不丢出模型; 官方文件填补缺失成本, 剩余支付缺口使用 模式.dev 作为同步时间的参考价格。 命令代码 免费 SKUs 保留 $0。 。 。 .
  • Vision vs 仅文本来源于指令代码 CLI 目录 (inputModalities 每个SKU. 模式.dev 仅在匹配时添加额外输入(video/audio/pdf).
  • 作出合理努力 变体 关于宣布的模型 reasoningEfforts。 。 。 .
  • 发布日期,家庭,输入限制,模型状态,销售商上下文限制,以及相匹配的上下文价格级流经捆绑的目录. V2 获得本地释放、家庭、投入、状态和分级田地;V1 保留其支持田地和基价 context_over_200k 在有代表性的地方.
  • 供养者 supported_endpoints 元数据选择每个模型的API路由. 消息在广告时首选;否则则首选"聊天补全"(Chat Fullers),而回放只在唯一的广告路线时使用. 这避免了在 DeepSeek V4.1 Flash 上观察到的错位响应函数调用启动事件 #max 在 OpenCode V2.0.18 中: response.output_item.added 内含 function_call 所需项目 arguments 绳子。 准确的呼叫工具流现在通过 V1 和 V2 上的 Chat Professions. 反应图仍然可供仅用于反应模型,但目前的目录没有. Claude Sonnet 4.6 回来了 MODEL_NOT_IN_PLAN (b) 题为“Claude访问”的信息“可在Pro及以上计划或额外点播使用”; 如果一个模型在有权使用的账户上失败,请 打开一个问题 与型号ID和OpenCode版本相接,或提交带有可复制固定的PR.
  • 静默的 OpenCode 启动( 诊断器到 startup.json,没有 studout.
  • 免费模式显示 (Free) 当所有目录价格为零时, 在 V1 和 V2 上的显示名称之后 。 型号ID和路由不变;这是名后缀,不是本土桌面徽章. 已经结束的名称 Free 或者说 (Free) 保留现有的标签.
  • 应请求保留零数据: CMD_ZDR=1 或者说 zdr: true 在插件配置中添加 x-cmd-zdr: 1 给每个命令代码的 API (/provider/v1/*关于两个OpenCode世代的请求.

如何运作

对于已出版的插件版本, 六小时的 CI 调度会提取最新的 command-code npm捆绑并刷新可调用的模型外加端点元数据,即使CLI版本没有变化. 它只有在生成的文物发生变化时才会打开目录公关;起动时插件会将这些文物加载并用"OpenCode"注册——绝对不会相反.

  • 提取 + 过滤器 示范条目(编号、名称、推理、, inputModalities,限制)从精细化的CLI捆绑(src/catalog.ts,然后与提供者API报告的可调用身份证相交.
  • 元数据+费用合并 ——供应商上下文长度只收紧倒叙上下文限制,而 supported_endpoints 选择信件,聊天补全,或按此偏好顺序对每个模型进行回复;缺失的端点元数据保留了最后已知的路由数据. 模特们 dev贡献发布日期,家庭,输入限制,状态,模式,以及存在时的成本等级. 二级行只有在其基准价格符合此命令代码目录时才被接受. 基本成本使用CLI捆绑 → 官方指令代码 docs → 免费 SKUs ($0页:1 模式.dev 参考价格 = 未匹配的占位符。 凡有未相比之事,都标出目录 degraded。它只在同步时间运行;运行时间从不获取元数据或价格.
  • 艺术品 —— 说 models.json (目录), _version.txt (上游版本), manifest.json (计算,每源成本统计, healthy编号 :degraded编号 :broken 页:1.
  • 特定版本的登记 - V1采用 plugin 配置密钥, 直接 AI SDK 软件包 server() 提供者地图, 及其认证回调 。 V2 用途 plugins,OpenCode的本地提供者运行时间,提供者/模型转换,以及 a commandcode 与关键和 COMMANDCODE_API_KEY 环境方法。 两者都保留了"指挥码"的线条型号ID. V2 曝光分级上下文定价; V1 发布其支持的 context_over_200k 字段,并保持其他层级的平价.
  • 退化/缓存 a 包括: degraded编号 :broken 显示已退化的旗帜有原因; 无法读取的捆绑 models.json 返回到最后的好缓存; 即使有一个空目录, 认证/连接仍然会注册 .

快速启动

1. 安装插件

打开代码 V2:

{
  "plugins": ["@brainervirus/opencode-commandcode"]
}

打开代码 V1 :

{
  "plugin": ["@brainervirus/opencode-commandcode"]
}

赤色包名没有被固定 解决 npm 的 latest openCode 安装或更新时释放; 添加 @latest 这是不必要的。 OpenCode V2 在启动时检查更新, 但保留已有的缓存包 。 应用带有 OpenCode 插件更新动作的更新的软件包,然后重新启动以加载. OpenCode V1 可以刷新全局软件包 opencode plugin @brainervirus/opencode-commandcode --global --force。 。 。 .

file:// 报到是 没有 由 npm 更新; git pull 在 CI 输入后, 或者切换到 npm 插件行 .

2. 不需要供应商块

在 OpenCode V2 上,插件注册 commandcode 提供者,其模型,原生OpenCode运行时间,及其API基础URL通过V2提供者API. 在V1上 server 钩子填充 provider.commandcode 默认- npm: "@ai-sdk/openai-compatible" 加提供方 API baseURL; 插件包本身绝不是 SDK npm 字段。 仅在需要非默认运输选项时添加手动提供者条目 .

3. 连接

设定 COMMANDCODE_API_KEY,或交互连接。 OpenCode V1 提供 命令代码 结束 /connect; OpenCode V2 登记关键和环境方法 /connect 财务报告和审定财务报表 opencode auth login commandcode. V2使用OpenCode的自动提供者活化并保留了明确的活化设置. 在运行一个模型之前连接; 断开时明确运行仍然返回 API 的授权错误 .

4. 选择一种模式

/models

新 npm 释放中的 Catalog 补丁舰. OpenCode在其包缓存中加载该版本;在新目录出现之前必须通过主机应用更新. 如果在宣布同步后丢失了新模型,请检查已安装的软件包版本,应用更新,并重新启动 OpenCode.

插件配置文件

可选的, ~/.config/opencode/opencode-commandcode.json (遗产倒置名称) commandcode-go-opencode-provider.json 仍为载. 未知的密钥被忽略; 每个字段都有默认值, 一个无效的字段在不丢弃有效字段的情况下自行倒回( 无效) zdr 值保持 ZDR 上 .

密钥默认效果
commandCodePackagePath""维护者覆盖: 从本地目录取出 command-code 取出而不是捆绑。 与掩体相同 COMMANDCODE_PACKAGE_PATH。 。 。 .
debugStartupLogsfalse同时将启动摘要镜像为 stderr. 默认为安静( E)startup.json 页:1.
disableModelSyncfalse接受转发兼容性;目前没有效果.
zdrfalse发送 x-cmd-zdr: 1 ,每个提供方API请求(零数据保留)。 与掩体相同 CMD_ZDR=1。当前但无效的值(例如字符串) "true")数为上.

零数据保留(津巴布韦)

命令代码执行 零数据保留 与 x-cmd-zdr: 1 请求头; CLI 显示的选项与 CMD_ZDR=1。此插件从未引用过 CLI,所以 设置 :

  • 环境 CMD_ZDR=1 联合国 1, (中文(简体) ), true, (中文(简体) ), yes, (中文(简体) ), on; 对大小写不敏感),或
  • "zdr": true 内 ~/.config/opencode/opencode-commandcode.json。 。 。 .

插件然后将信头添加到每个命令代码提供者 API(/provider/v1/*请求: V2 在 commandcode 提供方, V1 在提供方上 options.headers您配置的 ZDR 头 (单位:千美元)providers.commandcode.headers 关于 V2, provider.commandcode.options.headers 在 V1 上战胜插件的值. 标题名称对大小写不敏感,插件会崩溃任意拼写(X-Cmd-Zdr)变成一个小写 x-cmd-zdr 键,所以请求中从未包含两个ZDR头. 自定义 npm 传输继续拥有自己的选项.

期望从 API 中实现的行为: 设定时, 仅请求通过 ZDR 的可上游路径, 和一个没有 的模型 失败 422 cmd_zdr_no_providers 而不是回到一个非ZDR供应商。 ZDR可以改变哪个上游 满足请求,所以成本可能更高。 信头被发送到聊天补全、信件和回复路线上; 到目前为止,现场核查只涵盖聊天完成.

方案型SDK工厂createCommandCode(电话) /alpha/generate,ZDR文档没有涵盖, 因此无法关闭 : 已请求 ZDR (CMD_ZDR 或一个 x-cmd-zdr: 1 任何外壳的头部, languageModel() 在任何请求发出前抛出。 明确 x-cmd-zdr: 0 页眉选择 SDK 退出 CMD_ZDR。 。 。 .

与提供商API进行现场核查 tests/integration/zdr.integration.test.ts 被跳过,除非 COMMANDCODE_API_KEY 设置为:

COMMANDCODE_API_KEY=... bun run test:integration

可选本地 CLI 覆盖

只有维护者。 OpenCode 将刮出本地代码 command-code 安装时间 COMMANDCODE_PACKAGE_PATH 或者说 commandCodePackagePath 内 ~/.config/opencode/opencode-commandcode.json 已经设定.

报告问题

打开 a 错误报告 用于安装、 认证、 目录或模型调用失败 —— 包括失败的模型 ID、 准确错误、 以及您的插件和 OpenCode 版本 .

此寄存器不接受目录, “ 很棒的列表 ” , 插件- 市场 , 或 外联 。 为此开始的问题无需审查即可结案.

发展

git clone https://github.com/BrainerVirus/opencode-commandcode.git
cd opencode-commandcode
bun install
bun run check            # oxlint + oxfmt --check + bun test tests/unit/ + tsc (the release gate)
bun run sync -- --remote  # refresh models.json + manifest.json + _version.txt from command-code@latest
bun run build             # bundle src/entry.ts to dist/plugin.js
bun test tests/unit/      # unit suite (also via bun run test)
bun run test:integration  # live-endpoint tests, not part of the gate
bun run verify:release-candidate  # dry-run pack; manifest and package versions must match
bun run generate-readme   # reports catalog counts only; README is hand-edited
bun run catalog:ci        # entry used by the catalog-sync workflow

入口点 : plugin.ts 拥有两个配置表面( V2) id编号 :setup 加上V1 server(三); index.ts 再导出插件加插件 createCommandCode SDK工厂; src/entry.ts 是捆绑胶水的 scripts/build-plugin.ts 只是,它产生 dist/plugin.js。 。 。 .

CI (中文(简体) ).github/workflows/catalog-sync.yml每6小时检查一次CLI目录的修改和提供者的可用性/端点元数据的变化;它打开一个 fix(catalog) 只在生成文件更改时 PR 。 如果提取失败或模型计数安全底板被突破,则打开一个 catalog-break 并保存完好的文件。 公关自动出现之后 检查(测试), (中文(简体) ), 检查( 类型检查), (中文(简体) ), 检查(lint), (中文(简体) ), 检查(格式),以及 检查(包装) 绿色的. .github/workflows/release.yml 然后运行 语义释放 (建设+已核实npm发布+GitHub发布+标签). 别推 main。 。 。 .

GitHub 动作的秘密名称是 NPMJS它被映射到两个地方 NPM_TOKEN 财务报告和审定财务报表 NODE_AUTH_TOKEN选项 自动化 符 (通过 2FA ). 登录符号来自 ~/.npmrc 无法使用 CI EOTP. Catalog PRs 获得真正的 CI 运行当 RELEASE_SYNC_TOKEN 是一个PAT; GITHUB_TOKEN 可以打开 PR 但 GitHub 将不会从该事件开始工作流程 .

许可证

麻省理工学院——见 自由主义。原始版权 布伦特·韦瑟尔。 。 。 .

版本与发布记录

@brainervirus/opencode-commandcode 共发布 148 个版本,首次发布于 2026/08/29;过去 12 个月发布了 148 个版本。

版本发布日期距今
0.12.26latest2026/11/071 天前
0.12.252026/11/062 天前
0.12.242026/11/053 天前
0.12.232026/11/053 天前
0.12.222026/11/053 天前
0.12.212026/10/318 天前

关于 @brainervirus/opencode-commandcode 的常见问题

@brainervirus/opencode-commandcode 是什么?

开放代码的指令代码 API 提供者 — 通过命令代码使用 Claude, GPT, 双子座, DeepSeek, Quen, Kimi, GLM, MiniMax, 以及 Step 模型

如何安装 @brainervirus/opencode-commandcode?

在项目目录运行 npm install @brainervirus/opencode-commandcode,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:ai(>=6.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@brainervirus/opencode-commandcode 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@brainervirus/opencode-commandcode 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@brainervirus/opencode-commandcode 可以商用吗?

@brainervirus/opencode-commandcode 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@brainervirus/opencode-commandcode 的下载量有多少?

根据 npm 官方下载统计,@brainervirus/opencode-commandcode 在 2026/10/09 – 2026/11/07 这 30 天内被下载 8,034 次,日均约 268 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@brainervirus/opencode-commandcode 还在维护吗?

最新版本 0.12.26 发布于 2026/11/07(1 天前);至今共发布 148 个版本,其中过去 12 个月发布了 148 个;首次发布于 2026/08/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。