Bundle
dsh-code-scan
DeepSeek Harness 插件:为 Agent 增加 code_scan 工具,用 semgrep 扫描代码并输出按文件/行号/严重级别分组的中文报告
- Source
- xiaohuang-zaianlian
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 5 days ago
Readme
# dsh-code-scan 给 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)的 Agent 增加 `code_scan` 工具:对指定目录运行 [semgrep](https://semgrep.dev) 代码安全扫描,输出按文件、行号、严重级别分组的中文 Markdown 报告。 ## 功能 - 单个工具 `code_scan`,传入目录路径即可扫描。 - 报告按文件分组,含行号和严重级别(ERROR / WARNING / INFO)。 - 结果按严重级别优先排序,默认最多显示 200 条,避免撑爆 Agent 上下文。 - 未安装 semgrep 时返回友好的中文提示,不会崩溃。 ## 安装前提 本机需安装 semgrep,并保证 `semgrep` 命令在 PATH 上。Windows 建议用独立虚拟环境安装,避免污染其他 Python 环境: ```powershell python -m venv C:\Users\<你>\semgrep-venv C:\Users\<你>\semgrep-venv\Scripts\pip install semgrep # 把 C:\Users\<你>\semgrep-venv\Scripts 加入用户 PATH ``` ## 安装插件 ```sh dsh plugin --profile web add dsh-code-scan ``` 安装完成后重启 dsh web 生效。 ## 使用 在 DSH 对话中让 Agent 扫描某个目录,例如: > 用 code_scan 工具扫描 C:\path\to\your\project 报告示例: ```markdown # semgrep 扫描报告 - 扫描目录:`C:\...\demo` - 发现问题:共 4 处(ERROR 2 / WARNING 2 / INFO 0) ## C:\...\app.py(2 处) - [ERROR] 第 8 行 · 规则 `...sqlalchemy-execute-raw-query`:Avoiding SQL string concatenation... - [WARNING] 第 18 行 · 规则 `...eval-detected`:Detected the use of eval()... ``` ## 工作原理 1. 调用 `semgrep scan --json <目录>`。 2. 解析 JSON,提取文件、行号、严重级别、规则 id、描述。 3. 按严重级别优先排序,并截断到上限条数。 4. 生成中文 Markdown 报告返回给 Agent。 ## License [MIT](./LICENSE)
Install
dsh plugin --profile web add github:xiaohuang-zaianlian/dsh-code-scan
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-code-scan from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.