dsh-knowledge-bridge:零配置主机级知识库访问与安全防护

前言

DeepSeek Harness(DSH)的智能体通常运行在沙盒环境中,无法直接读取宿主机上的文件系统。这导致两个常见问题:一是智能体无法访问团队共享的知识库(如 Antigravity 的 ~/.gemini 目录),在遇到文件权限问题时容易产生“文件不存在”的误判;二是智能体可能误执行破坏性命令,如 git reset --hard 或 rm -rf,导致数据丢失。

dsh-knowledge-bridge 是一个运行在宿主机层面的 Cordis 插件。它使用宿主进程的权限读取文件系统,向智能体提供三个检索工具,并注入一条指令让模型知晓知识库的存在。同时,它内置了防破坏性的 Shell 命令安全机制。

核心功能

检索工具

插件向智能体暴露以下三个工具:

  • knowledge_search:基于关键词的搜索。具备明确的权重系统:标题 10,ID 8,别名 8,标签 6,引用 4,摘要 3,工件名 2,正文 1。搜索结果包含 ID、标题、得分、截断的摘要和工件列表,不会直接返回文件内容。
  • knowledge_read:按需读取完整文档或特定工件(如 master_guide.md)。
  • knowledge_list:提供知识库的目录大纲,包含 ID、标题、工件数量以及一行预览。

配置与发现

  • 零配置发现:插件会自动从环境变量 DSH_KNOWLEDGE_PATHS 或一系列已知位置查找知识库。默认路径包括 ~/.gemini/antigravity-ide/knowledge、~/.antigravity-ide/knowledge、~/.dsh/knowledge、~/.codex/knowledge 以及当前目录下的 ./knowledge 和 ./docs/knowledge。
  • 规则注入:插件会从工作区发现 AGENTS.md、GEMINI.md 或 CLAUDE.md 并将其注入到系统提示词中。
  • 版本与更新信息:knowledge_info 工具会返回当前安装版本、更新命令、重启要求以及版本检查结果。

安全防护

  • 安全护栏:插件会拦截 bash、pwsh、cmd 或 terminal 调用中匹配禁止模式的命令(如 git reset --hard、rm -rf 等),防止智能体执行破坏性操作。
  • Token 优化:工具摘要会被截断,避免在后续对话中因输出过长导致 Token 溢出。

安装与启用

环境要求

  • Node.js 版本需 >= 20.0.0。
  • 插件本身无外部依赖,仅使用 Node.js 内置模块 (node:fs, node:path, node:os)。

安装步骤

在 DeepSeek Harness 的终端中执行以下命令:

dsh plugin --profile <profile> add https://github.com/Babydunx1/dsh-knowledge-bridge

安装完成后,需要重启 DeepSeek Harness 以加载新的 JavaScript 模块。

典型用法

安装插件后,可以通过项目自带的脚本验证其功能。这些命令无需 DeepSeek Harness 介入即可运行:

# 运行测试套件
npm test

# 验证构建合约的静态检查
npm run validate

# 演示:索引示例知识库并打印智能体将看到的内容
npm run demo

适用场景与注意

  • 定位说明:这不是一个将整个知识库(2MB 可能产生约 1M tokens)加载到提示词中的记忆系统,也不是向量数据库。它采用确定性关键词评分,不依赖嵌入服务。
  • 权限说明:插件以宿主机权限运行,能访问环境变量指定的路径,但不会自动将整个目录挂载到智能体的上下文中,而是按需检索。
  • 环境变量:可以通过设置 DSH_KNOWLEDGE_PATHS 环境变量来覆盖默认的发现路径。
  • 平台支持:支持 Windows、macOS 和 Linux。

总结

dsh-knowledge-bridge 解决了智能体在沙盒环境下无法获取外部知识以及误操作的风险。它通过零配置发现、按需检索和防破坏机制,为 DeepSeek Harness 提供了可靠的知识层支持。

羽毛球分组比赛记分
小程序二维码

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

小夜