🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Pi 引擎接入 Micheleww/dsh-pi-agent

DeepSeek Harness
Micheleww70 天前有提交已提供中文文档扫描:含敏感能力

把 Pi 编码代理接入 DSH,前端照常使用

27.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Micheleww/dsh-pi-agent
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · dev
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 70 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 5 处,展示前 5 条)
  • 写入本地文件
    src/history.ts:259
    mkdirSync(dirname(filePath), { recursive: true })
  • 写入本地文件
    src/history.ts:260
    writeFileSync(filePath, `${lines.join('\n')}\n`)
  • 写入本地文件
    src/index.ts:68
    appendFileSync('/tmp/dsh-pi-agent.log', `${new Date().toISOString()} ${line}\n`)
  • 执行外部命令来自配置/变量
    src/rpc-client.ts:77
    this.proc = spawn(piPath, args, {
  • 执行外部命令来自配置/变量
    src/subagent.ts:157
    const child = spawn(this.config.piPath, args, {
扫描于 2026/10/31(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-session@deepseek-ai/dsh-subagent
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 接入Pi编码智能体
  • 驱动无头RPC进程
  • 前端无需改动

在 DeepSeek Harness(DSH)里跑 Pi 编码智能体循环:一个 DSH 智能体插件,驱动无头 pi --mode rpc 进程,让 Web 前端无需改动照常工作。

README

由 DeepSeek 最新模型翻译生成
dsh-pi-agent 把 Pi coding agent(npm 包 @earendil-works/pi-coding-agent)作为 agent loop 跑在 DeepSeek Harness(npm 包 @deepseek-ai/dsh)里:一个 DSH Agent 插件,驱动无头模式的 pi --mode rpc 子进程,DSH 前端(会话日志、hooks、preset、Web UI)无需任何改动即可使用。 在找以下任何一个? - “怎么在 DeepSeek Harness / DSH 里用 pi?” —— 来对地方了。 - “把 DSH 的 agent-loop 换成 pi coding agent 的 loop?” —— 本插件用 pi --mode rpc 子进程替换工厂。 - “给 pi 配一个 Web UI / 浏览器前端?” —— dsh-pi-agent + 官方 DSH web app 给 pi 完整的 Web 界面:会话持久化、hooks、preset、模型切换。 - “在 DSH 里用极简纯净的提示词?” —— pi 引擎保持 ~300 token 系统提示词和四工具,DSH 的提示词组装永远到不了模型面前。零提示词注入。 - “DSH 里能不能像接 Claude Code / Codex 那样接 pi?
展开完整文档(README 剩余 1 节)
dsh-pi-agent

把 Pi coding agent(npm 包 @earendil-works/pi-coding-agent)作为 agent loop 跑在 DeepSeek Harness(npm 包 @deepseek-ai/dsh)里:一个 DSH Agent 插件,驱动无头模式的 pi --mode rpc 子进程,DSH 前端(会话日志、hooks、preset、Web UI)无需任何改动即可使用。

在找以下任何一个?
- “怎么在 DeepSeek Harness / DSH 里用 pi?” —— 来对地方了。
- “把 DSH 的 agent-loop 换成 pi coding agent 的 loop?” —— 本插件用 pi --mode rpc 子进程替换工厂。
- “给 pi 配一个 Web UI / 浏览器前端?” —— dsh-pi-agent + 官方 DSH web app 给 pi 完整的 Web 界面:会话持久化、hooks、preset、模型切换。
- “在 DSH 里用极简纯净的提示词?” —— pi 引擎保持 ~300 token 系统提示词和四工具,DSH 的提示词组装永远到不了模型面前。零提示词注入。
- “DSH 里能不能像接 Claude Code / Codex 那样接 pi?” —— 可以,本插件就是把 pi 加为同等的引擎选项。

DSH 前端(会话、hooks、preset、SQLite 持久化、Web UI) │ dsh-pi-agent(本插件:AgentFactory + 事件翻译 + 历史衔接) │ spawn 子进程 + stdio 上的 JSONL 协议 │ 命令:set_model / prompt / steer / abort ▼ pi --mode rpc --session <重建的历史>(原汁原味的 Pi agent loop)

每次 create/resume 时,插件都会从 DSH 的持久化事件日志重建 Pi 会话文件并用 --session 启动子进程——新子进程的上下文窗口里已经装着完整对话,包括切换前在 DSH 原生 loop 下跑的轮次(见中途衔接)。

为什么

Pi 是一个极简 harness:~300 token 的系统提示词、四个工具(read/bash/edit/write)、会话中途零注入。DSH 是一个插件化平台:持久会话、策略、审批链和完整的提示词组装注册表。

本插件让你同时拥有两者:DSH 的工程外壳 + Pi 的纯净内核。插件激活时,模型看到的内容与在同一目录直接运行 pi 完全一致——没有额外的提示词段落、没有额外的工具、没有隐藏的 reminder。DSH 自己的提示词组装(dsh-system-prompt)和工具面在由此工厂驱动的会话中被完全绕过。

它同时是一个干净的 A/B 实验:同一前端、同一会话格式,开关本插件即可对比 DSH 原生 loop 与裸 Pi loop 的表现。

改变与不改变

| 层面 | 行为 |
| 系统提示词 / 工具 / 上下文 | 原封不动——与在同一目录运行 pi 完全一致(AGENTS.md 等上下文文件由 Pi 自行加载) |
| 模型路由 | 每会话 set_model;被委派的 subagent 请求的模型优先于工厂默认值 |
| 转向(steering) | DSH 的 send(..., 'next-turn' \| 'next-step') 映射为 Pi 的 steer——可在运行中途插入指令 |
| 会话持久化 | DSH 的会话事件始终是持久化的唯一事实源;每次 create/resume 都从它重建 Pi 会话文件,子进程启动即带完整历史 |
| 审批 / 权限 | 适用 Pi 的本地信任模型——Pi 的工具调用不经过 DSH 的审批链 |
| 回退 | 禁用本插件条目,DSH 自己的 dsh-agent-loop 立即恢复生效 |

中途衔接

会话不一定要“出生在 Pi 下”才能被 Pi 驱动。如果某个会话已经在 DSH 原生 loop 下跑了几轮(或在一个更早的 Pi 子进程下跑过),通过本插件恢复它就能无缝续接:DSH 的事件日志(user/message、assistant/message、tool/call、tool/result)会被转换成 Pi 会话文件,新子进程用 --session 加载它——完整历史(包括切换前 DSH 原生轮的对话)直接进入上下文窗口。

- DSH 始终是唯一事实源;Pi 文件只是重建的快照,每次 create/resume 重新生成(无漂移、无重复)。
- DSH 消息块原生映射:text → text、reasoning → thinking、tool-call → toolCall(arguments 重新解析)、tool/result → toolResult(工具名从调用日志恢复)。
- 图片块当前跳过(attachment 引用需要运行时附件服务);文本历史足以承载上下文。
- 会话文件落在 ~/.dsh/pi-sessions/<session-id>.jsonl,便于审计。

DSH 标准模式: 第 1 轮 ── 第 2 轮 ── 第 3 轮 (原生 loop) │ 通过本插件 resume ─────────┘ 从 DSH 日志重建 Pi 会话 ▼ Pi 模式: [历史已加载] ── 第 4 轮 ── … (Pi loop,完整上下文)

Subagent 也走 Pi

与主 loop 分离配置:provider 插件是独立的 profile 行,两个引擎可独立开关——主 loop 用 pi + sub 用原生、主 loop 用原生 + sub 用 pi、或两者都用 pi,任意组合。

Subagent 委派走 Pi 引擎(与主 loop 行互不影响):
- insert:
- id: subagent-pi
name: 'dsh-pi-agent/subagent'
config:
providerName: pi
piPath: 'pi' # 默认从 PATH 查找 model: 'provider/model' # 省略则用 pi 自己配置的默认模型 timeoutMs: 600000

- id: tool-subagent
name: '@deepseek-ai/dsh-tool-subagent'
config:
provider: pi # 换回 'spawn'/'fork' 即 DSH 原生子代理 toolName: subagent backgroundMode: one-shot maxDepth: 'provider-managed'

每次委派在父会话的工作目录里 spawn 一个全新的 pi -p <任务>:纯 Pi 系统提示词、自己的工具、自己发现 AGENTS.md。父会话的对话、人格、工具面一概不出进程边界——inheritsParentContext: false,零提示词碰撞。

依赖

- Node.js ≥ 20
- pi(npm i -g @earendil-works/pi-coding-agent)在 PATH 上(或传入 piPath)
- DSH(npm i -g @deepseek-ai/dsh),profile 需暴露 sessions 与 agents 服务(标准前端装配)
- peer 依赖:@deepseek-ai/cordis、@deepseek-ai/dsh-agent、@deepseek-ai/dsh-llm、@deepseek-ai/dsh-scope、@deepseek-ai/dsh-session

安装

在你的 DSH 检出目录内(或 profile patch 可加载的任意位置)
npm install dsh-pi-agent

使用

在 profile patch 层(cordis.patch.yml)挂载:

所有新会话使用 Pi loop。
- insert:
- id: pi-agent
name: 'dsh-pi-agent'
config:
piPath: 'pi' # 或绝对路径 cwd: '/path/to/your/project' # Pi 会话的工作目录 model: 'anthropic/claude-sonnet-4-5' # provider/model 路由 debug: false

回退到 DSH 自有 loop:禁用此条目并重新启用 agent-loop。
- id: pi-agent
disabled: true

配置

| 键 | 类型 | 默认值 | 说明 |
| piPath | string | 'pi' | Pi 可执行文件;从 PATH 解析 |
| cwd | string | process.cwd() | Pi 会话的工作目录 |
| model | string | — | Pi 模型路由(provider/model) |
| debug | boolean | false | 将协议诊断追加到 /tmp/dsh-pi-agent.log |

调试

设置 debug: true(或挂载时传入 logger):每条 RPC 命令、事件、子进程退出和工厂生命周期步骤都会追加到 /tmp/dsh-pi-agent.log。Pi 自身的 stderr 也转发到同一日志。

许可证

MIT
预览分享卡片长什么样 ↓Micheleww/dsh-pi-agent
分享 · DeepSeek Harness Hub
Micheleww/dsh-pi-agent

把 Pi 编码代理接入 DSH,前端照常使用

回到顶部