$ cat ~/map/pi-duo.md
pi-duo
两个持久可恢复的对等 Agent——Austin 前台实现,Tony 后台验证,经由彼此真实的会话上下文协作。
extensions✓ 9月19日
事实速查
- GitHub Stars
- ★ 0
- Forks
- 1
- 许可证
- —
- npm / 月
- —
- 最后推送
- 2026年9月22日
安装
运行 pi install git:github.com/atfa/pi-duo,然后执行 /reload;pi -e git:github.com/atfa/pi-duo 可临时试用一个会话,不写入安装配置。要求 pi 0.85.1 或更高版本。## 速览
一个在同一个项目里运行两个可恢复持久 pi 会话的扩展:Austin 在前台实现,Tony 在后台调查、测试与审查,双方经由彼此真实的会话上下文互发消息,并共享同一份目标、待办与决策记录。
## 要点
- $对等且共享真实上下文:duo_send 把消息写进对方的持久会话,而不是只落到一个 Markdown 文件;两边各自保留独立、可恢复的历史——/duo stop 保留历史,/duo resume 恢复两个会话。
- $项目内共享工作面:目标、待办、决策、消息审计与 workspace ownership 持久化在项目的 .pi-duo/ 目录下,README 建议把它加进 gitignore。
- $默认单写者:austin-only 模式下只有 Austin 修改项目文件,Tony 只做只读的分析与测试;transferable 模式允许双方显式交接 workspace ownership。
- $循环保护:总消息预算、连续 peer-only 轮次限制、相似消息抑制,以及关键消息的 deferred 投递槽,防止两个代理无限互聊。
- $并发安全:revision 计数、原子重命名、跨进程锁与 stale-lock 恢复守护共享状态;pi-duo 不是操作系统级沙箱,beta 阶段 README 建议在 Git 仓库或一次性分支中使用。
- $模型组合可选:两个角色可以共用一个模型,也可以用不同的 provider 或模型,只要当前 pi 配置能同时访问;pi-duo 不内置任何 API Key。
## 常见问题
Q Tony 只是个子代理吗?
不是。常规子代理调用返回一段结果后上下文就消失了;Austin 和 Tony 都是独立、可恢复的 pi 会话,对等消息写进对方会话的真实上下文并留在那里。
Q 谁在写我的项目文件?
默认只有 Austin:austin-only 模式固定 Austin 为写入者,Tony 的后台工作只做只读的分析与测试。transferable 模式允许双方显式交接 workspace ownership。
Q 它怎么防止两个代理无限互聊?
靠循环保护收口:总消息预算、连续 peer-only 轮次限制、相似消息抑制,以及关键消息的 deferred 投递槽。
## 参考链接
## 相关条目
## 教程
最后更新: 2026年9月19日