dsh-knowledge-base:在 DeepSeek Harness 里自建跨境选品知识库

前言

做跨境选品相关的 Agent,常见做法是每次把规范、阈值、合规清单整段贴进对话,或靠外部向量库。文档一多,上下文难维护,回答也难和「你自己的资料」对齐。DeepSeek Harness(DSH)支持以插件扩展 Web 宿主:工具、系统提示、侧栏页面都可以挂在同一套 profile 上。

下面介绍社区插件 dsh-knowledge-base(维护者 qinshige,分类:记忆)。它在 Harness 左侧栏增加「我的知识库」入口,支持上传跨境选品类文档;之后在任意对话里提问时,Agent 会先检索知识库再作答,并引用文档标题。知识库清单还会以动态上下文注入每次模型请求,模型不必先调工具就知道库里有哪些文档。

这是什么

  • 名称:dsh-knowledge-base(npm 包名同此)
  • 版本(资料记载):0.1.0
  • 许可证:MIT
  • 定位:纯 JS 源包,无构建步骤、无第三方依赖;为 DSH 0.2.x(README 实测 0.2.1-rc.5)提供左侧栏知识库页面、6 个 kb_* 工具,以及面向跨境选品的系统提示规则。

插件不依赖厂商 API Key 或外部网络服务,装完后可离线使用本机知识库与检索。

核心功能

左侧栏与知识库页面

  • 左侧栏面板图标区新增「我的知识库」,点开为完整管理页。
  • 上传:拖拽或多选文件,按分类入库;逐文件显示状态与失败原因。
  • 列表:标题、分类、字数、片段数、入库时间、正文首行预览;可改分类。
  • 检索测试:页内关键词检索,命中片段高亮,可跳转预览。
  • 预览 / 删除:全文弹层预览;删除需两步确认且不可恢复。

给 Agent 的六个工具

工具 作用
kb_list_documents 列出文档与统计,回答前确认覆盖范围
kb_search 中文 BM25(bigram 分词),返回片段、标题、docId
kb_read_document 按片段读取全文,避免一次撑爆上下文
kb_add_document 从本机路径导入(如用户要求把某文件加入知识库)
kb_update_document 修改标题 / 分类
kb_delete_document 删除(须用户明确同意,且 confirm: true)

系统提示与问答策略

  • 静态规则:跨境选品问题 → 先 kb_search,不够再 kb_read_document → 回答时引用文档标题;库内没有的内容须标注为「知识库外的通用经验」。
  • 动态上下文:每次请求注入当前文档清单(标题、分类、字数、id);库为空时给出上传指引。

支持格式与限制

支持:.md、.markdown、.txt、.csv、.tsv、.json、.html、.yml、.yaml、.docx、.xlsx。
不支持 PDF 及 .doc / .xls / .ppt 等旧格式(README 建议另存为 .docx / .txt 后上传)。

单文件 ≤ 25MB,单篇正文 ≤ 60 万字(超出截断)。原始文件字节不保留,只保存提取后的正文,因此不支持「下载原文件」。HTTP 接口仅接受本机环回访问。

安装与启用

插件以当前 DSH 进程的权限运行;安装前建议浏览 GitHub 仓库 源码并确认 MIT 许可证。以下命令均摘自 README。

方式 A:Release tarball(推荐)

# 本地文件
dsh plugin --profile <profile> add /绝对路径/dsh-knowledge-base-0.1.0.tgz
# 或 Release 直链
dsh plugin --profile <profile> add https://github.com/qinshige/dsh-knowledge-base/releases/download/v0.1.0/dsh-knowledge-base-0.1.0.tgz

# 确认已进入层栈
dsh --profile <profile> --dump-config | grep dsh-knowledge-base

装完后重启 Harness 并刷新 Web 页面;左侧栏出现「我的知识库」即表示成功。

方式 B:Git 仓库地址

dsh plugin --profile <profile> add https://github.com/qinshige/dsh-knowledge-base.git

README 提醒:Git 依赖可能触发 pnpm 构建闸门;本插件无构建脚本,tarball 更省事。若用仓库地址,可用 --ignore-scripts 或先以目录方式 add。

方式 C / D

  • npm 发布包名:dsh plugin --profile <profile> add dsh-knowledge-base(若包名冲突需改 scope 并同步 cordis.patch.yml 与 client.js 模块 id)。
  • 本地开发:dsh plugin add <目录绝对路径>,pnpm link,改代码可较快迭代。

升级需重装对应版本并重启 Harness;数据目录与包版本无关,升级不丢文档。

兼容性:需要带 webServer / systemPrompt / tools 的标准 Web profile(desktop、dsh web 默认即可);DSH 0.2.x 实测可用。

典型用法

  1. 左侧栏点「我的知识库」。
  2. 把文档拖进上传区(或「选择文件」),选分类,等状态为「已入库」。
  3. 回到任意对话提问,例如:
    - 「按照我的知识库,新手做亚马逊美国站应该按什么标准选品?」
    - 「我的知识库里关于物流成本的阈值是多少?」
    - 「把知识库里合规相关的内容整理成清单」
  4. 也可在对话中说:「把 ~/Desktop/选品资料.docx 加进知识库」,Agent 会调用 kb_add_document。

仓库自带 sample/跨境选品示例文档.md,上传后即可验证问答。

数据存放与备份

内容 位置
文档正文 + 元数据 $DSH_HOME/knowledge-base/docs/<id>.json
未设置 DSH_HOME ~/.dsh/knowledge-base/docs/

页面底部会显示实际数据目录。备份或迁移时拷贝整个 knowledge-base/ 目录即可。检索索引为内存派生缓存,启动后首次检索时按需构建。

适用场景与注意

适合:在 DSH 里做跨境选品咨询、内部 SOP/阈值/合规类问答,希望回答优先 grounded 在你自己上传的 Markdown、Office 表格等资料上,且愿在本机维护文档、接受环回 HTTP 与无 PDF 解析的限制。

注意:

  • 插件与 Harness 同权限,勿上传含敏感凭证的文档到共享环境。
  • kb_delete_document 需用户明确同意;界面删除不可恢复。
  • 社区目录 SkillHub 插件页 与 GitHub 为分发与说明入口,与 DeepSeek / 幻方无法官方从属关系;DSH 生态理念是「一切皆插件」。

结尾

dsh-knowledge-base 把「上传—分块—BM25 检索—工具化问答」收进一个无第三方依赖的 DSH 插件:有独立管理页,又有 kb_search 等与系统提示联动的 Agent 工作流。若你正在 Harness 上迭代选品类 Agent,可先装 Release tarball,用示例文档跑通检索与引用,再迁入自己的资料库。

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

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

小夜