DeepSeek Harness 插件:dsh-graft-plugin

DeepSeek Harness (DSH) 的核心在于“一切皆插件”的架构。在开发智能体或进行代码辅助时,让模型准确获取代码的调用关系、文件位置以及结构化上下文是一个常见痛点。dsh-graft-plugin 解决了这个问题,它将 graft(一个预构建的代码图)直接置入 DSH 环境中,供用户和模型同时使用。

插件概览

这是一个 DeepSeek Harness 插件,旨在将代码符号、文件行号和调用关系图前置化。它主要解决如何让模型在编辑代码时,既能理解代码结构,又能利用精确的上下文信息。

  • 名称:dsh-graft-plugin
  • 维护者:adithyanraj03
  • 类别:客户端
  • 许可证:MIT
  • 核心价值:为模型提供代码索引工具,在 Composer 中显示 graft 索引状态和 Token 节省情况。

安装与前置依赖

安装前,确保已安装全局的 graft CLI 工具:

npm install -g @nanonets/graft

Web Profile 安装

使用 DSH 官方 CLI 安装插件:

dsh plugin --profile web add dsh-graft-plugin

注意 pnpm 10+ 用户:pnpm 10+ 会阻止未批准的 postinstall 脚本。如果安装失败,需先批准构建:

cd ~/.dsh/profiles/web && pnpm approve-builds      # 勾选 dsh-graft-plugin
dsh plugin --profile web add dsh-graft-plugin      # 重新运行以写入 bundle 行

桌面应用安装

桌面版 DSH 不使用 CLI 安装,需通过设置界面操作:

  1. 打开 Plugins(左侧边栏的设置)。
  2. 点击 Add plugin。
  3. 输入仓库地址或包名:
    https://github.com/adithyanraj03/dsh-graft-plugin
  1. 点击 Install。

桌面应用安装的插件目前不自动更新,如需升级需卸载重装。

核心功能

插件在 Composer 中集成了一枚芯片,并提供了工具链。

Composer 芯片

在 Composer 区域,芯片会显示当前会话使用的 graft 索引状态和 Token 节省情况:
* ● in sync:索引同步,匹配当前代码
* ◐ syncing:索引正在重建中
* ▲ stale:索引过期,代码已有变更

鼠标悬停(或点击)芯片可查看根节点数、边数、索引新鲜度以及 Token 节省统计,并包含一个 graft viz 按钮。

模型工具

插件为模型提供了以下工具,均在会话中按需解析:
* graft_ask:询问代码如何工作或查找位置,返回带代码片段的命中结果。
* graft_grep:搜索所有实例,按符号分组。
* graft_callers:查看符号的调用者、被调用者及调用链路。
* graft_skeleton:获取文件的完整 API 结构。
* graft_map:查看代码树的层级结构。

命令行工具

在对话中使用以下命令管理索引:
* /graft:构建或重建索引。
* /graft status:查看芯片文本信息。
* /graft deep:完全重建索引。

自动重建与可视化

  • 自动重建:当模型编辑文件后,插件会在后台自动重建 graft 索引(带有防抖逻辑)。
  • 可视化:点击 graft viz 按钮可打开代码图。支持 dsh 内置侧边栏(0.1.5+)、dsh-better-sidebar 插件或浏览器标签页。

使用示例

在 DSH 对话中,可以直接调用工具或使用命令:

# 重建索引
/graft

# 查看状态
/graft status

# 完全重建
/graft deep

# 模型工具调用示例
graft_ask: "如何处理用户登录逻辑?"
graft_callers: "查看 auth 模块的调用关系"
graft_skeleton: "获取 src/api/user.js 的 API 定义"
graft_map: "查看整个项目的目录树结构"

注意事项与限制

  • 依赖冲突:如果同时使用 dsh-better-sidebar 0.18.x 和新版 DSH,可能因缺少 @deepseek-ai/dsh-client-ui-primitives 而无法挂载。插件不主动插入 dsh-better-sidebar 行,以避免冲突。
  • 权限:插件以当前 DSH 进程的权限运行,安装前建议检查源码与许可证。

总结

dsh-graft-plugin 通过引入代码图概念,为 DeepSeek Harness 提供了结构化的代码上下文。它不仅帮助模型更准确地理解代码,还通过 Composer 芯片直观地展示了索引状态和效率。对于需要深度代码交互的开发者,这是一个值得安装的实用插件。

  • GitHub:https://github.com/adithyanraj03/dsh-graft-plugin
  • 插件目录:https://www.skillhub.cn/plugins/adithyanraj03/dsh-graft-plugin
羽毛球分组比赛记分
小程序二维码

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

小夜