dsh-ai-armor:AI 写完代码后的五类生产问题护甲

前言

在 DSH 里让智能体改代码,常见卡点不在「能不能生成 diff」,而在改完之后的核对:堆栈贴上来却逐帧 read_file、回归要拼 git bisect、YAML 一个 tab 就起不来、Windows 上 shell 引号转错、MyBatis Plus 的 N+1 静默拖慢库。这些步骤往往要占多个 tool slot,还要分别装插件、分别过审。

下面介绍社区插件 dsh-ai-armor(维护者 AAAlenwow):把五类「写完即可能爆雷」的能力打成 一个 bundle、8 个 tool slot,一次安装即可在 agent 侧调用。目录页:skillhub.cn/plugins/AAAlenwow/dsh-ai-armor;源码与说明:github.com/AAAlenwow/dsh-ai-armor。

这是什么

dsh-ai-armor 是 DeepSeek Harness 上的插件包(package.json 版本 0.1.0,许可证 MIT)。它聚合五个子插件,面向「AI 写完代码那一刻」的本地辅助:不执行业务代码、不发起网络请求、不自动改仓库,只返回 findings 与建议,由人或 agent 继续改。

DSH 生态是「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。安装前请自行查看仓库源码与许可证;插件以当前 dsh 进程权限 运行(会读文件、可能调用 child_process 跑 git 等本地命令)。

兼容性(来自 package.json):dsh >=0.1.7-alpha.1,profile web。

核心功能:五个子插件、八个工具

子插件 工具 针对的问题
dsh-when-broke when_broke_find_introducer、when_broke_recent_changes、when_broke_bisect_with_repro、when_broke_blame_age 代码从哪个 commit 来、最近谁改过文件、哪个 commit 引入 bug、某行是否新写
dsh-stackdecoder decode_stack 堆栈文本一次解析为每帧 file:line 与上下文片段
dsh-config-guard validate_config 改完 application.yml / .env / .properties 后查重复键、tab 缩进、键名错误、缺必需字段
dsh-cmd-shield build_shell_invocation 按 POSIX / PowerShell / cmd 规则生成转义后的 shell 调用,减轻引号、$、CJK、路径空格问题
dsh-mp-auditor audit_mp_code 扫描 MyBatis Plus 项目中的 N+1、漏 @Transactional、LIKE '%xxx%'、SELECT *、缺 WHERE 的 UPDATE/DELETE 等

实现上,各工具为纯本地:仅用 Node.js 内置 fs / path / child_process / crypto,README 标明无第三方 npm 依赖。README 中的典型延迟供参考(例如 decode_stack 约 <1ms/帧,when_broke_bisect_with_repro 约 1–60s,取决于 repro)。

不在范围内(README 原文):不替代 IDE 静态分析;不替你自动 fix;bundle 与同名 standalone 子仓库不要同时安装(tool id 会冲突)。

安装与启用

整包安装(官方命令):

dsh plugin add AAAlenwow/dsh-ai-armor

若只需要某一类能力,可单独安装对应子插件(各 1 或 4 个工具):

dsh plugin add AAAlenwow/dsh-when-broke
dsh plugin add AAAlenwow/dsh-stackdecoder
dsh plugin add AAAlenwow/dsh-config-guard
dsh plugin add AAAlenwow/dsh-cmd-shield
dsh plugin add AAAlenwow/dsh-mp-auditor

README 还提到可通过 git clone 后 pnpm link --global(或 npm link)做本地 link;与 dsh plugin add 二选一即可,按你的发布流程选。

安装后,在 DSH 对话中由 agent 按场景调用上表工具名;无需额外配置字段(资料未列出独立配置文件)。

典型用法(按场景)

资料未给出完整对话示例,用法与 README 中的问题—工具对应关系一致,可按下面顺序在 agent 工作流里挂载:

  1. 线上异常 / 测试失败:先 decode_stack 把堆栈落到本地行号;再用 when_broke_recent_changes 或 when_broke_find_introducer 查变更来源;需要回归时用 when_broke_bisect_with_repro(需可复现步骤);单行新旧可用 when_broke_blame_age。
  2. 改配置后启动失败:在提交或重启前调用 validate_config 做 YAML/ENV/properties 自检。
  3. agent 要跑 shell:在真正执行前用 build_shell_invocation 生成当前平台安全的调用串。
  4. Java + MyBatis Plus 改动:合并前用 audit_mp_code 扫一轮 SQL/事务类风险。

验证 bundle 是否加载成功,可在仓库根目录执行 README 中的 smoke test:

cd tests && node run.mjs

期望输出:✅ All 8 expected tools registered. Bundle is loadable.

各子插件另有 cd plugins/<name>/tests && node run.mjs 的测试 harness。

适用场景与注意

适合:在 DSH web profile 下做 agent 开发、希望少占审核轮次、又要在「写完代码」环节补上 git / 堆栈 / 配置 / shell / MP 审计的团队或个人。内网环境也可考虑——工具侧无外部网络依赖。

注意:

  • 权限与信任:插件会读项目文件;when_broke_* 与 bisect 会涉及 git 操作,权限等同于运行 dsh 的用户。
  • 安装范围:bundle 与 standalone 同名插件勿重复安装。
  • 能力边界:只报告问题与建议,不自动修复;深度静态分析仍以 IDE 与 CI 为主。

结尾

dsh-ai-armor 把五类高频「AI 改完后的最后一公里」收进一个 MIT 插件包,官方一条 dsh plugin add AAAlenwow/dsh-ai-armor 即可注册 8 个 tool。需要逐项了解时,可打开各子目录 README 或 standalone 仓库。

  • 目录页:https://www.skillhub.cn/plugins/AAAlenwow/dsh-ai-armor
  • GitHub:https://github.com/AAAlenwow/dsh-ai-armor
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye