dsh-tool-codegraph: DeepSeek Harness 代码导航插件

前言

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 二进制文件。

  1. 确保系统已安装 Node.js,版本需满足 ^22.19 || >=24。
  2. 确保开源工具 codegraph 的二进制文件位于系统 PATH 环境变量中。

安装插件:

dsh plugin add --profile web @m1khal3v/dsh-tool-codegraph

安装后,检查 CLI 包装状态:

codegraph status

核心功能

插件提供了 10 个具体的工具,覆盖代码索引、搜索、调用分析及影响评估:

  1. 索引健康与统计:查看索引状态和统计信息。
  2. 同步更改:同步自上次索引以来的文件变更。
  3. 符号搜索:通过名称查找符号。
  4. 代码探索:映射代码区域,包含原始源码和调用路径。
  5. 调用者查询:查找调用当前符号的位置(结果不精确)。
  6. 被调用者查询:查看当前符号调用了什么(结果不精确)。
  7. 影响分析:分析修改符号可能产生的影响范围。
  8. 符号详情:查看单个符号的详细定义或文件视图。
  9. 文件结构:从索引中获取项目文件结构。
  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
羽毛球分组比赛记分
小程序二维码

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

小夜