DeepSeek Harness Toolkit:给不想管炉子的人,一个会自己照看烤箱的工具箱

DeepSeek Harness Toolkit LOGO
介绍
DeepSeek Harness(dsh)是 DeepSeek 的官方工具。官方推荐的用法其实不难,但很"厨房":先备料(装 Node.js),再开火(敲两行命令),以后每次想用都得围着灶台转。
但总有人只想吃面包,不想管炉子。
于是就有了这个项目——DeepSeek Harness Toolkit:一个双击即用的第三方工具箱,把安装、启动、监控、备份、恢复、卸载、甚至"入口坏了怎么修"全收进一个 exe 里。就像把整间后厨的活儿,收进一个小小的烤盘。
从启动器到工具箱:它变大了
最初它只是个"非官方启动器"——几个 bat 脚本负责最基础的安装与启动,后来被用 C# 完整重构,变成单文件程序。现在它不再只是"按一下启动"的开关,而是把后厨里每样工具都擦亮摆齐的工具箱:
| 功能 | 说明 |
|---|---|
| 智能启动 | 打开即检测服务状态(三态:运行中 / 启动中 / 已停止,端口+HTTP 双重校验,其他程序占 3080 不会误判):已在运行 → 直接进状态页;未运行 → 5 秒倒计时自动启动(仅当 dsh 已安装;未安装时菜单等你选择,不会自动安装) |
| 安装 / 修复 | 安装时询问源:默认官方源 npmjs.org,国内镜像 npmmirror 可选;失败自动换另一源重试,不污染全局 npm 配置;回车=装最新版,L=查看历史版本可选装 |
| 状态监控 | 每 3 秒自动刷新服务状态/端口/运行时长,服务掉线红字提醒;监控页内按 1 返回 / 2 打开 WebUI——像盯着烤箱温度一样安心 |
| 桌面快捷方式 | 安装成功后询问是否创建(Y/N);运行中在监控页按 I 随时生成;快捷方式已存在时选项自动隐藏。双击桌面图标就能进烤箱房 |
| 更新 dsh(菜单 8) | 检测新版本 → 选版本(回车最新 / L 历史列表,支持 rc 预发布)→ 破坏性警告双确认 → 更新前自动备份(-pre-update)→ 记录本机历史版本(最多 10 个);dsh 运行中拒绝更新;失败不自动回滚——会提示备份位置与手动回滚命令 |
| 备份 / 恢复 | 一键备份数据目录到 backup`,支持**多个工作区**(自动探测 + 手动指定,按 _workspace名称` 分包、可逐一恢复)与跨电脑导入;内置 \?\ 长路径支持,>260 字符也不怕;手动备份永久保留,自动/保护类备份超出配额(默认 10 个)自动清理最旧 |
| 访问入口 | 127.0.0.1 / localhost 可选并记忆——打开 403/空白?多半是浏览器把两者当不同站点,一键切换就好 |
| 卸载 | 默认保留数据;清除数据需两步确认(当天日期 + yes)且清除前自动备份;Web 服务运行中直接阻止清除 |
| 数据定位 | 自动识别 dsh 数据目录(优先 ~/.dsh,兼容 %APPDATA% 等位置) |
| 自检报告 | 体检页 / selftest:故障时给出中文提示,而不是甩你一行终端报错 |
| 日志轮转 | logs\launcher.log 超过 1MB 自动归档为 launcher.log.1(保留 1 份历史),不再静默丢日志 |
| 多语言 | 跟随系统 / 简体中文 / English,选择持久化 |
这次的更新:把烤箱搬上桌面
工具箱最近两版(v2.1.3 → v2.1.4)做了两件事:
一是修了一个隐蔽的老毛病:给 dsh 装更新、装 Node 时,子进程的输出一旦写满管道缓冲,程序会整个卡住。现在后台线程实时排空并转发 stdout/stderr——并且加了"1MB 洪水"回归测试,专门防止这毛病复活。属于"你自己发现不了,但修完世界安静了"的那种修复。
二是加了桌面快捷方式:安装成功后问一句"要不要建快捷方式",运行中按 I 也能随时生成,已存在就自动隐藏选项。命令行也能一键建:Toolkit.exe shortcut。双击桌面图标,烤箱房一步到位。
安全设计:开源 + 可复现构建 + 三重删除防护
这类双击即用的 exe 天然存在信任门槛——所以项目做了三件事:
1. 完全开源(MIT),源码一行不藏,无第三方依赖。
2. 可复现构建 + 自证清白:GitHub Actions 在打 tag 时自动编译 exe、重新生成哈希清单(hashes.txt)打包上传 Release。仓库不存二进制,任何人都能核对"你下载的 exe 和源码编译出来的完全一致";任何"自称官方编译"的二进制,拿指纹一对就现形。
3. 删除保护三重闸门:卸载时的"清除全部数据"是最危险的操作——它删的是 ~/.dsh(含会话与 API 凭据)。项目给足了保险:
- 第一道:清除前自动备份到
backup\ - 第二道:两步确认(输入当天日期 +
yes) - 第三道:三重验证——Web 服务运行中直接阻止;必须存在随包分发的根目录标记
.dsh_launcher_root(防止 exe 被单独复制到别处后误删);目标目录必须含 dsh 数据特征(settings.yaml / credentials.yaml / sessions 等)
就像关炉子前的安全检查:火灭了、手不抖、炉子确认是本店的,才动手。
测试:它自己会考自己
没有测试框架、没有第三方依赖,用 C# 的 /define:UNIT 做同程序集单元测试 + 打桩端到端集成测试矩阵(只碰打桩目录,绝不接触真实数据)。现在已经有 109 项单元测试 + 29 个集成用例,覆盖路径往返、工作区黑名单、端口三态判定、备份保留策略、甚至"1MB 输出洪水灌死管道"这种刁钻场景;GitHub Actions 每次推送自动跑两套。烤出来的面包,先自己尝过才敢端上桌。
第一次用(三步)
- 解压上传包到独立文件夹(程序的备份和配置写在 exe 所在目录,放桌面会把桌面弄乱)
- 双击 exe:dsh 未安装 → 菜单等你选择,按 1 安装(默认官方源,镜像可选,一般 1–3 分钟);安装成功后问你要不要建桌面快捷方式
- 在菜单中选择 2 启动 Web 界面,浏览器自动打开
诚实的边界
- 这是第三方非官方维护的项目,与 DeepSeek 官方无关,不承诺与未来 dsh 版本的兼容性(若 dsh 日后变更默认端口 / 启动命令 / 数据目录,本工具需要跟进更新)
- 分发的是 Windows exe,信任门槛靠"开源 + 哈希清单"来补
- 如果你是终端熟练用户,直接用官方 npm 命令更轻快;这个工具是给"不想碰终端"的人准备的——毕竟,总有人只想吃面包,不想管炉子。
获取
GitHub:https://github.com/sakanamaru/DeepSeek-Harness-Toolkit
MIT 许可,源码、构建脚本、哈希清单、测试都在仓库里。转载或二次发布时请保留署名与"非官方"声明。
在雾星町,面包房的烤箱从不空着。
v1 脚本协助:SOGR-Momono Dango · v2 重构封装:DeepSeek DSH · GitHub:@sakanamaru