编码代理联动
Claude Code、Codex CLI、Gemini CLI、Cursor 这样的编码代理在工作时,伙伴会跟着一起有反应。只要复制一段设置粘贴进去就好,不需要 Node.js。
每位伙伴负责一个代理 0.1.0 起
可以为每个代理指定接收状态的伙伴。在设置标签里,每个工具那一行都有负责的伙伴,选好后再点一次复制设置,粘贴进去就行。复制出来的设置里写着那位伙伴(--pet),所以可以分成 Claude Code 由 Clover 负责、Codex 由 Pip 负责这样。不指定时(“未指定 · 由第一位伙伴反应”)由第一位伙伴接收;把负责的伙伴送走后,也会回到第一位伙伴那里。让每位伙伴负责不同的代理,乐园就成了一块显示“现在谁在做什么”的状态板。
乐园里看得到的东西 0.1.0 起
有负责代理的伙伴,名牌上会小小地标出代理的名字(Clover · Claude Code)。伙伴标签里名字下方的小标签上也能看到负责的代理。伙伴头上的小圆点是代理的状态:工作中是闪动的橙色,等待中是蓝色,完成是绿色,出了问题是红色。鼠标悬停上去会显示名字。完成和出问题的圆点 30 分钟后会消失,工作中和等待中会一直留到代理再次通知。伙伴标签里的状态胶囊也是代理的状态——聊天的回答显示在对话窗里。
会发生什么 0.1.0 起
代理的每个步骤会变成伙伴的状态。状态显示在伙伴标签的名字旁边和乐园的名牌上,也会以气泡的形式浮在桌面上的伙伴头顶。
| 代理在做什么 | 伙伴的状态 |
|---|---|
| 正在思考、正在使用工具(例:“正在使用 Bash”) | 工作中 |
| 等待确认或回答 | 等待回答 |
| 完成了任务 | 任务完成 |
| 出了错误 | 出了点问题 |
| 会话结束 | 休息中 |
伙伴最多记住 8 条最近的活动。在聊天里问它“刚才在做什么?”,它就会讲给你听。
复制设置并粘贴 0.1.0 起

- 打开设置标签里的编码代理联动。
- 点你所用工具旁边的复制设置。会有提示告诉你要粘贴到哪个文件。
- 打开那个文件,粘贴并保存。重新启动代理后就立刻接上了。
| 工具 | 粘贴到哪里 | 行为 |
|---|---|---|
| Claude Code(推荐) | ~/.claude/settings.json | 通过钩子(hook)每一步都通知 |
| Codex CLI | ~/.codex/config.toml 的最上面 | 任务结束时通知 |
| Gemini CLI | ~/.gemini/settings.json | 通过钩子每一步都通知 |
| Cursor | ~/.cursor/hooks.json | 通知编辑、命令和完成。只用观察用的钩子 |
| 其他 MCP 工具 | 工具的 MCP 设置 | AI 用 set_pet_state、say、react、list_pets 工具直接发送状态和气泡 |
复制的那段设置里包含 PlayPets 可执行文件的路径。应用的可执行文件本身就是联动命令,所以不用另外安装任何东西。如果把应用移到了别处,请重新复制设置并粘贴。
如果文件里已经有 hooks 或 mcpServers 项,请把这段设置合并进那个项里。
直接在终端里 0.1.0 起
同一个可执行文件也可以在终端里调用,跟伙伴说话。下面的 playpets 指的是应用的可执行文件(macOS 上是 /Applications/PlayPets.app/Contents/MacOS/playpets)。
playpets hook claude|gemini|cursor # 钩子(stdin 传入 JSON,退出码始终为 0;对 Gemini、Cursor 输出 {})
playpets hook codex <json> # Codex notify
playpets mcp # MCP stdio 服务器
playpets status <状态> [消息] [--pet 名字|ID] [--bridge 文件]
playpets say <话>
playpets react <动作>
playpets pets
playpets run -- <命令>常用的例子如下。
| 命令 | 作用 |
|---|---|
playpets pets | 伙伴列表和当前状态 |
playpets say "测试通过" | 不改状态,只显示一个气泡 |
playpets status working "正在构建" | 更改状态。idle、working、waiting、done、error 之一 |
playpets react wave | 做一次反应。wave、jump、pet 之一 |
playpets run -- npm test | 命令运行期间是“工作中”,结束后变成“任务完成”或“出了点问题” |
用 --pet 名字 或 --pet 伙伴ID 指定某位伙伴。不加的话会发给第一位伙伴。伙伴 ID 在伙伴设置窗口的底部。
安全 0.1.0 起
- 联动只在这台电脑内进行。应用会在
127.0.0.1上打开一个随机端口,并对每个请求检查随机令牌。端口和令牌保存在数据文件夹的bridge.json里,每次重新启动应用都会更换。 - 编码代理联动省略用户提示词和工具输入。本地桥接使用
127.0.0.1和令牌认证。简短的完成或通知报告(包括截取的代理回复)可能包含工作细节,并可能随伙伴对话发送给所选 AI 服务。请检查通过终端或 MCP 发送的消息;需要将这些内容留在本机时,使用已下载的本地模型。 - 钩子不会阻塞代理的工作。它会在 3 秒内安静地结束;即使应用没有打开,代理也照常运行。
- 这和聊天用的 AI 连接是分开的。只做了联动,并不等于就能和伙伴聊天。
更详细的结构在开发者文档编码代理联动里。
Windows 上的注意事项
- 如果是用本地构建的试验性 MSIX 包安装的,可执行文件在
WindowsApps下面,无法通过路径调用。这时复制出来的设置会指向执行别名%LOCALAPPDATA%\Microsoft\WindowsApps\playpets.exe。 - 用 npm 安装的
claude、codex必须在%APPDATA%\npm里,应用才能找到。装在别处的话可能无法自动检测。