Releases: noname-iii/dsh-code-checker
Releases · noname-iii/dsh-code-checker
Release list
dsh-code-checker v0.3.0
dsh-code-checker v0.3.0
新功能:审批系统通知
当某个会话需要用户操作(例如让你决策是否运行某条命令)时,在 Windows / macOS / Linux 系统层面弹桌面通知,通知包含:
- 哪个会话在请求操作(会话标题 / 工作目录 / 会话 id)
- 具体信息(按工具调用 id 反查出的具体命令/参数)
- 选项(运行 / 不运行)
安全性:插件只“观察” approval/request 审批事件并发通知,随后原样 next() 把决定权交还给 Harness 审批界面——绝不自动放行任何命令。可用 notifyApprovals: false 关闭。
修复
- GUI 面板每 5 秒刷新后滚动位置跳回顶部 → 刷新前记录
window.scrollY、重建 DOM 后恢复(同时保留已展开的报告详情)。
安全与可移植性
- 零外部运行时依赖(仅
node:*内置模块);不联网、不上传;通知与构建/运行命令一律参数数组调用(无 shell 注入),通知文本做转义/截断。 - 18/18 单元测试;selfcheck / portable-check / mcp-smoke 全绿。
安装
dsh plugin --profile web add github:noname-iii/dsh-code-checker
dsh plugin --profile web add dsh-code-checker # npm
dsh plugin --profile web add ./dsh-code-checker-0.3.0.tgz # 离线(本附件)
bundle 安装后需重启 dsh web 生效。
dsh-code-checker v0.2.3
dsh-code-checker v0.2.3
修复第 2 步“功能完整性核对”的误判问题:
- 纯提问句不再被当作功能需求:带疑问词且以问号/吗/呢结尾、无明确需求动词的句子(如“那么我现在还要重新下载吗?”)不再进入需求列表;带需求动词的问句(如“能支持导出CSV吗?”)仍正常保留;
- 版本号不再被句点切分:分句器不再把
v0.2.2、3.14等数字里的句点当句末标点,需求文本保持完整; - 扩充需求接受动词表:修改/修复/提交/发布/安装/处理/适配/兼容/更新/升级/配置/验证/检查/清理/移除/替换/优化/重构等常见动词现在都能让句子被识别为需求(修复了“请修改并提交…”这类真实需求被漏掉的既有缺陷);
- LLM 核对新增
not-requirement状态:用户提问/闲聊等非功能条目不再被判“缺失”——不产生告警、不阻塞第 3 步; - 文档:README 标注最新 release 与离线 tarball 地址;FAQ 新增“已经安装还需要重新下载吗?”。
测试
- 17/17 单元测试通过;selfcheck / portable-check / mcp-smoke 全绿。
安装
dsh plugin --profile web add github:noname-iii/dsh-code-checker
dsh plugin --profile web add ./dsh-code-checker-0.2.3.tgz # 离线(本附件)
bundle 安装后需重启 dsh web 生效。
dsh-code-checker v0.2.2
dsh-code-checker v0.2.2
新规则:有 GUI 的项目必须执行第 3 步 GUI 模拟
只要项目带有 GUI(用户操作界面——DeepSeek Harness 插件挂载的 Web 面板、网页、桌面窗口等),且第 1、2 步都通过,第 3 步必须走 GUI 模拟:
- Web 类(DSH 插件面板 / 前端项目):自动从源码提取面板路径(如 webServer.register 的 path),对候选端口(含 3080)做 HTTP 探针 + Playwright 浏览器操作,绝不退化成 CLI 模拟;
- 桌面类(tkinter/PyQt/swing/egui 等):走 Windows UIA 真实鼠标键盘模拟;
- 第 1 步或第 2 步有问题时,仍按原流程:报错/汇报缺失功能,不强行模拟。
修复
- SIMULATORS_DIR 对编译产物定位错误(lib/simulators 不存在),导致浏览器模拟脚本始终执行失败退出 1 → 改为向上查找真实 simulators 目录;
- CLI 检查完成用 process.exit 强杀,undici 长连接句柄未收敛导致 Windows UV_HANDLE_CLOSING 断言崩溃(退出码 -1073740791)→ HTTP 探针改用 node:http(Connection: close)+ CLI 优雅退出;
- web-playwright.mjs 在 Chromium 未安装时优雅上报“未安装”而非崩溃。
测试
- 16/16 单元测试通过(新增 2 个 GUI 规则用例);selfcheck / portable-check / mcp-smoke 全绿;
- 插件对自身执行检查:第 3 步现在走 web 模拟(探测 /code-checker/ 面板),结论“没有问题”。
安装
dsh plugin --profile web add github:noname-iii/dsh-code-checker
dsh plugin --profile web add ./dsh-code-checker-0.2.2.tgz # 离线(本附件)
bundle 安装后需重启 dsh web 生效。
dsh-code-checker v0.2.1
dsh-code-checker v0.2.1
在 v0.2.0 基础上修复:
- GUI 面板“完整报告”详情每隔几秒自动收起 → 刷新时保留用户展开的详情状态,不再回缩。
- 版本号动态读取(0.2.1)。
v0.2.0 主要变化(继承)
- 修复插件在 Harness 中“装了却完全没踪影”的加载失败(零外部运行时依赖)。
- AI 写完/改完代码后立即自动检查 → 把 bug 反馈给 AI → 修复后再检查直到“没有问题”的自动闭环。
- 采样误判、报告措辞、版本号等多处修复;14/14 测试通过。
安装
dsh plugin --profile web add github:noname-iii/dsh-code-checker
dsh plugin --profile web add ./dsh-code-checker-0.2.1.tgz # 离线(本附件)
安装为 bundle 后必须重启 dsh web 让其加载(bundle 只在启动时读取)。
v0.1.0
The First Release. This plugin auto checks the code that the AI has created and let the AI fix the bug before you find out.