前言¶
DeepSeek Harness(DSH)通过插件机制扩展能力。在代码编辑或智能体开发场景中,让模型理解项目结构、查找符号定义以及分析调用关系是高频需求。dsh-tool-codegraph 插件通过包装开源的 codegraph CLI 工具,将 AST/tree-sitter 代码索引能力转化为 DSH 的 10 个特定工具,供智能体调用。
插件概况¶
- 名称:dsh-tool-codegraph
- 定位:为 DeepSeek Harness 提供的 CodeGraph 导航工具集
- 维护者:m1khal3v
- 许可证:MIT
- 类别:客户端
安装与前置要求¶
插件依赖 Node.js 环境以及独立的 codegraph CLI 二进制文件。
- 确保系统已安装 Node.js,版本需满足
^22.19 || >=24。 - 确保开源工具
codegraph的二进制文件位于系统PATH环境变量中。
安装插件:
dsh plugin add --profile web @m1khal3v/dsh-tool-codegraph
安装后,检查 CLI 包装状态:
codegraph status
核心功能¶
插件提供了 10 个具体的工具,覆盖代码索引、搜索、调用分析及影响评估:
- 索引健康与统计:查看索引状态和统计信息。
- 同步更改:同步自上次索引以来的文件变更。
- 符号搜索:通过名称查找符号。
- 代码探索:映射代码区域,包含原始源码和调用路径。
- 调用者查询:查找调用当前符号的位置(结果不精确)。
- 被调用者查询:查看当前符号调用了什么(结果不精确)。
- 影响分析:分析修改符号可能产生的影响范围。
- 符号详情:查看单个符号的详细定义或文件视图。
- 文件结构:从索引中获取项目文件结构。
- 受影响测试:查找受变更源文件影响的测试文件。
使用说明¶
初始化索引¶
插件集中没有提供 init 工具。根据项目建议,索引必须由用户手动启动,而非由智能体代理自动启动。当 codegraph status 报告索引缺失时,需手动执行初始化:
codegraph init
工作流¶
插件自动将使用规则注入到系统提示词中,建议的工作流顺序为:状态检查 → 同步 → 探索 → 定向查询。
注意事项¶
- 动态分发边缘:调用者、被调用者和影响分析可能会遗漏动态分发(dynamic dispatch)产生的调用边。遇到此类情况,应回退到使用
grep进行搜索。 - 索引权限:索引过程应由用户触发,避免由智能体代理在无感知的情况下长时间运行。
生态与源码¶
该插件是 DeepSeek Harness 生态中的一个独立项目,与 DeepSeek 或幻方官方无从属关系。所有索引和查询逻辑由底层的 codegraph CLI 处理。
- GitHub: https://github.com/m1khal3v/dsh-tool-codegraph
- 目录页: https://www.skillhub.cn/plugins/m1khal3v/dsh-tool-codegraph