DeepSHPlugins
DEEPHARNESS 项目预览
GITHUB / COMMUNITY PROJECT

DEEPHARNESS

Ecosystem & DevelopmentJavaScriptMIT

DeepSeek Harness as a native Windows desktop app: one-click start from a desktop shortcut, an Electron window instead of a browser tab, persistent extras (file tree, terminal, cost estimator, branded appearance), all data stays local

7 StarsNANTI34 Updated 2026-08-24
Open GitHub repository
DEEPHARNESS 项目预览
DEEPHARNESS 界面截图DEEPHARNESS 界面截图DEEPHARNESS 界面截图

About this project

Chinese

DeepSeek Harness as a native Windows desktop app: one-click start from a desktop shortcut, an Electron window instead of a browser tab, persistent extras (file tree, terminal, cost estimator, branded appearance), all data stays local

English

DeepSeek Harness as a native Windows desktop app: one-click start from a desktop shortcut, an Electron window instead of a browser tab, persistent extras (file tree, terminal, cost estimator, branded appearance), all data stays local

Project details & listing signals

Snapshot 2026-09-11
Creator / organization
NANTI34
Repository
NANTI34/DEEPHARNESS
GitHub Stars
7
Forks
1
Programming language
JavaScript
License
MIT
Last push
2026-08-24
Manifest
Not detected / not recorded

A public repository does not automatically permit commercial use. Check the project's license and compatibility. Manifests and catalog scores are not security certifications.

Catalog score

60/ 100
Maintenance activity
88
Documentation & practical information
50
Community interest
29
Installation signals
80
Project declarations
85

近 18 天仍在更新;关注度尚低(7)。

Scores use five dimensions of the catalog snapshot. They are browsing aids, not hands-on reviews or security assessments.

Install & use

The respective GitHub repositories define project information and licensing.

git clone https://github.com/NANTI34/DEEPHARNESS.git && cd DEEPHARNESS && powershell -ExecutionPolicy Bypass -File .\install.ps1

Copying a command does not execute it. Read the repository documentation and check requirements and licensing first.

Project screenshots

Repository README

GitHub 原文

Saved repository documentation. Its capture date was not recorded and it may differ from the catalog description. Check the current repository before installing.

Repository documentation is preserved in its original language.

DEEPHARNESS — DeepSeek Harness Windows 桌面应用

把 DeepSeek Harness 变成真正的 Windows 桌面应用:一条命令安装,双击桌面图标,原生应用窗口打开你的 AI 工作台——不是浏览器套壳。

logo

MIT License Platform Node Version


📸 截图预览

DEEPHARNESS 界面预览


📖 这是什么?

DeepSeek Harness (DSH) 是 DeepSeek 官方的开源 AI 智能体工作台:一个运行在你自己电脑上的全栈 Agent 运行时,提供浏览器操作界面、技能(Skill)系统、多模型路由、沙箱文件系统、子代理编排等能力,数据完全保存在本地。

DEEPHARNESS 项目把 DSH 变成了一款 Windows 原生桌面应用,解决四个日常痛点:

痛点本项目的解法
每次都要敲命令启动服务桌面快捷方式一键启动,自动检测/拉起服务
命令行黑窗口难看、容易误关无控制台窗口,服务常驻后台
浏览器标签页不像"应用"Electron 原生应用窗口(独立任务栏图标、无地址栏),浏览器仅为备选入口
增强功能(文件/终端/外观/浏览器)重启就丢常驻增强插件随服务自动加载,重启后依然在

