Skip to content

Repository files navigation

DeepSeek-Harness-RAG

基于 DeepSeek-Harness 的知识问答,支持自定义模型、上传图片、上传文件等。

更新日志

版本功能说明

Tag 功能说明
v0.1.0 发布 Windows 一键安装器,支持自动安装运行环境、部署项目并启动服务。
v0.2.0 增加知识库问答 API、浏览器测试页面、Python 测试客户端和多模型切换;支持 Qwen、DeepSeek、Ox-Alpha。
v0.2.1 合并并发布公积金知识库,修复 ACP 最终回答输出和模型连接配置,完善部署文档。

2026-08-26

  • 新增知识库问答 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.pysearch_kb.py,支持基于 rg 的渐进式检索和权威来源优先排序。

2026-08-24

  • 配置自定义模型时,可以设置模型是否支持多模态输入。
  • 上传 PDF、DOCX、DOC 等文档(一个或多个)进行知识问答。
  • 上传多张图片进行知识文档,不仅限于在对话框中直接粘贴图片。

使用说明

环境要求

  • Windows 10/11、macOS 或 Linux
  • Git
  • Node.js 22.19 及以上版本,推荐使用 Node.js 24
  • pnpm 11.7.0(通过 Corepack 安装)

安装 Node.js

Windows 用户推荐安装 Node.js 24 LTS:

  1. 打开 Node.js 官方下载页面
  2. 选择 v24 LTSWindowsx64Windows Installer (.msi)。ARM 电脑请选择 arm64
  3. 双击下载的 .msi,保持默认选项完成安装。安装器会同时安装 npm,并自动配置 PATH
  4. 关闭并重新打开 PowerShell,然后确认版本:
node -v
npm -v

node -v 应显示 v24.x.x。如果仍提示找不到 node,请先重启 PowerShell;仍无效时,检查 C:\Program Files\nodejs 是否已加入系统 PATH

macOS 和 Linux 用户也可以在 Node.js 官方下载页面选择对应平台的安装方式。不要使用已经停止维护的 Node.js 20 或更早版本。

安装 pnpm

如果系统支持 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 一键安装器

项目提供 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 可以停止服务。

配置模型

  1. 打开左侧的“设置”。
  2. 进入“模型”,添加或编辑模型提供方。
  3. 填写 API 地址、API Key 和模型 ID。
  4. 展开模型的高级设置,按实际能力开启“多模态模型”。
  5. 保存配置后,在对话页面选择该模型。

只有模型接口实际支持图片输入时才应开启多模态开关,否则图片请求可能被模型提供方拒绝。

API Key 安全

  • 模型 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 强制刷新。

3080 端口被占用

Windows 下可以查询占用进程:

Get-NetTCPConnection -LocalPort 3080 -State Listen

结束对应进程后重新启动服务,或调整 DeepSeek-Harness 的 Web 服务端口配置。

About

基于DeepSeek-Harness的知识问答,支持自定义模型、上传图片‘、上传文件等

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages