Skip to content

在 DSH 中使用联网搜索和代码图谱 ​

查资料需要打开网页核对内容,读代码需要找到相关文件和调用关系。Free Search 和 CodeGraph 分别提供这两种工具,安装后可以直接在 DSH 对话中要求 Agent 使用。

Free Search 来自 dddmuc/dsh-free-search。CodeGraph 的索引引擎来自 colbymchenry/codegraph,下面使用的是 NanoAI 分发的 DSH 适配插件。

在 DSH 左侧打开「插件」,点击右上角「添加插件」,在「包名或地址」输入框填写:

text
dsh-free-search@0.9.23

DSH 添加插件表单,包名或地址中已填写 dsh-free-search@0.9.23,下方显示安装按钮

核对输入的是 dsh-free-search@0.9.23,点击「安装」。图中展示的是提交安装前的表单。

安装并启用后,按 DSH 提示重载。它需要 Node.js 20 或更新版本,可在终端用 node --version 查看。

安装后打开「插件 → 已安装 → free-search → web-search-free」配置组件。选择 Bing 并保存;Bing 可以免 API key 使用。

其他引擎可能需要独立账户、API key 或可用额度。如果使用带 key 的引擎,把对应服务的密钥填在插件设置中,不要发进聊天。

测试引擎并搜索网页 ​

在 DSH 新建会话,输入:

调用 free_search_test,只测试 Bing,告诉我这个引擎当前是否可用。

查看工具调用的返回结果。若提示超时或访问失败,检查网络,或回设置启用另一个可访问的引擎。聊天框输入 /free-search-engine 可以切换搜索引擎。

引擎可用后,输入一个需要来源的具体问题,例如:

搜索 DeepSeek Harness 官方的浏览器版启动方式。打开选中的官方网页,核对启动命令,附上来源链接。

执行过程中可以查看搜索工具和网页抓取工具的结果。搜索摘要提供候选网页,打开正文后才能核对原文;若网页要求登录、验证码或限制访问,抓取可能失败,需要换一个可访问的来源。

需要限定条件时,把条件写进问题:

查找过去一周关于 Node.js 的官方安全公告,列出发布日期、受影响版本和来源链接。没有查到的项目不要推测。

多引擎搜索会增加请求量,有些服务按调用计费。使用付费引擎时,费用和额度由对应服务决定。Free Search 说明页列出了引擎与工具配置。

安装 CodeGraph 命令行工具 ​

CodeGraph 要读取本地项目代码。它由命令行工具建立索引,DSH 插件负责让 Agent 调用这个工具,两者都需要安装。

在运行 DSH 的电脑打开终端,执行:

sh
npm i -g @colbymchenry/codegraph
codegraph --version

第二条命令应输出版本号。如果提示找不到 codegraph,重新打开终端再试;仍不可用时,检查 npm 全局可执行文件目录是否加入 PATH。不要继续在 DSH 中尝试建索引,直到这条命令能够运行。

安装 DSH 的 CodeGraph 插件 ​

打开 DSH 左侧「插件」,点击「添加插件」,在「包名或地址」输入框填写完整地址:

text
https://nano-ai.cn/v1/plugins/dsh-codegraph/versions/latest/install.tgz

下载 CodeGraph 适配插件最新版安装包(DSH 中直接粘贴上方地址即可)。

DSH 添加插件表单,已填写 CodeGraph 适配插件 latest 安装地址,下方显示安装按钮

图中是安装来源填写后的表单。核对地址中的 dsh-codegraph,点击「安装」。latest 获取最新已发布版本,实际版本以安装结果为准。

安装结果中核对名称为「CodeGraph 代码图谱」,启用当前配置中的插件,并按提示重启。

这里安装的是本市场维护的 DSH 适配包。npm 上同名的 dsh-codegraph@0.1.3 属于不同维护来源,不要用它替换这个安装地址。适配包限制了可用的 DSH 版本;例如 1.3.4 声明的范围为 >=0.2.1-alpha.3 <0.3.0-0。安装其他版本前,在插件说明页核对该版本的要求;宿主提示不兼容时选择与宿主匹配的版本。

给项目建索引 ​

在 DSH 选择要阅读的代码项目作为工作区,新建会话,输入:

调用 codegraph_status,检查当前项目的索引状态,并告诉我你使用的项目路径。

核对路径后,如果还没有索引,输入:

在这个项目目录调用 codegraph_init,建立代码索引。

初始化会读取项目源码,并在项目内写入 .codegraph/ 索引目录。已有索引的项目不需要每次重新初始化。

接着针对项目中的实际功能提问,例如:

用 codegraph_explore 查找这个项目的登录流程,给出入口文件、关键函数和调用关系,附上对应源码位置。只分析,不改代码。

如果项目没有登录功能,把「登录流程」替换成项目中确实存在的功能,例如「命令行参数处理」或「订单创建」。工具会返回相关源码和调用路径,Agent 可以据此解释代码。

代码修改后,输入:

调用 codegraph_sync,同步当前项目索引,然后重新查看刚才的调用关系。

工具没有响应时 ​

遇到的情况处理方式
对话中没有对应工具在 DSH 官方插件页面检查插件是否启用、是否装在当前配置,按安装结果完成重启。
搜索引擎超时或 key 报错用 free_search_test 单独检查该引擎,核对网络、服务账户、额度和该引擎自己的凭据。
终端能运行 CodeGraph,DSH 却找不到重新启动 DSH,使它读取更新后的 PATH;确认安装 CLI 的电脑就是运行 DSH 的主机。
返回另一个项目的代码检查当前会话的工作区和 codegraph_status 返回的项目路径。
图谱里没有刚修改的代码对当前项目调用 codegraph_sync 后重试。

停用或卸载 Free Search 时,还应按其说明检查 DSH 是否保留了该插件的搜索、抓取服务引用;失效引用可能导致后续搜索不可用。

图示
100%双指缩放 · 滑动查看