← 返回集成
Pi

集成指南

已支持

Pi + OpenPets

通过 @open-pets/pi 扩展包将 Pi 连接到 OpenPets,支持自动安全反应、手动 slash 命令,并且不转发任何 prompt 或工具输出。

这个集成做什么

Pi 集成是一个扩展包,而不是 MCP 配置。它在 Pi 内部加载,直接监听 Pi 的 会话和工具事件,并通过 @open-pets/client 将一小组安全反应转 发到正在运行的 OpenPets 桌面应用。

组成部分作用意义
Pi 扩展 订阅 Pi 的会话、代理和工具事件。 当 Pi 思考、编辑、执行命令、成功或出错时,宠物会自动作出反应。
OpenPets IPC 客户端 通过本地 IPC 发送反应和简短的状态消息。 运行完全本地化。Pi 永远不需要远程服务来控制宠物。
/openpets 命令 添加 statustestreactsay 子命令。 用户可以在 Pi 内验证连接并触发手动反应。

运行时控制是尽力而为的。如果 OpenPets 桌面应用关闭,Pi 会继续正常工作;扩展 会安静地跳过宠物更新,直到桌面应用再次可达。

安装

保持 OpenPets 桌面应用运行,然后使用 Pi 安装扩展包。可以选择对当前机器进行 全局安装,或对单个仓库进行项目本地安装。

全局安装bash
pi install npm:@open-pets/pi
项目本地安装bash
pi install -l npm:@open-pets/pi

全局安装会写入 Pi 的全局包设置。项目本地安装会写入 .pi/settings.json,适合需要让仓库显式携带 OpenPets 行为的场景。 修改包设置后,请重新加载或重启 Pi,以便新扩展生效。

Slash 命令

扩展只注册一个面向用户的命令命名空间,让你无需添加额外的 Pi 工具就能测试 和控制集成。这些命令都不会转发 prompt 或工具输出。

命令用途
/openpets status检查 OpenPets 桌面应用是否可达,以及当前目标宠物。
/openpets test发送一个简短的测试反应和挥手消息。
/openpets react <reaction>手动设置安全反应,例如 thinkingtestingsuccesserror
/openpets say <message>显示一条经过校验的简短气泡消息。
/openpets help在 Pi 内打印可用的子命令列表。

say 的输入会经过与桌面应用相同的 OpenPets 校验器:简短、单 行、面向用户,绝不能包含代码、日志、路径、URL、prompt 或密钥。

自动事件反应

扩展会把 Pi 的生命周期事件映射为宠物反应,无需模型主动调用工具。大多数事件 只更新反应、不说话;只有出错时可能发送一条固定的安全消息。

Pi 事件条件反应语音
session_startPi 启动、恢复或重新加载。waving默认无。
agent_start代理循环开始。thinking无。
turn_start新的对话回合开始。working无。
tool_execution_start工具像 edit/write/patch/apply。editing无。
tool_execution_start工具或 shell 命令像测试。testing无。
tool_execution_start非测试的 shell/bash 命令。running无。
tool_execution_start其它工具。working无。
tool_execution_endisError 为 true。error固定错误池消息,已限频。
agent_end代理循环结束,且最近未发生工具错误。success无。
session_shutdownPi 退出、重新加载、切换或 fork。idle无。

扩展只会读取有限的工具名和命令片段用于分类反应。它不会把原始命令、输出、 prompt 或文件路径写入语音气泡。与 OpenPets 相关的命令会被忽略,避免宠物自 触发循环。

安全与行为

Pi 扩展遵循与 Claude Code、OpenCode 和 MCP 服务器相同的安全模型。它的目标 只是提供环境状态显示。

保护行为
不转发对话内容自动事件绝不会发送 prompt、助手文本、工具输入、工具输出、文件内容、URL、路径或密钥。
校验手动语音/openpets say 会拒绝多行、过长、像代码、像 URL/路径或像密钥的文本。
尽力而为的运行时OpenPets 故障绝不会阻塞 Pi 的模型调用或工具执行。
MVP 不注册 Pi 工具扩展只注册一个用户 slash 命令,不暴露模型可调用的 Pi 工具。
包信任边界Pi 扩展以本地系统权限运行,请只安装你信任的包。
自触发防护与 OpenPets 相关的工具调用会被事件映射器忽略。

宠物路由

默认情况下,自动反应和手动命令都指向桌面默认宠物。每扩展级别的显式宠物路由 会留到后续 Pi 子阶段,让当前的运行时契约保持简洁。

运行路径text
Pi
  -> @open-pets/pi 扩展
  -> @open-pets/client
  -> OpenPets 桌面本地 IPC
  -> 默认宠物

故障排查

宠物没有反应

  • 确认 OpenPets 桌面应用正在运行。
  • 在 Pi 中运行 /openpets status
  • 安装或移除包之后重新加载或重启 Pi。
  • 记住:大多数自动事件是纯反应,本来就是静默的。

移除扩展包

移除全局安装bash
pi remove npm:@open-pets/pi

对项目本地安装,请在原始安装的项目目录下运行 remove 命令,并遵循 Pi 的项 目设置行为。

状态

@open-pets/pi 包已发布到 npm,并遵循与其他 OpenPets 集成相同的 安全模型。当前版本基于 @earendil-works/pi-coding-agent 的 Pi 包 API 构建;请按你日常更新 Pi 的方式来固定或升级它。

Alvin 制作