✨ 特性

  • 🖥️ 原生桌面应用 — Electron 窗口加载工作台:独立窗口、任务栏图标、无地址栏/标签页/浏览器菜单,窗口大小与位置自动记忆(%USERPROFILE%\.dsh\app\window-state.json)
  • 🚀 一键启动 — 双击桌面快捷方式:检测服务 → (未运行则后台启动)→ 原生窗口打开工作台,重复双击只会聚焦已有窗口
  • 🧠 智能探测 — 先 TCP 探测端口,再用 __DSH_BOOT__ 页面标记 + API 探测双重确认确实是 DSH 服务,避免误用他人端口
  • 📁 文件视图(常驻) — 会话视图栏「文件」标签:工作区文件树(自动隐藏 node_modules/.git 等),点击文件即时预览/编辑,支持保存写回与新建文件
  • 🖥️ 终端面板(常驻) — 会话视图栏「终端」标签:工作区根目录下的命令执行器(PowerShell),快速运行命令并查看输出与退出码
  • 💰 费用估算(常驻) — 按 DeepSeek 官方定价 实时估算本会话费用:真实 token 用量(输入/缓存命中/输出),自动适配 2026-08-17 峰谷定价(高峰 9:00-12:00、14:00-18:00 为基准价,空闲时段半价,8.17 前按旧价),同时给出 flash 与 pro 两档参考
  • 📊 统计/技能/环境(常驻) — 会话视图栏另有「统计」(会话 token/耗时/费用明细)、「技能」(内置 Agent 预设与本地技能库浏览)、「环境」(插件版本/路径/诊断,一键复制)标签
  • 🌐 内置轻量浏览器(常驻) — 会话视图栏「浏览器」标签:搜索(百度/必应/Google)、打开网址、调试本地纯前端应用——输入本地 index.html 路径(或直接把文件拖进地址栏),经同源路由托管,ES module / fetch / Worker 均可运行;桌面端为独立 Chromium 内嵌窗口,F12 打开独立开发者工具,站点弹窗(target=_blank,如 B站视频卡片)自动就地打开,视频支持全屏
  • 🐟 大肥鱼桌面伴侣 — DSH 状态驱动的桌面宠物(plugins/dsh-dafeiyu):实时显示思考/干活/等待/成功/出错状态卡,右键可调整大小/减少动态/隐藏/关闭;点击状态卡右上角 ⋯ 打开聊天对话框与鱼对话
  • 🎨 品牌外观(常驻) — 设置 →「界面外观」独立区块:品牌深蓝顶栏/侧栏色(可自定义主色)、界面字体切换(可导入字体)、渐变/图片背景预设、金边装饰开关(全界面金色描边光晕)、一键换肤(5 款自研预设 + 10 款社区开源皮肤:QQ2008 怀旧/蓝色幻想/鲸吟/方块世界/深海女仆工坊(非商用)/XP/同花顺/交易终端/初音未来/龙裔,互斥切换可恢复默认)、侧边卡片开关(会话视图栏标签逐项显示/隐藏),选择保存在浏览器本地,重启后自动恢复
  • ⬆️ 应用更新检查(常驻) — 设置 →「界面外观」→「应用更新」:默认开启自动检查,启动时联网对比 GitHub main 分支版本(jsdelivr → raw → releases 多源探测,30 分钟缓存),发现新版本时右上角显示 ↑ 徽标,点击弹出更新内容(当前/最新版本、最近提交、复制升级命令、打开发布页、忽略此版本);仅提醒不自动安装,网络不可达时静默
  • 🛠️ DEEPHARNESS 工具(常驻) — 设置 →「DEEPHARNESS 工具」独立区块:
  • 一键夺舍 — 选择 Codex / Claude Code 目录一键迁移:自动注册为工作区、新建会话并发送迁移指令,AI 把技能(skills)、MCP 服务器、长期记忆(CLAUDE.md / AGENTS.md)全部搬进 DSH(也可仅复制指令)
  • 自定义提示词(soul.md) — markdown 人设卡注入系统提示词,保存后约 300ms 热重载,无需重启
  • 长期记忆 — 自动捕获每轮「用户提问 → 助手答复」写入本地记忆库(可搜索/清空),按量注入新会话提示词,实现跨会话记忆
  • 后端切换 — 一键切换默认模型后端(官方 v4 Pro / v4 Flash / opencode-go 第三方 / 自定义 provider+model),原配置自动备份
  • 💾 数据 100% 本地 — 配置、会话、技能、沙箱全部保存在 %USERPROFILE%\.dsh
  • 📦 便携分发 — 应用本体在 app/ 与 desktop/,克隆仓库 + 一条安装命令即可使用
  • ⚖️ MIT 开源 — 应用本体来自 DeepSeek 官方开源项目,本项目为纯封装增强
  • 🧪 极简 V2 / V3 模式 — 内置极简模式系列:minimal-v2(动态极简:主/子 Agent 首轮仅暴露双工具 bash/pwsh + str_replace_editor,提示词固定为 "You are a helpful software engineer assistant.",首次工具调用后开放完整目录,压缩后重新锚定回极简态)与 minimal-v3(极简 V3)
  • 🛡️ 插件安装安全网(dsh-plugin-guard) — 安装第三方插件前的自动快照、一键/自动回退、守护启动与事故报告(随仓库分发)

🔧 工作原理

