Skip to content

Releases: noname-iii/dsh-code-checker

dsh-code-checker v0.3.0

Choose a tag to compare

@noname-iii noname-iii released this 17 Aug 04:00

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

Choose a tag to compare

@noname-iii noname-iii released this 17 Aug 00:20

dsh-code-checker v0.2.3

修复第 2 步“功能完整性核对”的误判问题:

  • 纯提问句不再被当作功能需求:带疑问词且以问号/吗/呢结尾、无明确需求动词的句子(如“那么我现在还要重新下载吗?”)不再进入需求列表;带需求动词的问句(如“能支持导出CSV吗?”)仍正常保留;
  • 版本号不再被句点切分:分句器不再把 v0.2.23.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

Choose a tag to compare

@noname-iii noname-iii released this 17 Aug 00:11

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

Choose a tag to compare

@noname-iii noname-iii released this 16 Aug 15:49

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

Choose a tag to compare

@noname-iii noname-iii released this 16 Aug 13:16

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.