$ cat ~/map/dsh-pi-agent.md
dsh-pi-agent
DeepSeek Harness (DSH) 的 AgentFactory 插件——把 DSH 原生 agent 循环换成无头 pi --mode rpc 子进程,让 DSH 的 Web UI、会话、hooks 与 presets 全部保留,但模型看到的只有 pi 约 300 token 的系统提示与四个工具。
extensions✓ 10月16日
事实速查
- GitHub Stars
- ★ 2
- Forks
- 0
- 许可证
- MIT
- npm / 月
- —
- 最后推送
- 2026年8月23日
安装
npm install dsh-pi-agent## 速览
DeepSeek Harness(DSH)插件:把 DSH 的 agent 循环换成无头 pi --mode rpc 子进程——DSH 的 Web UI、会话日志、hooks 与 presets 原样保留,模型看到的只有 pi 的极简系统提示与四个工具。
## 要点
- $在 DSH 上注册 AgentFactory,派生一个经 stdio 以 JSONL 通信的无头 pi --mode rpc 子进程,支持 set_model / prompt / steer / abort 命令——DSH 前端(会话日志、hooks、presets、Web UI)无需任何改动。
- $模型看到的内容与在同一目录直接运行 pi 完全一致:pi 保留约 300 token 的系统提示与四个工具(read/bash/edit/write),这些会话完全绕过 DSH 自己的提示拼装与工具面。
- $会话中途交接:每次 create/resume 都从 DSH 的持久事件日志重建 pi 会话文件,子进程带着完整对话历史上路——包括切换前跑在 DSH 原生循环下的轮次;重建文件落在 ~/.dsh/pi-sessions/<session-id>.jsonl 供审计。图片块目前会被跳过。
- $转向:DSH 的 send(..., 'next-turn' | 'next-step') 映射为 pi 的 steer,在运行中途注入指令;委派子代理指定的模型优先于工厂默认值。
- $子代理独立成一行配置:每次委派在父会话工作目录派生全新的 pi -p <task>,自行做 AGENTS.md 发现,inheritsParentContext: false——父会话的对话、人设与工具面零串扰。
- $要求 Node.js ≥ 20、PATH 上有 pi(或用 piPath 指定)、DSH 提供 sessions 与 agents 服务的 profile。配置项:piPath、cwd、model、debug(协议诊断追加到 /tmp/dsh-pi-agent.log)。
## 常见问题
Q pi 的工具调用会经过 DSH 的审批链吗?
不会——沿用 pi 的本地信任模型,pi 的工具调用不经过 DSH 的审批链;禁用本插件的条目后,DSH 自己的 dsh-agent-loop 立即恢复生效。
Q 怎么排查问题?
挂载配置里设 debug: true(或挂载 logger)——每条 RPC 命令、事件、子进程退出与工厂生命周期步骤都会追加到 /tmp/dsh-pi-agent.log,pi 自身的 stderr 也转写进同一文件。
## 参考链接
## 相关条目
最后更新: 2026年8月31日