┌──────────────────────────────────────────────────────────────────┐
│ 双击桌面 "DEEPHARNESS" 快捷方式                                    │
│   → electron.exe + desktop\main.js(原生窗口,无浏览器)            │
└──────────────────────────────┬───────────────────────────────────┘
                               ▼
             单实例锁(重复双击 → 聚焦已有窗口)
                               ▼
         ┌───────────── 端口 3080 上已有 DSH 服务? ─────────────┐
         │ 是                                             │ 否  │
         ▼                                                ▼     │
   复用现有服务(不再启动)                        后台启动服务          │
   探测:端口 + __DSH_BOOT__ + API        node app\lib\bin.js web   │
   检查:工作区是否一致(不一致则警告)              │ 等待就绪(≤120s)     │
         │                                                │        │
         └──────────────────┬─────────────────────────────┘        │
                            ▼                                      │
              Electron 原生窗口 → http://127.0.0.1:3080              │
                            ▼                                      │
       DeepSeek Harness 工作台 + 常驻增强插件(文件/终端/统计/技能/环境/浏览器/外观/费用)
                            + 大肥鱼桌面伴侣(桌面宠物)      │
└──────────────────────────────────────────────────────────────────┘

关键细节:

  • 服务常驻 — 服务由启动器独立拉起,关闭应用窗口/浏览器不影响服务运行
  • 工作区一致性 — 服务始终以仓库根目录为工作区启动;若 3080 上运行的是别的工作区启动的服务(如手动 npx dsh 从其他目录启动),桌面应用会弹出警告,因为 DSH 的会话按工作区存放、此时看不到本仓库的会话与文件
  • 日志留痕 — 服务输出写入 logs\server.log 与 logs\server.err.log,桌面应用启动日志写入 %USERPROFILE%\.dsh\app\boot.log,启动失败时窗口内直接展示错误尾部
  • 智能清缓存 — 桌面壳按「插件版本 + client bundle 内容哈希(rev)」对比,任一变化即清空页面 HTTP 缓存——即使插件版本号保持不变(V1.6.0),新功能/修复也一定在重启后生效,不会因旧缓存导致点击失效
  • 幂等安全 — 无论双击多少次快捷方式,都只会得到一个服务实例和一个窗口

环境要求

