OpenCode,外加一整块画布
需要多少个 OpenCode 会话就运行多少个,每个都在自己的卡片里,配有真实终端。一个小小的 NeuroSquad 插件报告 OpenCode 正在做什么,所以卡片知道它何时在工作、在提问或已完成;箭头则为它连接浏览器、终端、笔记和其他智能体。
官方网站opencode.ai- 真实的
opencodeCLI,用你自己的提供商 - 不写入
~/.config/opencode - Zen 免费模型无需密钥
它知道 OpenCode 何时完成——以及何时在提问
OpenCode 用光标定位绘制界面,读取终端只能靠猜。因此每张卡片都会加载一个 NeuroSquad 插件,转发 OpenCode 关于主会话的原生事件。
session.status: busy插件事件主会话进入 busy。卡片图标开始旋转,“团队状态”卡片把它算作工作中。子智能体的会话不算作一轮。
permission.asked插件事件OpenCode 请求权限或向你提问。通知以它开头——“bash — rm -rf dist”。被 --auto 在 700 毫秒内自动批准的请求根本不会上报。
session.status: idle插件事件主会话进入 idle:这一轮结束了。队列里的下一条提示词发出,回答写入工作日志,通知告诉你已完成。
通知里是它自己的话
权限请求显示为工具及其命令、路径或 URL;提问则显示问题本身。
处处同一个状态
卡片、侧边栏、“团队状态”卡片、自定义卡片和手机读取的都是同一个状态。
所有卡片共用一个插件文件
插件放在 NeuroSquad 自己的数据文件夹里,由卡片配置通过 URL 加载。你自己的插件照常运行。
你每天都会做的三件事
应用界面的复刻,一步步演示。当 OpenCode 请求权限时,由你来决定。
OpenCode 在连接的终端里修好失败的测试,删除文件夹前先征求同意,然后进入 idle——工作日志自动写好。
OpenCode 在 NeuroSquad 中的全部能力
OpenCode 的支持与 Claude Code 同一级别:精确状态、箭头、卡片模式、可继续的会话。它做不到的,也都列在这里。
- 01
清楚自己的状态
NeuroSquad 插件转发 OpenCode 的原生事件,不靠安静的终端去猜。
“已完成”和“在等你”是两回事
插件报告主会话的
文档: “已完成”和“在等你”是两回事session.statusbusy 与 idle,以及permission.asked/question.asked。回答请求后卡片回到工作中。通知说清楚它需要什么
通知以 OpenCode 的请求开头——
文档: 通知说清楚它需要什么OpenCode needs your permission: bash — rm -rf dist或OpenCode is asking: …。点击即可飞到该卡片。
- 02
通过画布工作
从卡片引出的箭头就是一组工具。画上它,OpenCode 在下一轮就能看到——无需重启。
箭头即工具,即时生效
画一条箭头连到浏览器、终端、笔记或另一个智能体,OpenCode 就获得
文档: 箭头即工具,即时生效neurosquad_browser_*、terminal_*、note_*或agent_*。OpenCode 会重新读取工具列表,新箭头在下一轮即可使用。来自注册表的 MCP 服务器
你安装的服务器通过第二个服务器
文档: 来自注册表的 MCP 服务器ns-connected提供给 OpenCode,其工具设为“询问”——每次调用 OpenCode 都会先确认。来自 skills.sh 的技能
画一条箭头连到技能卡片,OpenCode 无需重启就能获得
文档: 来自 skills.sh 的技能neurosquad_skill_load,附带每个技能及其适用场景。
- 03
为长时间运行而生
上下文、上限和后续工作都在卡片上处理,回答直接从 OpenCode 自己的数据库读取。
- 04
团队协作
多个 OpenCode 智能体——或多种 CLI 混用——在同一个项目上互不干扰。
隔离的 worktree
给智能体一个独立的 git worktree,并行的智能体就不会改到同一批文件。设置命令和要复制的文件会在 OpenCode 启动前把它准备好。
文档: 隔离的 worktree
- 05
模型、费用与控制
它运行在哪个模型上、花了多少、最多能花多少。
OpenRouter 模型
卡片可以通过
文档: OpenRouter 模型--model openrouter/<slug>运行在 OpenRouter 模型上。密钥只进入这张卡片的环境变量,绝不出现在参数或日志中。
- 06
与 Claude Code 的不同
OpenCode 本身不允许的事,以及 NeuroSquad 如何应对。没有任何隐瞒。
无法预先指定会话 id
OpenCode 自己生成
文档: 无法预先指定会话 idses_…形式的 id,不能用你指定的 id 开始会话。所以卡片在第一轮从插件得知 id;从未运行过一轮的卡片会从头开始。用 Escape 中断,而不是 Ctrl+C
在 OpenCode 的空输入框里按 Ctrl+C 会退出程序。所以预算刹车改为连按两次 Escape——本轮停止,OpenCode 保持打开。
文档: 用 Escape 中断,而不是 Ctrl+CZen 免费额度可能拒绝
Zen 有时会对免费模型返回 403 “free tier can only be used from within OpenCode”。这是他们的限流,不是卡片配置的问题——换个模型即可。
文档: Zen 免费额度可能拒绝在 Windows 上稳定运行
以前的说明称 OpenCode 会在 Windows 终端中崩溃。在 1.18.32 上连续使用一小时——五张卡片、子智能体、连续 60 次调整大小、多次重启——一次也没有崩溃。
文档: 在 Windows 上稳定运行
谁在等你,花了多少
同时运行多个 OpenCode 会话时,这两张卡片回答你最常问的问题。
“团队状态”卡片
工作区里每个智能体的状态、模型和本轮用时。在等你的排在最前面,并显示它在问什么。点击状态即可筛选。
coupon-fixOpenCodebig-pickleOpenCode needs your permission: bash — rm -rf dist等你处理2:34
refundsOpenCodeclaude-sonnet-4.5把退款迁移到新客户端工作中11:07
refund-testsOpenCodebig-pickle编写退款测试工作中5:25
docs-passOpenCodeqwen3-coder更新 README已完成3分钟前
用量与费用
从你磁盘上 OpenCode 自己的数据库读取,并按其插件报告的会话匹配到卡片。各行之和始终等于总计。
| 智能体 | 令牌 | 费用 | ||
|---|---|---|---|---|
| refunds | 912,466 | US$2.41 | ||
| docs-pass | 204,318 | US$0.19 | ||
| coupon-fix | 583,902 | US$0.00 | ||
| 总计 | 79 | 1,700,686 | US$2.60 |
真实的 OpenCode,外加一个配置文件
NeuroSquad 启动的就是你自己运行的那个 OpenCode,在卡片里的真实终端中。它添加的全部内容如下:
不写入 ~/.config/opencode
配置是 NeuroSquad 数据文件夹里每张卡片独立的文件,由 OPENCODE_CONFIG 指定。你的全局和项目配置照常生效。
文件里没有密钥
MCP 令牌写作 {env:NEUROSQUAD_MCP_TOKEN};OpenCode 从卡片的环境变量中填入。
装在哪里都能找到
优先使用真实的 opencode.exe;如果是 npm 的 opencode.cmd,则直接启动它包装的那个 exe,停止卡片就会停止 OpenCode。
关于 NeuroSquad 中的 OpenCode
给 OpenCode 一块画布
Windows 10 和 11 免费使用。你的代码、你的提供商和你的费用都留在你的电脑上。