Speaklna 配合 OpenCode
OpenCode 每轮干完,念一句话告诉你结果;你也可以让它把某段内容念出来。
需要先从 Mac App Store 安装 Speaklna 并打开过一次,还需要 Node.js 18 或更新。
设置
npm install -g speaklna
speaklna setup opencode
也可以不安装:npx -y speaklna setup opencode。更推荐全局安装,这样钩子指向的是固定路径。
setup 会先列出所有改动,问你 y/N。原件会备份一次,叫 <文件>.speaklna-bak。
它会改什么
~/.config/opencode/opencode.json (or opencode.jsonc)加 MCP 服务(mcp.speaklna)和 instructions 里的一项,各自带标记~/.config/opencode/speaklna.md新建一个规则文件,通过上面的 instructions 项加载~/.config/opencode/plugins/speaklna.js新建一个插件,会话空闲时读取最后一条回复
如果你设了 OPENCODE_CONFIG_DIR,上面的文件就在那个目录里。
试一下
新开一个 OpenCode 会话,让它完整做完一轮,随便问个简单的问题就行。你应该会听到类似“OpenCode,myproject:……”的一句话。逗号后面是你运行它的文件夹名。
只想确认 App 和这个包连通了,可以在终端里运行:
speaklna say "你好"
如果模型的回复最后没有 🔊(喇叭 emoji)那一行,就不会念。新开一个会话,让它读到规矩。
让它念点东西
setup 同时也给 OpenCode 接上了 Speaklna 的工具。直接说就行,比如:
把上面的总结念给我听。
OpenCode 会调用 speak 工具,由 Speaklna 用你选的音色念出来。这和自动报告是两回事。随时按 ⌥S 停止,也可以说“别念了”。
要注意
- setup 不会新建 AGENTS.md,否则 OpenCode 就不再读你的 ~/.claude/CLAUDE.md 了。规矩是通过 instructions 列表加进去的。
- 子会话的回复不念,只念主会话。
- 报告会排队,同一会话只留最新一句;别的 App 占着麦克风时 AI 不出声;⌥T 和 ⌥S 永远优先。详细说明。
卸载
speaklna uninstall opencode
它会先列出要从 OpenCode 里删掉的内容,问过你再删。只删 setup 加的东西。