deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:TaoSmile/dsh-shell
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
官方姿势是在终端里跑 dsh web 再开浏览器。对已经装好 harness 的你来说,只是想少两步:
| 痛点 | dsh-shell 的答案 |
|---|---|
| 每次开终端、敲命令、复制 URL | 双击一次,窗口自己弹出来 |
| 忘记 harness 有没有在跑 | 自动探测:在跑就包住它,没跑就替你拉起来 |
| 标签页里找不到、被淹没 | 独立桌面窗口 + 托盘常驻(Electron 版) |
| 端口冲突 / "HTTP 200"假就绪白屏 | --port 0 自动分配端口;就绪以官方 URL 行为准 |
它不是什么:不是仿制 UI、不是发行版、不打包运行时。窗口里 100% 是官方 Web GUI——壳的全部工作都在窗口之外。
零安装版(推荐先试):双击 启动Harness桌面.vbs(无黑窗,失败弹提示),完。
启动Harness桌面.vbs ──▶ 自动探测/拉起 harness ──▶ 独立桌面窗口(Edge app-mode)
启动Harness桌面.cmd(行为相同,保留可见窗口)。powershell -File launcher\start-shell-edge.ps1 -CreateDesktopShortcut,执行一次即可。开机自启开关.vbs 一键切换——弹窗显示当前状态,确认后生效。命令行等价:-ToggleAutostart。完整版(托盘 / 状态窗 / 日志 / 重试):
cd dsh-shell
npm install # 已内置 npmmirror 镜像,解决 Electron 二进制下载失败
npm start # 或双击 start-electron.cmd
flowchart LR
A[双击 启动Harness桌面.cmd] --> B{探测 http://127.0.0.1:3080<br/>响应含 __DSH_BOOT__ 才算就绪}
B -->|已在运行| C[开窗附着<br/>不拥有生命周期,退出不影响]
B -->|未运行| D[复用现有环境拉起<br/>node lib/bin.js web --port 0]
D --> E[解析官方就绪行<br/>dsh web: http://127.0.0.1:port]
E --> C
C --> F[官方 Web GUI 原样呈现<br/>会话/设置共享 ~/.dsh]
两条铁律:
dsh web: http://…,绝不把"HTTP 200"当就绪(防止白屏)。| 🚀 Edge 零安装版 | 🖥️ Electron 完整版 | |
|---|---|---|
| 安装 | 无 | npm install(一次性) |
| 窗口 | Edge app-mode 独立窗口(专用 profile,记住位置) | 原生窗口 + 尺寸记忆 |
| 托盘 | - | 显示/隐藏、重启、打开日志 |
| 状态小窗 | - | 启动进度 / 错误 / 日志 / 重试 |
| 单实例 / 关窗即停 | ✅ 复用探测 + 关窗自动停拉起的实例 | ✅ 单实例锁 + 退出即停 |
| 适合 | 快速体验、零门槛 | 日常主力 |
社区已有一体化打包(如 anywhere-labs、xiincs 等):它们内置 Node/依赖,给没装过 harness 的新用户开箱即用。dsh-shell 走另一条路:
| dsh-shell | 一体化打包 | |
|---|---|---|
| 面向 | 已经装好 harness 的用户 | 全新用户 |
| 新增环境 | 零 | 自带 Node + 依赖 |
| harness 改动 | 零 | 常附带集成插件 |
| 数据 | 与命令行共享 ~/.dsh |
通常独立数据目录 |
| 体积/维护面 | 最小 | 完整产品 |
| 主窗口(官方 Web GUI 原样呈现) |
|---|
![]() |
首次运行自动生成 %APPDATA%\dsh-shell\dsh-shell.json(Electron 版;默认值见 src/config.js):
| 键 | 默认 | 说明 |
|---|---|---|
harnessCheckout |
D:\workspace\deepseek-harness |
A1 拉起使用的 checkout 路径 |
attachUrl |
http://127.0.0.1:3080 |
A0 附着探测地址 |
spawnMode |
auto |
tsx(源码)/ built(构建产物)/ auto(失败自动回退) |
dshHome |
'' |
空 = 继承环境(默认 ~/.dsh);可显式指定 |
spawnArgs |
[] |
追加给 dsh web 的参数(默认已有 --port 0) |
dsh:// 深链dsh web 冲突吗? 不会。壳先探测,命中就附着同一个实例,不会起第二份、不会抢写同一份配置。~/.dsh(或你设置的 DSH_HOME),与命令行共享同一份会话。.\launcher\start-shell-edge.ps1 -Stop。Electron 版退出即停。附着模式(A0)两者都不干预。npm install electron(已内置 npmmirror 镜像)。dsh-shell/
├─ 启动Harness桌面.vbs 零安装双击启动(无黑窗,推荐)
├─ 启动Harness桌面.cmd 零安装双击启动(可见控制台输出)
├─ 开机自启开关.vbs 开机自启开关(可选,默认关闭)
├─ start-electron.cmd Electron 版双击启动
├─ src/ Electron 主进程
│ ├─ main.js 窗口 / 托盘 / 菜单 / 生命周期
│ ├─ host-manager.js 壳↔harness 唯一桥:attach / spawn / 就绪解析 / 日志
│ ├─ config.js 配置读写
│ └─ preload.js 仅注入壳自己的状态小窗
├─ ui/
│ └─ status.html Electron 版启动状态 / 错误 / 日志
├─ launcher/start-shell-edge.ps1 Edge 版核心逻辑(含原生启动动画)
├─ scripts/make-icon.ps1 图标生成器(白鲸图形,可改样式重新生成)
└─ assets/ icon.png / icon.ico / tray.png
任何形式的 issue / PR 都欢迎,见 CONTRIBUTING.md。边界只有一条:不改 harness 核心(对上游的改动请直接提给 deepseek-ai/deepseek-harness)。
MIT,与上游 deepseek-ai/deepseek-harness(MIT)保持一致。
如果它帮你省了几步,点个 ⭐ 再走~
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。