Self-editing desktop workbench for DeepSeek Harness: a full dsh web replica with an edit mode in which the agent modifies the workbench (patch layers, plugins, UI) with hot reload.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:lsz-asd/dsh-chameleon#path:/bundle
GitHub-sourced plugins run build scripts on your machine at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
自修改桌面工作台 —— DeepSeek Harness (DSH) 的独立桌面客户端:完整 dsh web 功能 + 编辑模式(agent 边对话边改工作台,免重启热更新)。
⚠️ 编辑模式为半成品(实验性):当前可改补丁层/插件并热更新,但 HMR 链路、工具集覆盖面与组合层变更仍有已知缺口(详见
docs/DEVELOPMENT.md),请勿在生产会话中依赖。
功能介绍
| 类别 | 说明 |
|---|---|
| 🖥️ 独立客户端 | 双击即启动(3998 端口);独立 DSH_HOME(~/.dsh-chameleon),与 web 完全隔离、可同时运行 |
| 🚀 长上下文流畅 | 消息列表渐进渲染 + 后台不节流 + zstd 本地回放,40 万 token 会话流畅滚动 |
| 🎨 UI 微调 | 无边框窗口 + 原生控件;智能拖拽区(样式表规则,重渲染不丢);会话日志按钮自动避让 |
| ✏️ 编辑模式 | selfedit 预设:改补丁层/插件/UI 实时生效,编辑历史与回滚、workbench_* 工具集(半成品) |
| 🗑️ 会话删除(可选插件) | 头部按钮 + 侧栏菜单项(不跳转),弹框显示会话名与序列号;运行中可删(先停再删);删除后原地刷新不重载。一行安装:dsh plugin add github:lsz-asd/dsh-plugin-session-delete |
| 🔌 插件生态 | 完整继承官方 dsh web 插件面(工具 / 会话 / 审批 / UI 等 130+ 组合行)+ 自研 workbench 插件 ×3;设备信息(12 个 win_* 工具)、sleep、会话健康等常用插件一行 dsh plugin add 按需安装 |
安装说明
只需装两样东西:dsh 本体(运行时)+ 我们的客户端。 除此之外不需要任何大依赖——不需要 pnpm、不需要单独的 Harness 源码;客户端不内置(更不会重复安装)运行时,保持轻量。
1. 装 dsh 本体(运行时)
npm install -g @deepseek-ai/dsh
需要 Node.js ≥ 20(建议 24):https://nodejs.org
2. 装客户端
# 获取源码
git clone https://github.com/lsz-asd/dsh-chameleon.git
cd dsh-chameleon/apps/desktop
# 安装客户端(Electron 壳 + 几 KB 客户端代码,npm 或 pnpm 皆可)
npm install # 或 pnpm install
# 启动(Windows 双击快捷方式,或)
npm start
首次启动自动创建独立 home(~/.dsh-chameleon)、写入 chameleon profile,并把客户端的 4 个小包复制进 Harness 的模块回退目录——没有任何包管理器安装,几秒完成;之后秒开。
客户端复用你已装的 dsh 本体:优先用全局安装(
npm i -g的位置),其次 PATH,最后才是本地副本——不会重复下载数百 MB 的 Harness。
可选:打包为安装程序(Windows)
cd apps/desktop
npm run dist # electron-builder 生成 NSIS 安装器(dist/ 目录)
插件安装(可选,任意 profile)
dsh plugin --profile <profile> add github:lsz-asd/dsh-plugin-session-delete # 会话删除
dsh plugin --profile <profile> add github:lsz-asd/dsh-plugin-device-info # 设备信息(12 个 win_* 工具)
重启 profile 生效。
插件管理是唯一需要 pnpm 的路径(
dsh plugin内部转发 pnpm):npm install -g pnpm。客户端基线完全不需要。
更新计划
- 编辑模式完善:HMR 链路加固、工具集补全(组合层变更热生效)
- Windows 安装包:发布 NSIS 安装器(
npm run dist产物上架 Release;不内置 dsh 运行时,复用系统 dsh 本体,客户端保持轻量) - 会话删除增强:fork 级联删除、删除事件总线广播(替代 reload)
- 插件市场页:客户端内浏览/安装发布插件(对接
dsh plugin) - 会话迁移工具:跨 home 导入/导出会话
结构
apps/desktop/ Electron 壳(自举独立 home + Chrome 注入)
packages/ workbench-core / workbench-ui / workbench-runtime
bundle/ 补丁装配层
presets/selfedit 编辑模式预设
scripts/ 自举与验证脚本
版本历史
v0.3.0 · 2026-08-14
- 轻量安装重构:客户端不再内置
@deepseek-ai/dsh(依赖树由 ~646MB 降至纯 Electron 壳),改为复用系统 dsh 本体(全局安装 → PATH → 本地副本) - 基线零 pnpm:profile 自举不再跑
pnpm install——客户端把自己的 4 个小包(bundle + workbench ×3)同步进 Harness 的扁平模块回退目录,随装随走;pnpm 仅剩「可选插件管理」一条路径 - bundle 瘦身:移除指向本机绝对路径的
@huanlin/dsh-plugin-session-delete依赖与补丁行(已独立成仓,按需dsh plugin add安装) - 升级迁移:旧 pnpm 流程装出的 profile 自动归一化(清掉
file:依赖与陈旧@dsh-external副本) - 客户端首次自举即向独立 home 播种编辑模式预设
v0.2.0 · 2026-08-14
- 会话删除重构:侧栏 "..." 菜单项不跳转对话,直接弹出确认框
- 弹框显示会话名称与序列号;运行中的会话显示警告("删除会立即停止其任务…")但仍可删除
- 当前会话可直接删除;删除运行中会话时 host 先停止 agent(cancel + 等待静止)再清理
- 删除后原地刷新列表(不重载页面),并从内存 store 摘除会话(修复"已删会话残留在未分组")
- 侧栏菜单按客户端列表匹配会话(修复 fork 后缀等标题差异导致的"点了没反应")
v0.1.0 · 2026-08-14
- 首个发布版:独立客户端(独立 home、双击启动、免重启热更新)
- 会话删除插件(当时随 bundle 分发:头部按钮 + 侧栏菜单项 + 风险确认 + 端到端清理)
- 编辑模式(selfedit 预设 + workbench 工具集 + 3 个编辑技能)
Links
More in this category
hust-open-atom-club/oh-dsh★ 165
Community distribution: TUI, desktop, and Web UI as one bundle with layered installation.
Jayden-X-L/forkprobe★ 65
Compare multiple skills on the same task and pick the winner.
vlln/plugin-registry★ 35
Ecosystem infrastructure: a thin browser console for managing official repository plugins (zero patches) plus a make-dsh-plugin skill for guided plugin development.
forrestchang/dsh-multica-runtime★ 30
Run the dsh runtime on Multica.
DietCokewithSugar/dsh-user-experience★ 18
Finds potential UX issues in your project: automatically reviews React/TypeScript code, pinpoints each problem, and gives concrete suggestions.
omdsh-dev/dsh-plugin-check★ 17
Plugin health checks: manifest protocol / patch format / build traps, zero-dependency and read-only.