前言¶
DeepSeek Harness (DSH) 支持通过插件扩展能力。官方的 dsh-subagent-codex 插件实现了“真网关”架构,允许本地命令行程序与 DSH 会话直连。dsh-subagent-pi-plus 是基于该架构的移植版本,将直连代理从 Codex 切换为 Pi,使 Pi 成为 DSH 中的第一公民。它通过 Pi RPC 协议提供单次 Pi 子代理提供者和真网关功能,适合需要本地化运行 Pi 会话的场景。
插件介绍¶
该插件由 february2015 维护,是一个开源工作流插件(MIT 许可证)。它 fork 自官方 @deepseek-ai/dsh-subagent-codex 插件,仅修改了直连代理对象为 Pi,保留了完整的“真网关”核心逻辑。
核心功能¶
-
真网关直连
通过本地命令绑定当前 DSH 会话与持久化的 Pi 会话。DSH 不再运行中间模型,仅作为消息透传通道。 -
持续对话:队列 + 直接插入
当 Pi 忙碌时,新消息自动进入队列,按顺序执行。支持通过浮动面板查看、提升(插队)、插入、编辑或删除队列中的消息。 -
实时中间输出
Pi 的执行进度(消息增量、工具调用、状态事件)会以近实时方式显示在 DSH 会话中,默认仅展示不进入模型上下文。 -
状态显示
绑定成功后,会话标题栏显示PI-xxxx徽章(状态点 + 会话 ID 前四位),输入栏显示状态行。未绑定会话保持界面整洁。 -
图片/附件透传
支持直接粘贴或上传图片,原样传递给 Pi。视觉理解能力依赖 TeamAI 技能ocgw-vision,此插件本身不具备视觉理解能力。 -
委派与网关共存
一个 DSH 会话可同时使用模型触发的单次 Pi 委派和用户挂载的网关会话,互不干扰。
安装与启用¶
在安装前,需确保当前机器已安装并配置好 pi 命令行工具(包括登录和模型设置)。
1. 安装插件¶
使用 DSH 插件管理命令添加本地路径:
dsh plugin --profile <name> add /path/to/dsh-subagent-pi
2. 启动 DSH¶
安装完成后,使用对应的 profile 启动 DSH:
dsh --profile <name>
典型用法¶
- 打开任意 DSH 会话(建议 cwd 为你的项目目录)。
- 输入
/pi-lock。绑定成功后,标题栏会出现PI-xxxx徽章,后续输入的内容将直接发送给 Pi。 - 当 Pi 正在处理消息时,后续输入会自动排队。使用浮动面板查看队列,可手动提升消息优先级或直接插入新内容。
- 输入
/pi-unlock断开连接。Pi 会话数据保留,可通过/pi-lock <piSessionId>指定会话 ID 重新绑定。
注意事项¶
- npm 包名差异:npm 包名
dsh-subagent-pi属于较早的第三方项目,不是此插件。此插件的 npm 包名为dsh-subagent-pi-plus。 - 前置依赖:必须在本地安装并配置
pi工具。 - 绑定限制:一个 Pi 会话只能绑定到一个 DSH 会话。
- 视觉能力:插件不直接具备视觉理解能力,图片透传后由外部技能(如
ocgw-vision)处理。 - 未绑定状态:未绑定会话不会显示任何内容,仅作为普通 DSH 会话运行。
结语¶
该插件为在 DSH 中使用 Pi 提供了标准化的直连方案,解决了远程调用与本地编排之间的割裂问题。若需进一步了解实现细节,可查阅 GitHub 仓库文档。