deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:H2O-MERO/DeepSeek-Harness-GUI
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
把 DeepSeek Harness 的 Web UI
(即 npx @deepseek-ai/dsh web 提供的浏览器界面)封装为免安装的 Electron 桌面应用:
@deepseek-ai/dsh 依赖,
目标机器无需安装 Node.js / npm,解压后双击即可使用;data\ 中,随应用文件夹一起移动/备份;dist\DeepSeek-Harness\ 目录(或解压 dist\DeepSeek-Harness-portable-win-x64.zip);DeepSeek-Harness.exe;整个
DeepSeek-Harness\文件夹就是应用本体:拷到 U 盘 / 移动硬盘 / 其他电脑均可直接运行。 提示:未签名的便携 exe 在陌生电脑上可能触发 SmartScreen,选“更多信息 → 仍要运行”即可。
DeepSeek-Harness\
├─ DeepSeek-Harness.exe 应用入口
├─ runtime\ 内置运行时(Node.js + dsh 全部依赖)
├─ resources\app\ Electron 应用代码
└─ data\ 所有用户数据(删除本目录 = 清空全部数据)
├─ dsh\ DeepSeek Harness 数据根(DSH_HOME)
│ ├─ sessions\ 对话记录(JSONL)
│ ├─ settings.yaml 界面设置(模型选择等,热加载)
│ ├─ .credentials.yaml API 密钥(受管凭据,仅本机使用)
│ └─ profiles\web\ 配置文件(cordis.patch.yml 等)
├─ workspace\ 默认工作目录(agent 读写文件的位置)
├─ electron-profile\ 界面浏览器数据(主题、localStorage、缓存)
└─ logs\ electron.log / server.log 运行日志
数据根固定为 data\dsh(不继承外部 DSH_HOME,保证便携性一致);如需放到其他位置,可设置环境变量 DSH_PORTABLE_DATA。
Electron 主进程
├─ 用内置 runtime\node\node.exe 启动子进程:
│ dsh web --host 127.0.0.1 --port 3080 (DSH_HOME=<app>\data\dsh)
├─ 轮询 http://127.0.0.1:3080/ 等待服务就绪(端口被占用自动 +1 重试)
├─ BrowserWindow 加载该地址(与 Web UI 同源,/api 请求天然受信)
└─ 退出时 taskkill 结束服务进程树;Chromium 数据与 dsh 数据都在 data\ 下
# 1. 安装构建依赖(electron;缓存重定向到 .cache\)
$env:npm_config_cache = (Resolve-Path .).Path + '\.cache\npm'
$env:ELECTRON_CACHE = (Resolve-Path .).Path + '\.cache\electron'
$env:electron_config_cache = $env:ELECTRON_CACHE
npm install
# 2. 构建(自动执行 prepare-runtime:下载便携 Node.js + 安装 dsh 依赖,然后打包)
npm run build
# 产物:
# dist\DeepSeek-Harness\ 便携应用目录
# dist\DeepSeek-Harness-portable-win-x64.zip 便携压缩包
开发调试:npm start(需先执行一次 npm run prepare-runtime)。
自动冒烟测试:设 DSH_ELECTRON_SMOKE=<png路径> 后启动,应用加载成功会截图并自动退出。
npm run update-dsh -- -Version 0.1.0-rc.7
脚本会更新 runtime\server\package.json 依赖版本、重新安装依赖并重新打包。
data\logs\server.log 与 data\logs\electron.log。DSH_PORTABLE_DATA 指向 NTFS 目录。node.exe。| 变量 | 作用 |
|---|---|
DSH_HOME |
由应用固定为 <app>\data\dsh(不继承外部环境,保证数据始终在应用目录) |
DSH_PORTABLE_DATA |
显式覆盖 dsh 数据根位置(一般无需设置) |
DSH_APP_ROOT |
覆盖应用根目录探测(默认 exe 所在目录) |
PORTABLE_EXECUTABLE_DIR |
便携包场景下的应用目录(与 electron-builder portable 兼容) |
DSH_PERMISSION_MODE |
透传给 dsh:文件沙箱与审批策略(默认 workspace-write + ask) |
@deepseek-ai/dsh):MIT,见 runtime\server\node_modules\@deepseek-ai\dsh\LICENSELICENSE.electron.txtruntime\node\LICENSE.node.txtCLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。