mcpField
C
consult-opencode

consult-opencode

本地服务
github.com/jayden99236AI 与智能体08 周前更新

关于 consult-opencode

consult-opencode 提供 MCP 服务和命令行工具,可将独立任务交给 opencode 模型处理,并返回一次性子 Agent 的结果。它同时适用于聊天客户端和基于 shell 的工作流。

主要功能

  1. 01委派一次性任务给 opencode
  2. 02提供 consult_opencode 工具
  3. 03提供无依赖命令行工具
  4. 04通过标准输入接收任务
  5. 05选择模型并输出 JSON

适用场景

  1. 01总结源代码文件
  2. 02编写正则表达式
  3. 03生成样板测试
  4. 04就任务征求第二意见

MCP 相关

MCP 服务向兼容客户端提供 consult_opencode 工具。它接收任务和可选模型,并以文本返回子 Agent 的结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbconsult-opencode.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

consult-opencode

MCP 注册表

通过任何能够运行 shell 命令的编码 Agent(或人类),将独立任务委派给 opencode,作为一次性子 Agent;也可以更直接地通过 MCP,直接在 AI 聊天客户端中调用。

该项目已列入官方 MCP 注册表,条目为 io.github.jayden99236/consult-opencode。每个 release 都附带一个可供 Claude Desktop 和其他兼容 MCPB 的客户端一键安装的 .mcpb 包。

演示

consult-opencode 演示

原因

如果你通过会话使用昂贵的主要编码 Agent(Claude、GPT 等),把它的一个回合花在简短且独立的任务上往往很浪费,比如总结文件、起草正则表达式、编写样板测试或征求第二意见。opencode 在 opencode/ 提供商命名空间下自带免费套餐模型,无需配置,也不需要 API 密钥。本项目提供两种方式来使用它:

  • MCP 服务(mcp-server.mjs)——最简单的方式。只需在 AI 聊天客户端的配置中添加一次,模型就会获得原生的 consult_opencode 工具,无需执行 shell 命令。请参阅下文的直接集成。
  • CLI 脚本(consult-opencode.mjs)——零依赖,适用于只能运行 shell 命令的 Agent/脚本,也可以在终端中自行调用。

两者都使用 lib.mjs 中的相同核心逻辑。

要求

  • Node.js >= 18
  • 已安装 opencode,且位于你的 PATH 中:
    npm install -g opencode-ai
    

CLI 脚本本身(consult-opencode.mjs + lib.mjs)除了 Node 内置模块之外没有其他依赖。MCP 服务还需要 @modelcontextprotocol/sdk 和 zod——在本项目中运行 npm install 即可安装(见下文)。

直接集成(MCP 服务)

MCP 是为 AI 聊天客户端提供原生工具的标准方式,无需让它调用 shell 命令。配置完成后,模型就能看到并直接调用 consult_opencode 工具。

git clone https://github.com/jayden99236/consult-opencode.git
cd consult-opencode
npm install
Claude Desktop

将以下内容添加到你的 claude_desktop_config.json 中(在此查找文件):

{
  "mcpServers": {
    "consult-opencode": {
      "command": "node",
      "args": ["/absolute/path/to/consult-opencode/mcp-server.mjs"]
    }
  }
}

重启 Claude Desktop 后,consult_opencode 就会显示为可用工具。

Claude Code
claude mcp add consult-opencode -- node /absolute/path/to/consult-opencode/mcp-server.mjs

或者,直接使用上文所示的 mcpServers 块将其添加到项目的 .mcp.json 中。

其他 MCP 客户端(Cursor、Windsurf 等)

任何兼容 MCP 的客户端都使用相同的配置格式:命令(node)和参数(mcp-server.mjs 的绝对路径),并配置为 stdio 服务。请查阅客户端文档,了解配置文件的位置——上文的 mcpServers 条目可以直接通用。

该工具接受必填的 task 和可选的 model(默认为 opencode/big-pickle,即 opencode 的免费套餐模型),并以文本形式返回子 Agent 的响应。

CLI 用法

node consult-opencode.mjs "Summarize what this function does: ..."

也可以全局安装,以使用 consult-opencode 命令:

npm install -g .
consult-opencode "Write a regex for US zip codes"

也可以通过管道传入任务,而不是将其作为参数传递:

cat some-file.js | consult-opencode "Explain what this file does"
选项
标志描述
--model <provider/model>要使用的模型(默认:opencode/big-pickle,即 opencode 的免费套餐模型)。在 opencode 中验证其他提供商身份后(opencode providers login),可以将此参数指向该提供商,例如 --model anthropic/claude-haiku-4-5。
--json以 JSON 格式打印 { model, text, cost },而非纯文本。
-h、--help显示用法。
来自另一个 Agent

大多数编码 Agent 只需将其作为 shell 命令运行,并读取其标准输出:

node /path/to/consult-opencode.mjs "task description here"

失败时,退出码为非零,错误信息写入标准错误;标准输出仅包含结果文本(或使用 --json 时的 JSON 数据块),因此可以在脚本和管道中顺畅组合。

此脚本解决的 Windows 问题

据观察,opencode 的 Windows 编译版二进制文件(opencode.exe)在标准输出为匿名管道时会无限期挂起——而 Node 的 child_process 在捕获子进程输出时,默认正是如此。直接启动 .exe 和通过 shell 启动的两种方式都稳定复现了此问题(6/6 次运行)。

解决方法:将子进程的标准输出和标准错误重定向到磁盘上的真实临时文件,然后等进程退出后再读取文件,而不是使用管道。这种方法在 Windows 上可靠,在其他平台上也不会造成影响,因此 consult-opencode 无论运行在哪种操作系统上,始终都采用这种方式。

如果你在自己的 Node 工具中集成 opencode 时遇到进程挂起且没有任何输出的情况,几乎可以肯定原因就在这里。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。