基于 DeepSeek-Harness 的知识问答,支持自定义模型、上传图片、上传文件等。
| Tag | 功能说明 |
|---|---|
v0.1.0 |
发布 Windows 一键安装器,支持自动安装运行环境、部署项目并启动服务。 |
v0.2.0 |
增加知识库问答 API、浏览器测试页面、Python 测试客户端和多模型切换;支持 Qwen、DeepSeek、Ox-Alpha。 |
v0.2.1 |
合并并发布公积金知识库,修复 ACP 最终回答输出和模型连接配置,完善部署文档。 |
- 新增知识库问答 HTTP API,支持用户 ID、知识库 ID、模型选择和多轮
session_id会话。 - 接入 DeepSeek-Harness 中已配置的 Qwen、DeepSeek 和 Ox-Alpha 模型,并按模型预热、复用 ACP 连接。
- 新增浏览器测试页面和 Python 测试客户端,支持模型切换与多轮验证。
- 优化 ACP 最终回答输出,隐藏思考、工具调用和中间过程;身份类问题不触发知识库检索。
- 公积金知识库路径统一为
kb/gjj_kb,补充 Windows 一键安装器和部署说明。 - 新增可挂载到 DeepSeek-Harness 的 grep-first 法律知识库。
- 将法律规则、参考资料、案例和问答统一为带稳定 ID、来源、分类、关键词、权威性、状态和版本字段的 JSONL 记录。
- 增加目录导航、分类/关键词索引、分片数据文件、检索评测样例和
AGENTS.md检索规则。 - 增加
build_kb.py和search_kb.py,支持基于rg的渐进式检索和权威来源优先排序。
- 配置自定义模型时,可以设置模型是否支持多模态输入。
- 上传 PDF、DOCX、DOC 等文档(一个或多个)进行知识问答。
- 上传多张图片进行知识文档,不仅限于在对话框中直接粘贴图片。
- Windows 10/11、macOS 或 Linux
- Git
- Node.js 22.19 及以上版本,推荐使用 Node.js 24
- pnpm 11.7.0(通过 Corepack 安装)
Windows 用户推荐安装 Node.js 24 LTS:
- 打开 Node.js 官方下载页面。
- 选择
v24 LTS、Windows、x64和Windows Installer (.msi)。ARM 电脑请选择arm64。 - 双击下载的
.msi,保持默认选项完成安装。安装器会同时安装 npm,并自动配置PATH。 - 关闭并重新打开 PowerShell,然后确认版本:
node -v
npm -vnode -v 应显示 v24.x.x。如果仍提示找不到 node,请先重启 PowerShell;仍无效时,检查 C:\Program Files\nodejs 是否已加入系统 PATH。
macOS 和 Linux 用户也可以在 Node.js 官方下载页面选择对应平台的安装方式。不要使用已经停止维护的 Node.js 20 或更早版本。
如果系统支持 Corepack:
corepack enable
corepack prepare pnpm@11.7.0 --activate如果提示找不到 corepack,可以先安装:
npm.cmd install -g corepack
corepack enable
corepack prepare pnpm@11.7.0 --activate如果 PowerShell 提示禁止运行脚本,可执行:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned也可以在后续命令中使用 pnpm.cmd,避免 PowerShell 加载 pnpm.ps1。
项目提供 Windows 单文件在线安装器。最终使用者不需要预装 Node.js、Git、pnpm 或 .NET,双击 DeepSeek-Harness-RAG-Setup.exe 后会自动:
- 安装便携版 Node.js 到当前用户目录;
- 下载本项目源码并安装依赖;
- 构建 DeepSeek-Harness-RAG;
- 创建桌面和开始菜单快捷方式;
- 启动服务并打开
http://127.0.0.1:3080。
普通使用者可在仓库的 Releases 页面下载最新的 DeepSeek-Harness-RAG-Setup.exe。维护者推送 v 开头的标签后,GitHub Actions 会自动构建并发布该文件:
git tag v0.1.0
git push origin v0.1.0安装过程需要访问 Node.js、GitHub 和 npm,首次安装时间取决于网络速度。默认安装目录为:
%LOCALAPPDATA%\DeepSeek-Harness-RAG
服务日志位于 %LOCALAPPDATA%\DeepSeek-Harness-RAG\logs。如果双击快捷方式后页面未打开,可先查看 server-error.log。
仓库维护者可在已安装 .NET 8 SDK 的 Windows 机器上生成安装器:
powershell -ExecutionPolicy Bypass -File .\installer\windows\build.ps1生成文件位于:
installer\windows\dist\win-x64\DeepSeek-Harness-RAG-Setup.exe
ARM64 Windows 使用:
powershell -ExecutionPolicy Bypass -File .\installer\windows\build.ps1 -RuntimeIdentifier win-arm64这是在线安装器,因此 EXE 本身较小,但首次运行仍需下载依赖。完全离线安装包需要把 Node.js 和完整运行依赖一并封装,文件会大很多,适合后续通过 GitHub Releases 单独发布,不建议直接提交进 Git 仓库。
使用 HTTPS 克隆仓库和内置的 DeepSeek-Harness 源码:
git clone --recurse-submodules https://github.com/taishan1994/DeepSeek-Harness-RAG.git
cd DeepSeek-Harness-RAG如果克隆时没有加 --recurse-submodules,执行:
git submodule update --init --recursive进入 DeepSeek-Harness 源码目录:
cd deepseek-harness国内网络可先配置镜像和重试参数:
pnpm.cmd config set registry https://registry.npmmirror.com
pnpm.cmd config set fetch-timeout 600000
pnpm.cmd config set fetch-retries 5安装依赖并构建:
pnpm.cmd install --frozen-lockfile
pnpm.cmd build首次构建耗时较长,请等待命令执行完成。
node apps/cli/lib/bin.js web服务启动后,在浏览器访问:
http://127.0.0.1:3080
保持启动命令所在的终端窗口运行。按 Ctrl+C 可以停止服务。
- 打开左侧的“设置”。
- 进入“模型”,添加或编辑模型提供方。
- 填写 API 地址、API Key 和模型 ID。
- 展开模型的高级设置,按实际能力开启“多模态模型”。
- 保存配置后,在对话页面选择该模型。
只有模型接口实际支持图片输入时才应开启多模态开关,否则图片请求可能被模型提供方拒绝。
- 模型 API Key 保存在用户目录的
~/.dsh中,不在 Git 仓库内。 - 不要把
~/.dsh、.env、凭据文件或包含真实密钥的截图提交到 Git。 - 仓库已忽略常见本地凭据文件,并通过 GitHub Actions 检查新增代码中的常见密钥格式。
- 推送前可以在项目根目录手动检查:
powershell -ExecutionPolicy Bypass -File .\scripts\check-secrets.ps1
powershell -ExecutionPolicy Bypass -File .\scripts\check-secrets.ps1 -Repository .\deepseek-harness -Base upstream/master如果真实 API Key 曾经进入 Git 历史,仅删除当前文件并不够:应立即在模型服务商后台吊销旧 Key、创建新 Key,并清理 Git 历史后再推送。
- 点击输入框旁的回形针按钮选择文件。
- 支持同时选择多个文档或图片。
- 文档解析完成后再发送问题。
- PDF 扫描件如果没有文本层,需要先进行 OCR。
- 单个 PDF 文件最大支持 20 MB。
在项目根目录执行:
git pull
git submodule update --init --recursive
cd deepseek-harness
pnpm.cmd install --frozen-lockfile
pnpm.cmd build构建完成后重新启动服务。
停止并重新启动服务,然后在浏览器中按 Ctrl+F5 强制刷新。
Windows 下可以查询占用进程:
Get-NetTCPConnection -LocalPort 3080 -State Listen结束对应进程后重新启动服务,或调整 DeepSeek-Harness 的 Web 服务端口配置。