安装验证:运行验证通过 (L5) · 验证于 dsh 0.2.1-rc.2 · 验证日期 安装验证详情 →
功能介绍AI
为 DSH 提供实时会话进度与任务追踪,通过注入提示词维护结构化 Markdown 进度文件,并展示进度抽屉。
- 注入系统提示词,让智能体维护结构化 Markdown 进度文件
- 提供实时会话进度抽屉与预览图
- 展示整体完成状态、当前子任务与即将到来的里程碑
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add github:nguyenduclong-ict/dsh-session-progress#v0.11.4安装方式: GitHub · 运行验证通过 (L5)
验证与兼容性
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
依据:3 条要求、覆盖 4 个 @deepseek-ai/dsh-* 子包。 看原始区间
^0.1.2-alpha.1 ×2 ^0.1.5-rc.2 ×1 ^0.1.2-rc.1 ×1
✗ 当前 dsh 0.2.1-rc.2 不在支持范围内 —— 官方安装门控会直接拒绝装(incompatible-version)。
强行安装需精确豁免一次:dsh plugin allow-version dsh-session-progress@0.11.4 0.2.1-rc.2(豁免记在本机 profile,本站不假定你是否已豁免)
能否正常运行是另一件事 → 见下方实测矩阵(L1–L5)。
| 插件版本 \ dsh | dsh 0.2.1-rc.2 当前 | dsh 0.2.1-alpha.4 | dsh 0.2.1-alpha.2 | dsh 0.2.0-rc.2 | dsh 0.1.7-rc.2 |
|---|---|---|---|---|---|
| v0.11.4 | ✓ | ✓ | ✓ | ✓ | · |
| v0.10.6 | · | · | · | · | · |
| v0.1.8 | · | · | · | · | ✓ |
v0.11.4github✓ 运行验证通过 42026-10-20
https://github.com/nguyenduclong-ict/dsh-session-progress
✓dsh 0.2.1-rc.2当前2026-10-20L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.11.4
ID: dsh-session-progress@v0.11.4@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-20 · 有效至:2026-10-27
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-alpha.42026-10-18L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.11.4
ID: dsh-session-progress@v0.11.4@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-18 · 有效至:2026-10-25
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-alpha.22026-10-12L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.11.4
ID: dsh-session-progress@v0.11.4@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-12 · 有效至:2026-10-19
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.0-rc.22026-10-09L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.11.4
ID: dsh-session-progress@v0.11.4@dsh0.2.0-rc.2 · 档位: l4-sandbox
签发:2026-10-09 · 有效至:2026-10-16
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
v0.10.6github✓ 运行验证通过 12026-09-30
https://github.com/nguyenduclong-ict/dsh-session-progress
✓版本史前2026-09-30L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.10.6
ID: dsh-session-progress@v0.10.6@dshunknown · 档位: l3-fullscan
签发:2026-09-30 · 有效至:2026-10-07
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
v0.1.8github✓ 运行验证通过 52026-09-25
https://github.com/nguyenduclong-ict/dsh-session-progress
✓dsh 0.1.7-rc.22026-09-25L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.1.8
ID: dsh-session-progress@v0.1.8@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-25 · 有效至:2026-10-02
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.7-alpha.22026-09-23L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-alpha.2
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.1.8
ID: dsh-session-progress@v0.1.8@dsh0.1.7-alpha.2 · 档位: l4-sandbox
签发:2026-09-23 · 有效至:2026-09-30
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.6-alpha.22026-09-20L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.1.8
ID: dsh-session-progress@v0.1.8@dsh0.1.6-alpha.2 · 档位: l3-fullscan
签发:2026-09-20 · 有效至:2026-09-27
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.6-alpha.12026-09-17L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.1.8
ID: dsh-session-progress@v0.1.8@dsh0.1.6-alpha.1 · 档位: l4-sandbox
签发:2026-09-17 · 有效至:2026-09-24
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.5-rc.22026-09-12L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • 被测插件工件: github · https://github.com/nguyenduclong-ict/dsh-session-progress#v0.1.8
ID: dsh-session-progress@v0.1.8@dsh0.1.5-rc.2 · 档位: l4-sandbox
签发:2026-09-12 · 有效至:2026-09-19
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
仅展示最近 3 个已发布版本;源码快照(commit hash)组、未标注工件组与更早版本不展示——全量档案保留在数据层(插件无任何已发布版本时,快照/未标注组才照常展示)。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-session-progress/)``[](https://www.dsh.so/artifact/dsh-session-progress/)``[](https://www.dsh.so/artifact/dsh-session-progress/)``[](https://www.dsh.so/artifact/dsh-session-progress/)``[](https://www.dsh.so/artifact/dsh-session-progress/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低;动态审计最高 高(有结论时以动态为准)→ 总评级 高。
v0.11.4dsh 清单v0.11.4git2026-10-25v0.11.4版本一致clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(8 条)
- 警告shellExec · shell
index.js:1594execFile('cmd', ['/c', 'start', '', targetPath], (err) => { - 警告shellExec · shell
index.js:1598execFile('open', [targetPath], (err) => { - 警告shellExec · shell
index.js:1602execFile('xdg-open', [targetPath], (err) => { - 警告netIp · network
index.js:1682reqUrl = new URL(req.url ?? '/', 'http://127.0.0.1'); - 警告netIp · network
index.js:1769reqUrl = new URL(req.url ?? '/', 'http://127.0.0.1'); - 警告fsWrite · files
index.js:88fs.writeFileSync(SETTINGS_FILE, JSON.stringify(data, null, 2), 'utf-8'); - 警告fsWrite · files
index.js:444fs.writeFileSync(tempPath, content, 'utf-8'); - 警告newFunction · code-exec
tools/preview-panel.mjs:57new Function('window', 'console', 'document', patched)(
展开 4 条审计发现
- high未鉴权的 /content 路由可通过 filePath 参数读取任意本地文件
index.js:1497handleContent 接受查询串中的任意绝对路径并交给 loadRecord() 的 fs.readFileSync 读取,没有任何校验限制其为 os.tmpdir() 或 dsh-progress-* 命名。当文件不是合法进度文档时,describeRecord 的错误分支会把原始文件文本放进 JSON 的 `content` 字段返回,因此 GET /api/session-progress/content?filePath=/home/user/.ssh/id_rsa(或 ~/.dsh-session-progress-settings.json、项目源码等)即可读取任意可读文件。该 handler 同时设置了 Access-Control-Allow-Origin: *,浏览器中的任意网页可跨域访问本地服务完成读取;别名 /api/task-progress/content 行为相同。
- medium/open 路由可在系统打开程序中启动任意已存在的本地路径,且可跨域调用
index.js:1650handleOpen 从 POST body 取任意路径(仅要求文件存在)并交给 openInDefaultApp(),由它执行 open/xdg-open/cmd start。接口无鉴权、无来源限制且响应带 Access-Control-Allow-Origin: *,因此任意网页(或本地调用者)都能让宿主打开/启动任意已存在的文件、macOS 的 .app/.command 或 Linux 的 .desktop;Windows 上路径还会经过 `cmd /c start`。唯一门槛是知道路径。
- medium插件全部 HTTP 路由无鉴权且宣告通配 CORS
index.js:1481handleContent、handleToggle、handleOpen(及其 /api/task-progress 别名)没有任何鉴权、令牌或来源校验,反而显式允许所有来源。用户访问的任意网页或本地进程都可读取所有会话的进度文档(含目标、文件路径、笔记与当前活动)、按任意 sessionId(含全局 default 作用域)切换跟踪开关,并调用上述任意文件读取与系统打开接口。
- low面板 Markdown 链接渲染未限制 javascript: 协议
client.js:947inlineFormat 做了 HTML 转义,但未校验进度文档中 Markdown 链接的协议,结果通过 dangerouslySetInnerHTML 注入 DSH 渲染进程。文档正文由 agent 生成,可能受其读取的不可信内容影响,因此被提示注入的文档可植入 `[x](javascript:...)` 链接,用户点击即在应用页面上下文执行脚本。需用户点击,故为低危。
本地 HTTP 接口无鉴权且 CORS 为 *,可用 ?filePath= 读取任意文件、调用系统打开程序;面板链接渲染也缺少协议校验。
口径(2026-10-24):有动态审计结论时以动态结论为准(可能上调也可能下调);无结论时以静态/vet 融合档为准。动态审计永不写豁免表(豁免只能人工三筛手写);模型判错时由人工复核撤回,撤回后档位回到静态/vet。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-01 · 活跃度:活跃
• 仓库创建: 2026-09-10
• 星标: ★ 3 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
