让编码代理跨轮次持续干活,直到你说停
30.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add DDDFXYqiming/pi-persistent该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 跨轮次持续执行任务
- 自主寻找后续任务
- 写入限制在工作区内
README
由 DeepSeek 最新模型翻译生成pi-persistent
pi-persistent 为 Pi Coding Agent 增加可选的常驻任务模式。执行 /persistent 后,Pi 可以跨越 settled 边界继续工作,记录检查点并安排下一次检查。执行 /sleep,或任务需要模型无法取得的用户输入与授权时,模式才会结束。
续派和持久化参考了 @narumitw/pi-goal(MIT)的实现方式,行为也按 OpenAI Codex 公开描述的 persistent mode 组织。插件要求 Pi 0.80.6+,因为该版本提供 agent_settled 事件。
它做什么
- 单飞续派。 只有在 agent_settled 已触发、宿主空闲且消息队列为空时才发送下一条提示。provider 重试、压缩和排队消息会先处理完,派发失败由看门狗按指数退避重试。
- 任务后续检查。 用户要求的工作完成后,模型可以复验早前的改动、处理任务范围内的遗留事项并补充文档。
- 定时等待。 persistent_wait(wait_seconds, check_next) 让任务保持 active,并安排唤醒提示。状态栏会显示等待状态和剩余时间。
- 规则与检查点持久化。 插件自己的每条提示都会带上当前规则。
展开完整文档(README 剩余 1 节)
pi-persistent
pi-persistent 为 Pi Coding Agent 增加可选的常驻任务模式。执行 /persistent 后,Pi 可以跨越 settled 边界继续工作,记录检查点并安排下一次检查。执行 /sleep,或任务需要模型无法取得的用户输入与授权时,模式才会结束。
续派和持久化参考了 @narumitw/pi-goal(MIT)的实现方式,行为也按 OpenAI Codex 公开描述的 persistent mode 组织。插件要求 Pi 0.80.6+,因为该版本提供 agent_settled 事件。
它做什么
- 单飞续派。 只有在 agent_settled 已触发、宿主空闲且消息队列为空时才发送下一条提示。provider 重试、压缩和排队消息会先处理完,派发失败由看门狗按指数退避重试。
- 任务后续检查。 用户要求的工作完成后,模型可以复验早前的改动、处理任务范围内的遗留事项并补充文档。
- 定时等待。 persistent_wait(wait_seconds, check_next) 让任务保持 active,并安排唤醒提示。状态栏会显示等待状态和剩余时间。
- 规则与检查点持久化。 插件自己的每条提示都会带上当前规则。persistent_checkpoint 把目标、已知状态、下一次检查和停止条件写入不可变的 session custom 条目,reload、resume 和 fork 后可以恢复。
- 任务内工具。 persistent_checkpoint、persistent_wait 和 persistent_dormant 只在任务激活时出现。调用必须携带当前 persistent_id,任务替换后旧调用会被拒绝。
- 用户引导优先。 最新用户消息会先处理,再恢复任务。状态通知使用 ui.notify,循环不调用会阻塞用户的 confirm、select 或 input。
- 生命周期恢复。 手动压缩、/persistent resume、进程重启和会话树导航都会恢复或重新安排 active 任务。跨到其他工作区的 fork 会停用任务,直到显式启动新任务。
- 压缩守护。 persistent 模式下,长任务的 session_before_compact 使用有界交接。守护会压缩过大的摘要、合并新消息,遇到超限时重试,模型路径失败时使用确定性本地截断。完整历史仍保存在 session 文件中。
工作区边界拒绝某次工具调用时,只拒绝这一次调用。任务仍保持 active,返回理由会要求模型把操作移到工作区内。provider 出错会先退避重试,任务进入 dormant 后仍可由下一条用户消息唤醒。
工作区边界
边界只在常驻任务激活期间生效。
| 层 | 范围 | 机制 |
| 确定性 | write / edit | 从最深的已存在祖先开始解析真实路径,拒绝 .. 穿越和 symlink、junction 逃逸,并要求目标位于工作区根内。Windows 比较不区分大小写。 |
| 尽力 | bash / powershell | 扫描破坏性命令、写入形状、内联解释器写操作、可变更 git 命令和工作区外目标。提取目标前会去掉 URL,普通链接文本不会触发拦截。 |
| 放行 | read / grep / find / ls | 只读访问保持可用。 |
shell 扫描是安全网,不是沙箱。需要硬隔离的任务应放在容器或 WSL 中运行。
压缩守护配置
可选文件 ~/.pi/agent/pi-persistent.json 在不存在时使用以下默认值,未知键会忽略。
{
"compaction": {
"mode": "persistent", // persistent、always 或 off "targetTokens": 3000, "maxInputChars": 24000, "maxOutputTokens": 16384, "timeoutMs": 180000, "provider": "", "model": "" } }
persistent 只守护有常驻任务的会话,always 也覆盖普通会话,off 则恢复 Pi 的默认压缩。守护请求使用新的路由 session id,不写 prompt cache,也不发送思考档位。
安装
从 GitHub 安装 pi install git:github.com/DDDFXYqiming/pi-persistent
本地路径备用安装
git clone https://github.com/DDDFXYqiming/pi-persistent.git
pi install
不安装直接试用 pi -e \index.ts
插件没有构建步骤。Pi 通过 jiti 直接运行 TypeScript 源码,typebox 由 Pi 内置的扩展模块解析。
使用
/persistent # 启动任务,最多 4000 个字符 /persistent # 查看任务、工作区和自动计数 /persistent resume # 唤醒 dormant 任务 /persistent off # 停止任务
/sleep [reason] # 停止任务,可附带理由
没有常驻任务时,插件不改变普通会话的工具列表、提示词、边界检查和压缩流程。/persistent 会激活三个任务工具,/sleep 会再次移除它们。
验证
npm test 会运行类型检查,以及工作区边界、压缩守护和工具作用域的离线测试。test/ 下的脚本覆盖 RPC 续派、定时唤醒、崩溃恢复、跨项目 fork 和手动压缩。运行端到端脚本时可用 PI_E2E_MODEL 与 PI_E2E_THINKING 选择模型和思考等级。
权限
- 只在常驻任务激活时拦截 write、edit、bash 和 powershell 调用。
- 将不可变的 persistent-state 快照保存在 Pi session 文件中。
- 使用 ui.notify 和 ui.setStatus 更新状态。
- 只有压缩守护会发送辅助模型请求,请求使用新的路由 session id,不写 prompt cache,也不携带 reasoning 选项。
- 只增删自己的三个工具,不修改内建工具、skills、prompt 模板、主题、上下文文件、快捷键或 CLI flag。
- 不读取会话图片。除压缩守护外不访问网络。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
DDDFXYqiming/pi-persistent
让编码代理跨轮次持续干活,直到你说停
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,362已汉化DSH
71.4
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,076已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,814已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。