把会话里的待办与目标折算成百分比,显示在宠物气泡上
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/15 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Elefseus/dsh-pet-progress.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 19 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 5 处,展示前 5 条)
- 写入本地文件build.mjs:29
mkdirSync(outDir, { recursive: true }) - 读取本地文件build.mjs:35
const source = readFileSync(join(root, 'src', `${name}.ts`), 'utf8') - 写入本地文件build.mjs:44
writeFileSync(join(outDir, `${name}.js`), code) - 读取本地文件src/wire.test.ts:61
if (statSync(candidate).isFile()) return candidate - 读取本地文件src/wire.test.ts:75
const lines = readFileSync(petLib, 'utf8').split('\n')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
dsh 网页宠物的进度伴侣:把会话里持久的 todo/write 和 goal/change 事件折叠进宠物状态气泡,让它汇报还剩多少活,而不只是模型此刻在做什么。
README
由 DeepSeek 最新模型翻译生成dsh-pet-progress
中文 · English
给你的桌面宠物加一个进度条。
dsh 网页宠物 只会告诉你 agent 此刻在干什么——思考、调工具、做完。它没法表达一个长任务完成了多少,所以一个已经做了九成的任务,看起来和刚开始一模一样。
这个插件补上这一块:它读取 agent 本来就写进会话的 todo 列表和目标,折算成百分比气泡显示在宠物上。如果一个会话压根没写过 todo 列表,也不会空着——这时气泡退回成一行纯文字,说明当下正在做什么。
安装
一条命令,用插件的完整 GitHub 地址:
dsh plugin add https://github.com/Elefseus/dsh-pet-progress
前提是已经装了 dsh 网页宠物。
少了它插件不会崩,只是什么都不显示,dsh 日志里会留一行说明。
装完要重启 DSH——bundle 只在启动时读取,不重启插件不会挂载。之后 agent 写下 todo 列表或开始一个目标时,气泡自己就会出现,不需要额外开启什么。
需要多 profile 时,用 dsh plugin --profile <name> add … 指定 profile 名。
展开完整文档(README 剩余 1 节)
dsh-pet-progress
中文 · English
给你的桌面宠物加一个进度条。
dsh 网页宠物 只会告诉你 agent 此刻在干什么——思考、调工具、做完。它没法表达一个长任务完成了多少,所以一个已经做了九成的任务,看起来和刚开始一模一样。
这个插件补上这一块:它读取 agent 本来就写进会话的 todo 列表和目标,折算成百分比气泡显示在宠物上。如果一个会话压根没写过 todo 列表,也不会空着——这时气泡退回成一行纯文字,说明当下正在做什么。
安装
一条命令,用插件的完整 GitHub 地址:
dsh plugin add https://github.com/Elefseus/dsh-pet-progress
前提是已经装了 dsh 网页宠物。
少了它插件不会崩,只是什么都不显示,dsh 日志里会留一行说明。
装完要重启 DSH——bundle 只在启动时读取,不重启插件不会挂载。之后 agent 写下 todo 列表或开始一个目标时,气泡自己就会出现,不需要额外开启什么。
需要多 profile 时,用 dsh plugin --profile <name> add … 指定 profile 名。
你会看到什么
宠物上方冒出一个小气泡,todo 列表或目标一变就更新:
| 情况 | 气泡内容 |
| 有 todo 列表,一个任务进行中 | 3/7 · 43%,标题是这个任务 |
| 有 todo 列表,多个任务同时进行中 | 3/7 · 43%,不点名 |
| 有长期目标但没有 todo | 2/8 轮——目标的轮次预算 |
| 目标被阻塞 | 直接显示阻塞原因,替代进度 |
| 既没有 todo 列表也没有目标 | 一行不带百分比的文字——等待模型响应、正在调用工具,或模型自己的话;由 当前过程 或 最近输出 打头 |
最后一次进度更新后约 30 秒,气泡会自动淡出,这样已经结束的一轮不会把过期的百分比留在屏幕上。工作重新开始时它会自己回来。
可以同时开着多个会话——最近有动静的那个占据这个气泡。
查看完整列表
气泡只有一行,剩下的内容留了个按钮:点宠物面板上的 进度,完整 todo 列表会写进 dsh 日志。
几点说明
- 不会虚报进度。 状态认不出来的 todo 一律算「没做完」。如果一次写入里每一条都读不出来,插件当成「没有信息」处理,保留原来的显示。
- 不会瞎猜。 如果同时有多个任务进行中,气泡只显示数量,不点名——点错名字比不点更糟。
- 只读不猜。 百分比来自 agent 自己写的 todo 和目标,插件绝不根据「跑了多久」去推断进度。两者都没有时,它显示那行活动文字,而不是一个数字。
环境要求
| DSH | >=0.1.7-rc.1 |
| @linxin666/dsh-pet | >=0.4.0(peer) |
| Node | ^22.19.0 \|\| >=24.0.0 |
本插件绑定的是宠物的插件接缝契约(announce、registerPanelAction 以及 session/event 通道),版本过旧的宠物不会同时提供这三者。
配置
apply(ctx, { enabled?: boolean, heartbeatMs?: number })
enabled: false 时什么都不挂载。heartbeatMs 默认 10000。
在代码里使用
本插件只跑在宿主侧(没有客户端 bundle),宠物服务暴露为 ctx.pet。
下面三个接缝是宠物对外提供的全部扩展点,本插件也只用了这三个:
| 接缝 | 用途 |
| ctx.on('session/event', …) | 读取 todo/write、goal/change,以及活动行背后的 turn/step/tool/message 事件 |
| ctx.pet.announce(…) | 发布进度气泡 |
| ctx.pet.registerPanelAction(…) | 面板上的 进度 按钮 |
想调整淡出时间和同时跟踪的会话数,改 src/progress.ts 里的 PROGRESS_TTL_MS 和 MAX_TRACKED_SESSIONS。
开发
src/.ts 是唯一事实来源;lib/ 是提交进仓库的构建产物,因为 cordis 加载器不做转译。改完 src/ 后必须重新构建并把 lib/ 一起提交——两者不一致 CI 会失败。
node build.mjs # 从 src/ 重新构建 lib/
node --test src/.test.ts # 55 个测试,只用 node:test
要改代码就别装,直接把 profile 指向你的工作副本:
// ~/.dsh/profiles/<profile>/package.json
{
"dependencies": { "dsh-pet-progress": "file:<本目录的绝对路径>" },
"dsh": { "profile": { "bundles": ["…原有的…", "dsh-pet-progress"] } }
}
只加 bundles 不够——这个包同时必须是一个依赖。路径里若含非 ASCII 字符,应写成 file:// URL。改完重启应用。
Node 版本固定在 package.json 的 engines 里,CI 覆盖 22.19.0 和 24.x。
dsh plugin --profile desktop up dsh-pet-progress # 更新到最新默认分支
dsh plugin --profile desktop add "<repo>#<tag>" # 改用某个 tag(可复现)
更多
- 设计说明——为什么是这样做的:它填补的事件缺口、为什么是兄弟插件而不是打补丁、它汇报什么,以及两个不明显的坑(延迟挂载、公告槽位没有撤回)。
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Elefseus/dsh-pet-progress
把会话里的待办与目标折算成百分比,显示在宠物气泡上
相关插件 · 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,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化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,202已汉化DSH
71.1
这是你的仓库?认领条目