项目要求
操作系统Windows 10 / 11(x64)
Node.js20 或更高版本(<https://nodejs.org>),已安装时启动器自动复用
浏览器仅"浏览器回退入口"需要;默认入口(Electron)无需浏览器

🚀 快速开始

git clone https://github.com/NANTI34/DEEPHARNESS.git
cd DEEPHARNESS
powershell -ExecutionPolicy Bypass -File .\install.ps1

install.ps1 自动完成:

  1. 检查 Node.js(缺失时打开官网引导安装)
  2. 安装应用依赖(app/ 的 npm install,首次约 1–3 分钟;已装过则自动跳过)
  3. 安装桌面壳依赖(desktop/ 的 Electron,首次需下载约 120MB,失败自动切换国内镜像重试)
  4. 安装常驻增强插件(plugins\deep-harness-appearance + plugins\deep-harness-tools + plugins\dsh-plugin-guard 写入 web profile,随服务启动自动加载,无需每次授权)
  5. 创建桌面快捷方式:
  • DEEPHARNESS — Electron 原生应用窗口(主入口)
  • DEEPHARNESS(浏览器) — 默认浏览器回退入口

然后双击桌面 DEEPHARNESS 即可。首次双击会静默完成服务启动,稍等片刻原生窗口自动打开。

🖱️ 使用说明

快捷方式行为适用场景
DEEPHARNESSElectron 原生应用窗口(主入口)日常使用,真正的桌面 APP 体验
DEEPHARNESS(浏览器)默认浏览器打开工作台需要浏览器多标签页协作时

自定义端口与工作目录

# 用 8080 端口启动/打开(需同时指定 Electron 窗口端口):
powershell -ExecutionPolicy Bypass -File .\launcher\DEEPHARNESS.ps1 -Port 8080 -AppMode

# 指定工作目录(Agent 的文件操作以此为根;会话也按此目录存放):
powershell -ExecutionPolicy Bypass -File .\launcher\DEEPHARNESS.ps1 -Workspace D:\my-workspace
提示:自定义端口时,桌面快捷方式固定指向 3080;如需同步,请用上面的 PowerShell 命令启动。

退出与系统托盘

关闭 DEEPHARNESS 窗口时会弹出询问(可勾选"记住选择"):

选项行为
最小化到托盘应用驻留系统托盘,DSH 服务继续运行;左键托盘图标重新打开窗口,右键菜单可退出
退出并结束服务退出应用,并停止本地 DSH 服务(占用 3080 端口的服务进程会被结束)
退出(服务保持运行)仅关闭应用窗口,服务常驻后台,下次双击直接复用

托盘右键菜单同样提供「打开工作台 / 最小化到托盘 / 退出(服务保持运行) / 退出并停止服务」。 记住的选择保存在 %USERPROFILE%\.dsh\app\desktop-settings.json 的 closeAction 字段。

常用路径

路径说明
%USERPROFILE%\.dsh全部数据:配置、会话、技能、凭据
%USERPROFILE%\.dsh\profiles\webWeb 工作台配置文件(含常驻插件加载项)
%USERPROFILE%\.dsh\app桌面壳状态:窗口位置、启动日志、冒烟证据
%USERPROFILE%\.dsh\sessions会话记录(按工作区目录分文件夹存放)
%USERPROFILE%\.dsh\backgrounds上传的背景图(裁剪产物)
logs\server.log / logs\server.err.log服务运行日志 / 错误日志
fonts\外观插件"导入字体"的字体文件目录(仓库侧)
assets\backgrounds\出厂默认背景图(仓库侧)

🎨 工作台增强(常驻插件,重启不丢)

DEEPHARNESS 外观与增强插件(plugins\deep-harness-appearance)由 install.ps1 安装进 web profile,随服务启动自动加载——不再像旧版"动态插件"那样需要每次在 Run 卡片授权、服务重启后全部丢失:

  • 品牌色自定义 — 设置 →「DEEPHARNESS 外观」独立区块:可自由挑选品牌主色,顶栏/标题行用主色,侧边栏自动配同系深色(两者区分不雷同),全部不随浏览器主题变化(可一键关闭)
  • 字体风格 — 默认 / 微软雅黑 / 宋体 / 楷体 / 等宽 一键切换,选择自动记忆
  • 导入字体 — 将 .ttf / .woff2 等放入 fonts\ 目录,或在设置页直接上传(保存到 %USERPROFILE%\.dsh\fonts),一键应用
  • 渐变背景预设 — 暗夜蓝 / 极光紫 / 深林 / 纯色深蓝,选择自动记忆
  • 图片背景 + 16:9 裁剪 — 设置页上传任意图片,弹出固定 16:9 比例裁剪框(拖动定位、缩放 0.05×–8× 可截超大画面或细节),确认后自动应用并保存到 %USERPROFILE%\.dsh\backgrounds;仓库自带 assets\backgrounds\默认.jpg(2560×1440)作为出厂默认背景;用户上传的背景可一键删除(出厂自带受保护)
  • 半透明玻璃视效 — 有背景(渐变或图片)时,侧边栏呈现调亮的品牌蓝半透明,聊天/轨迹等内容卡片同步半透明化,壁纸在侧边栏、聊天区、轨迹界面处处可见,不再有大片纯色遮挡
  • 金边装饰 — 设置页「装饰」开关:开启后全界面(侧边栏、面板、对话框、消息气泡、输入区、标签页、卡片等)披上金色描边与光晕,繁复华丽风格
  • 一键换肤(预设 + 社区皮肤) — 设置页「一键换肤」:5 款自研预设(经典蓝调 / 薄荷绿黑 / 樱花粉 / 深空紫 / 赛博霓虹)+ 10 款社区开源皮肤完整移植(dsh-web-ui 系列 BSD-3-Clause:QQ2008 怀旧 / 蓝色幻想 / 鲸吟 / MINECRAFT 方块世界 / Windows XP / 同花顺 / 交易终端 / 初音未来 / 龙裔;dsh-deep-whale 的「深海女仆工坊」CC BY-NC-SA 4.0 禁止商用)——原版 bundle 完整加载(含标题栏/状态栏装饰组件、角色/背景素材),不再是半移植 CSS;一键互斥切换、可恢复默认;皮肤激活时自动接管外观(壁纸/玻璃/品牌背景停用,互不打架),许可文本随附
  • 侧边卡片(标签开关) — 设置页「侧边卡片」:会话视图栏的「浏览器/文件/终端/统计/技能/环境」标签逐项显示/隐藏(默认全开,修改后刷新页面生效)
  • 费用统计 — 「文件」「终端」标签页顶部实时显示本会话费用估算:
  • 基于会话投影中的真实 token 用量(输入 / 缓存命中 / 输出)
  • 自动适配 2026-08-17 峰谷定价:8.17 前按旧价;之后按北京时间高峰(9:00-12:00、14:00-18:00,基准价)与空闲时段(半价)自动切换
  • 同时给出 flash 与 pro 两档参考价
  • 文件视图 — 会话视图栏「文件」标签:左侧工作区文件树(层级连线、自动隐藏 node_modules/.git 等),点击文件右侧即时预览与编辑,支持保存写回与新建文件;代码按文件类型自动语法高亮(JS/TS/Python/JSON/PowerShell/Java/C/C++/Go/Rust/SQL/YAML/HTML/CSS/Markdown 等,大文件自动降级保流畅)
  • 终端面板 — 会话视图栏「终端」标签:工作区根目录下的命令执行器(PowerShell),快速运行命令并查看输出,支持命令历史与清屏
  • 统计 / 技能 / 环境 — 「统计」按会话展示 token 用量、耗时与费用明细;「技能」浏览内置 Agent 预设与本地技能(SKILL.md);「环境」展示插件版本、工作区/数据目录、平台等诊断信息,一键复制
  • 内置浏览器 — 会话视图栏「浏览器」标签:
  • 地址栏支持:搜索词(可切换 百度/必应/Google)、网址(自动补全 https://)、本地 index.html 路径(绝对路径如 D:/demo/index.html 或工作区相对路径,也可直接拖入文件)
  • 本地纯前端应用经 /deepharness/browser/serve/* 同源路由托管(正确 MIME、目录自动找 index.html、支持 Range),ES module / fetch / Worker 全部可用——这是 file:// 打开所不具备的
  • 工具栏:后退/前进/刷新/前往/F12;状态栏实时显示当前页面 URL;切走标签页再回来不丢页面(记住访客页当前位置);加载失败显示错误条 + 重试
  • 桌面端使用独立 Chromium 内嵌窗口(<webview>),F12(或工具栏「F12 调试」按钮)打开该页面独立的开发者工具;浏览器回退模式为 iframe
  • 站点弹窗(target=_blank / window.open,如 B站视频卡片)自动就地打开,不另开窗口;视频支持全屏
  • 大肥鱼桌面伴侣 — plugins/dsh-dafeiyu(随服务自动加载):
  • 桌面最上层透明宠物,实时跟随 DSH 会话状态:休息/思考/干活/等你/完成/出错,头顶状态卡显示当前任务与进度
  • 点击宠物有摸头/戳/尾巴互动,双击表白;右键菜单可调整大小(小/标准/大)、减少动态、本次隐藏、本次关闭
  • 点击状态卡右上角 ⋯ 打开「大肥鱼 · 聊天」对话框:气泡聊天、Enter 发送,鱼会按关键词回复并汇报当前状态/任务
  • 设置页(设置 → 大肥鱼)可开关、调大小、活跃程度、减少动态、是否响应子 Agent

DEEPHARNESS 工具插件(plugins\deep-harness-tools,随服务自动加载)

设置 →「DEEPHARNESS 工具」独立区块:

  • 一键夺舍 — 参考社区 dsh-easy-setup 方案:选择 Codex / Claude Code 的安装/配置目录(或普通项目目录)→ 自动注册为工作区并新建会话 → 迁移指令自动发送,AI 全程用工具调用把技能(.claude/skills、.codex/skills、skills/)、MCP 服务器(.mcp.json / config.toml / .claude.json)与长期记忆(CLAUDE.md / AGENTS.md → soul.md)搬进 DSH,每一步可视化;也可「仅复制指令」手动执行
  • 自定义提示词(soul.md 人设) — 默认 %USERPROFILE%\.dsh\soul.md(可换路径),markdown 人设卡注册为 soul:persona 系统提示词区块;文件被监听,保存后约 300ms 热重载,无需重启;设置页内直接编辑
  • 长期记忆 — 监听会话事件自动捕获每轮「用户提问 → 助手最终答复」,追加写入 %USERPROFILE%\.dsh\memory\memories.jsonl(上限 2000 条自动滚动);注册 memory:recall 提示词区块(函数文本,每次组装时重读),把最近 N 条(0–10,默认 5)注入新提示词,实现跨会话长期记忆;设置页支持关键词搜索与一键清空
  • 后端切换 — 读取/改写 %USERPROFILE%\.dsh\settings.yaml 的 agent-default-model(provider / model / reasoningEffort),预设:官方 v4 Pro、官方 v4 Flash、opencode-go v4 Flash(第三方,需已装对应 provider 预设)、自定义;写入前自动备份 settings.yaml.bak,只对新会话生效
  • 插件市场(精选) — 离线精选清单(better-sidebar / tdai-memory / soul-md / tool-vision / webui-market / easy-setup / balance / terminal / file-changes / deep-flow / TUI / mobile-fix),一键复制安装/卸载命令,装完重启服务生效
  • 数据与配置:deepharness-tools.json(开关/路径/条数)、memory\memories.jsonl(记忆库),均在 %USERPROFILE%\.dsh 下
插件工作原理:host 半在 webServer 上注册 /deepharness/api/* 路由(文件树/读写、命令执行、字体与背景图托管、浏览器本地文件同源托管 /deepharness/browser/serve/*),浏览器半通过 DSH 的 dsh.client 机制自动加载(会话视图栏标签 + 设置项)。背景生效机制:背景承载在 html/body,同时用主题令牌把框架/侧栏变为半透明(不使用 backdrop-filter,避免创建包含块把全屏浮层困在侧边栏)。文件路径做了工作区包含校验,越界请求一律拒绝;浏览器托管允许绝对路径(本地调试工具)。
手动安装/卸载(install.ps1 已自动完成):
node .\app\lib\bin.js plugin --profile web add .\plugins\deep-harness-appearance
node .\app\lib\bin.js plugin --profile web remove deep-harness-appearance
大肥鱼伴侣插件(plugins\dsh-dafeiyu,含桌面宠物程序 runtime\bin\win32-x64\dsh-dafeiyu-helper.exe,已随仓库分发)手动安装:
node .\app\lib\bin.js plugin --profile web add .\plugins\dsh-dafeiyu
node .\app\lib\bin.js plugin --profile web remove dsh-dafeiyu

🔒 数据与持久化

  • 全部本地:会话记录、技能、模型配置、沙箱文件均保存在 %USERPROFILE%\.dsh,不上传任何服务器
  • 仅本机访问:服务默认绑定 127.0.0.1,不对局域网开放
  • 会话按工作区存放:DSH 的会话记录存放在 %USERPROFILE%\.dsh\sessions\<工作区路径> 下。请始终通过 DEEPHARNESS 快捷方式启动(工作区 = 仓库根目录);若从其他目录手动运行 npx dsh,打开工作台会看不到本仓库的旧会话——会话没有丢,只是换了工作区,回到 DEEPHARNESS 启动即可恢复
  • 配置持久化:模型配置(settings.yaml)、凭据(.credentials.yaml)、常驻插件(profiles\web)均在 %USERPROFILE%\.dsh,卸载/删除仓库均不影响
  • 删除即走:删除仓库目录不影响数据;彻底清除需删除 %USERPROFILE%\.dsh

📁 项目结构

DEEPHARNESS/
├─ app/                        # DeepSeek Harness 应用本体(@deepseek-ai/dsh v0.1.0-rc.6)
│  ├─ lib/                     # CLI 启动入口(bin.js 等)
│  ├─ config/                  # 内置 Agent 预设与技能
│  └─ package.json             # 依赖清单(含 package-lock.json 锁定版本)
├─ desktop/                    # Electron 桌面壳(真正的原生应用窗口)
│  ├─ main.js                  # 主进程:单实例/探测/拉起服务/窗口状态/工作区检查
│  ├─ preload.js               # 页面桥(__dshDesktop:设置/字体/外部链接/状态事件)
│  └─ package.json             # Electron 依赖
├─ plugins/
│  ├─ deep-harness-appearance/ # 常驻增强插件(文件/终端/统计/技能/环境/浏览器/外观/皮肤/费用)
│  │  ├─ lib/index.js          # host 半:/deepharness/api/* 路由(含背景图托管、浏览器文件托管、皮肤托管)
│  │  ├─ lib/client.js         # 浏览器半:会话视图标签 + 设置项 + 16:9 背景裁剪
│  │  ├─ skins/                # 社区皮肤:bundles/(原版完整 bundle,dsh-web-ui BSD-3 + 女仆工坊 CC BY-NC-SA)+ 元数据与许可
│  │  └─ test/                 # 契约测试(client-bundle.test.cjs)
│  ├─ deep-harness-tools/      # 工具插件(一键夺舍/人设 soul.md/长期记忆/后端切换/插件市场)
│  │  ├─ lib/index.js          # host 半:systemPrompt 区块 + 记忆捕获 + /deepharness/tools/* 路由
│  │  ├─ lib/client.js         # 浏览器半:设置 →「实用工具」区块
│  │  └─ test/                 # 契约测试(client-bundle.test.cjs)
│  ├─ dsh-plugin-guard/        # 插件安装安全网(快照/回退/守护启动/事故报告,来自 lxzy-7)
│  │  ├─ src/                  # host 半:快照引擎/事故分析/守护启动
│  │  ├─ lib/client.js         # 浏览器半(立即加载)
│  │  └─ scripts/              # boot-guard / rollback / smoke-test 脚本
│  └─ dsh-dafeiyu/             # 大肥鱼桌面伴侣(宠物 + 聊天,内置 helper.exe)
│     ├─ src/                  # host 半:helper 进程管理、会话状态桥接
│     ├─ lib/client.js         # 设置页卡片(设置 → 大肥鱼)
│     ├─ runtime/helper.py     # 宠物窗口源码(PySide6)
│     └─ runtime/bin/win32-x64/dsh-dafeiyu-helper.exe  # 编译好的宠物程序
│  ├─ dsh-open-design/          # OpenDesign 运行时适配(@open-design/dsh-runtime,Apache-2.0,来自 nexu-io/open-design)
│  │  ├─ src/                   # host 半:startup(CLI flag 解析)+ runtime(JSONL stdio 协议)
│  │  ├─ dist/                  # 构建产物(index.js/startup.js/invariant.js)
│  │  └─ cordis.patch.yml       # 服务注入补丁(仅插入 startup+runtime 两条,保留 persona 与热更新)
├─ assets/
│  └─ backgrounds/默认.jpg     # 出厂默认背景(16:9 裁剪,2560×1440)
├─ launcher/
│  ├─ DEEPHARNESS.ps1          # 启动器(端口探测 + 后台启动 + 打开界面)
│  ├─ start-hidden.vbs         # 无控制台窗口调用(wscript)
│  └─ assets/dsh.ico           # 应用图标(16–256px 多尺寸)
├─ install.ps1                 # 一键安装:依赖 + 常驻插件 + 桌面快捷方式
├─ uninstall.ps1               # 一键卸载:删除桌面快捷方式(-RemovePlugin 连插件)
├─ tools/
│  ├─ make-icon.ps1            # 图标生成脚本(可复现)
│  └─ logo.png                 # README 横幅
├─ README.md                   # 本文档
├─ LICENSE                     # MIT 协议
└─ .gitignore

❓ 常见问题

Q:双击快捷方式后没有反应? A:启动是静默的,首次启动需等待服务就绪(通常 5–20 秒)。若超时,原生窗口会显示错误与 logs\server.err.log 的错误尾部;桌面壳自身的日志在 %USERPROFILE%\.dsh\app\boot.log。

Q:提示"端口 3080 被占用/服务启动失败"? A:启动器只会复用"确认是 DSH 的服务";若是其他程序(或从其他目录手动运行的 npx dsh)占用,请先关闭它,或换端口:

powershell -ExecutionPolicy Bypass -File .\launcher\DEEPHARNESS.ps1 -Port 8080 -AppMode

Q:打开后会话列表是空的,我之前的对话呢? A:会话没有丢。DSH 的会话按"工作区(服务启动目录)"存放——如果 3080 上是从别的目录启动的服务(例如手动 npx @deepseek-ai/dsh@latest web),就看不到 D:\…\DEEPHARNESS 工作区里的会话。关闭那个服务,再通过 DEEPHARNESS 快捷方式启动即可;桌面应用检测到这种情况时会弹出警告。

Q:「文件」「终端」等标签不见了? A:它们由常驻插件提供。若安装时跳过了插件(或 profile 被重置),手动执行:

node .\app\lib\bin.js plugin --profile web add .\plugins\deep-harness-appearance

然后重启服务。外观设置存在浏览器本地存储中,清除浏览器数据会重置外观。大肥鱼不见了同理安装 plugins\dsh-dafeiyu。

Q:浏览器标签里点视频/链接没反应? A:网站用 target=_blank/window.open 打开的链接(如 B站视频卡片)需要桌面壳的弹窗就地打开处理——请完整重启应用(托盘 → 退出并停止服务 → 重新打开),并确认「浏览器」标签使用的是桌面 webview 模式(重启后自动启用)。

Q:提示"未找到 Node.js"? A:安装 Node.js 20+ 后重试:<https://nodejs.org>

Q:数据会丢吗? A:数据在 %USERPROFILE%\.dsh,与仓库目录相互独立。卸载应用、删除仓库都不会动数据。

🔄 升级

cd DEEPHARNESS
git pull
powershell -ExecutionPolicy Bypass -File .\install.ps1 -Force   # 重新安装依赖并刷新快捷方式
install.ps1 -Force 会强制重新执行 npm install 以同步上游依赖更新。

🗑️ 卸载

powershell -ExecutionPolicy Bypass -File .\uninstall.ps1            # 删除桌面快捷方式
powershell -ExecutionPolicy Bypass -File .\uninstall.ps1 -RemovePlugin  # 同时移除常驻插件

删除桌面快捷方式后,删除仓库目录即完成卸载(数据保留在 %USERPROFILE%\.dsh)。

⚖️ 开源与致谢

  • 本项目基于 MIT 协议开源(见 LICENSE)
  • 应用本体来自 DeepSeek 官方开源项目 deepseek-ai/deepseek-harness(@deepseek-ai/dsh v0.1.0-rc.6,MIT)
  • 感谢 DeepSeek 团队开源如此出色的 Agent 运行时
  • 特别感谢两位参考项目作者(一键夺舍 / 长期记忆 / 一键换肤 / 侧边卡片等功能的思路来源):
  • zouyuxuan122 / Deepseek-Harness-EAC(揽尽万象)
  • myYangyunfan / dsh_desktop(Gitee 镜像)
  • 感谢 QCYTSN / dsh-dafeiyu 贡献大肥鱼桌面伴侣(宠物 + 聊天,MIT)
  • 感谢 zhu1090093659 / dsh-web-ui(BSD-3-Clause)与 Small-tailqwq / dsh-deep-whale(CC BY-NC-SA 4.0,禁止商用)提供内置社区皮肤
  • 感谢 Sanqi-normal / dsh-webui-market-plugin 贡献插件市场(浏览 awesome-dsh-plugin.com 目录、一键安装/卸载到当前 profile,MIT;应用内入口:设置 → 插件 → 插件市场)
  • 感谢 xmanrui / dsh-im 贡献 IM 机器人接入(飞书/微信/企业微信/QQ/Slack/Telegram/Discord/WhatsApp,MIT;应用内入口:设置 → 插件 → IM机器人)
  • 感谢 yjh051108 / dsh-routing-suite 贡献运行时插件注入器与思维模式路由预设(dsh-super-injector,BSD-3-Clause:dev_* 工具全家桶/免重启注入/热重载/自愈;dsh-router-standard,MIT:Router Standard / Router Spec 任务感知路由模式,应用内入口:设置 → 注入器;新会话可选 Router Standard / Router Spec 模式)
  • 感谢 nexu-io / open-design 贡献 OpenDesign 运行时适配(@open-design/dsh-runtime,Apache-2.0:JSONL stdio 协议,让 OpenDesign 驱动 Harness 完成编码/设计任务;已适配 web profile——保留现有 persona 与热更新,dsh --profile <od-profile> --probe/--models/--stdio 启用)
  • 感谢 DeepSeek AI 助手在本项目中的代码实现、DEBUG 与兼容性优化;应用内设置 →「感谢名单」可查看完整名单

最后,我添加了新的极简模式,以期能重现美丽的灰测白月光。

English Overview

DEEPHARNESS packages DeepSeek Harness — DeepSeek's open-source AI agent workbench — as a native Windows desktop app (not a browser wrapper).

  • Native window: an Electron shell (desktop shortcut DEEPHARNESS) that probes the local port (3080 by default), boots the DSH server in the background if needed, and opens the workbench in a standalone app window with no address bar or browser chrome. A browser shortcut remains as a fallback.
  • Persistent enhancement plugin: the file-tree view, terminal panel, stats/skills/env tabs, a built-in lightweight browser tab (search / open URLs / debug local index.html with ES modules and F12 DevTools), appearance (brand topbar / fonts / gradients / gold trim) and per-session cost estimate ship as a profile plugin (plugins/deep-harness-appearance) that auto-loads with the service — no more re-authorizing after every restart. A desktop pet BigFish (plugins/dsh-dafeiyu) shows live session status and comes with a chat dialog.
  • 100% local data: everything lives in %USERPROFILE%\.dsh (sessions are stored per workspace directory); the server binds to 127.0.0.1 only.
  • Requirements: Windows 10/11 + Node.js 20+.
git clone https://github.com/NANTI34/DEEPHARNESS.git
cd DEEPHARNESS
powershell -ExecutionPolicy Bypass -File .\install.ps1   # installs deps + plugin + desktop shortcuts

Double-click the DEEPHARNESS shortcut on your desktop. Uninstall with uninstall.ps1. MIT licensed — see LICENSE.

Before you begin

Check the current repository for installation, compatible versions and licensing. Stars and catalog scores are snapshot-based browsing signals.

Installation & troubleshooting · 项目问题反馈

Related projects