Repository navigation
Releases
v0.1.6
v0.1.5
v0.1.5 — 九个插件全部进安装包
安装包从三个内置插件扩到九个:任务看板、无限画布、手机遥控、仓库面板、章鱼Git、
自动化、长文阅读、墨鱼终端、鲨鱼数据库。首启时逐个问一次,默认全部勾选,可以只留
想要的那几个,也可以全部取消。
已经装过外壳的用户不会被再问一遍(首启只问一次),六个新插件在托盘 → 设置 → 插件
里逐个装。
- 打包链路扩到九个 tarball(安装包 +2.4 MB)。鲨鱼数据库的面板直接用已提交的
lib/webview,不在打包时跑 vite——CI 不装插件依赖,跑了三个平台会一起挂;没有
面板产物时打包直接报错,而不是打出一个空白页的包。 - 墨鱼终端与鲨鱼数据库有运行时依赖(ssh2/xterm;十来个数据库驱动),单个安装的
耐心从 3 分钟提到 10 分钟,并排在安装顺序最后:慢的那两个失败也不影响前面已经
装好的。 - 首启页容得下九张卡片:列表自己滚,说明和「继续」按钮不再被挤出屏幕;卡片上不再
逐个重复移除命令,移除统一走托盘 → 设置 → 插件。 - 新增守卫 scripts/bundled-plugins.test.mjs:plugins.rs 的 BUNDLED、
pack-plugins.mjs 的 BUNDLED 与 tauri.conf.json 的 resources 三处必须一致——
三处失配都不会在构建时报错。另有一条 cargo test 守卫盯着「清单里有依赖的插件
必须标 heavy」。 - CI 删掉五组与 for 循环完全重复的插件检查步骤;「这几个不进安装包」的注释已不成立。
v0.1.4
v0.1.3
v0.1.3 — 三个内置插件:任务看板、仓库面板、画布、手机遥控 ## 新增 - **仓库面板插件(dsh-plugin-repopanel)**:复刻 codeg-plus 的仓库面板,列出当前工作区 origin 远端的 issue 与 PR,可筛选、查看详情、发评论、关闭重开,并把条目变成任务板上的任务。支持 GitHub,GitLab 接口已留口未实现。不随安装包内置,需手动安装:`dsh plugin --profile web add dsh-plugin-repopanel` - **无限会话画布插件(dsh-plugin-canvas)**:复刻 codeg-plus 的无限画布,用区域把会话按工作区/智能体聚在一起,卡片钉住单个会话,便签记想法。Figma 式对齐参考线、iPhone 式叠卡成区域、小地图、框选、视口落 localStorage。不随安装包内置,需手动安装:`dsh plugin --profile web add dsh-plugin-canvas` - **手机遥控插件(dsh-plugin-mobile-bridge)**:用 MCode 手机 App 遥控这台机器的 dsh,扫码配对、看会话、发消息、批准工具调用。另起 0.0.0.0:8790 监听服务手机接口(REST + SSE/WebSocket),每个请求要 Bearer token,管理接口只挂 loopback。手写 QR 编码器(byte mode, ECC L/M, 版本 1-20)+ 61 个测试覆盖协议、投影、路由。随安装包内置,首启时询问是否安装。外网接入教程:`plugins/dsh-plugin-mobile-bridge/docs/public-access.md` ## 改进 - **内置插件从单个推广为列表**:外壳现在支持多个内置插件,`src-tauri/src/plugins.rs` 的 `BUNDLED` 是列表、按 id 收发 IPC 命令、首启逐个勾选、设置页逐个装卸 ## 已知限制 - 仓库面板未做:Checks 页、Files/diff 页、合并框、GitLab 完整支持、codeg-plus 的投递与回帖 - 画布未做:会话内容编辑(只读)、协作(单机账本) - 手机遥控未做:session.fork、附件下载、队列编辑;一次只有一个环形缓冲(600 帧),多台手机同时看高频回合最慢的可能撞 gap;没有 TLS(局域网明文 HTTP,外网请让隧道或反代终结 TLS) ## 测试覆盖 - repopanel: 73 个测试 - canvas: 93 个测试(插件)+ 31 个测试(cargo) - mobile-bridge: 61 个测试
v0.1.2
v0.1.2 — 设置窗口,30 分钟自动更新检查,插件装卸 GUI
v0.1.1 里自动更新是半成品:check_for_updates 注册了却没有任何地方调用,而且它只返回一句话,不下载也不安装。现在托盘菜单加了「设置」,打开一个独立窗口:
更新
每 30 分钟后台查一次;发现新版本就改托盘 tooltip 与菜单项文字,并把设置窗口弹出来(每个版本只弹一次——30 分钟一轮反复弹比不弹更糟)。点「下载并安装」才动手,带下载进度。不弹系统通知、不自动下载,那两件事由你决定。
插件
任务看板能在 GUI 里装/卸,状态以 dsh profile 落盘的 bundles 为准(你自己在命令行改过也能如实反映),改完给一个「重启 dsh 服务」按钮。
版本信息 + 诊断
Node 现在显示绝对路径而不是裸名 node.exe,能分辨「你以为在用哪个 node」和「外壳真正拉起的是哪个」——这个架构下最常见的故障都出在这件事上。
已知限制
- macOS / Linux: 安装更新后需要手动重启应用(按钮会提示);Windows 会自动重启。
- 自动更新内容范围: 安装器只更新外壳本身,不会更新它锁定的 dsh 版本(那个版本锁定在 tauri.conf.json 里,随外壳的更新一起变)。首次启动时外壳会安装锁定版本的 dsh,所以更新外壳后重启会顺带把 dsh 也升到新锁定版本。
对比 v0.1.1
- 托盘菜单加「设置」项,打开设置窗口(第二个 vite 入口 settings.html)
- 后台每 30 分钟检查一次更新,发现新版本时改托盘提示并弹出设置窗口
- 插件可以在 GUI 里装/卸,不用再敲命令行
- Node 路径显示绝对路径而不是裸名(诊断时更有用)
- 样式提取成 theme.css,供启动页与设置窗口共用
v0.1.1
v0.1.1 — 修好自动更新的清单,并把任务看板插件带进安装包
修复
- v0.1.0 的自动更新清单是坏的。 latest.json 里只有 macOS 一个条目,且那个
条目的 URL 是 404。现在三个平台都会入清单;文件名里的空格在上传前就归一化,
清单里的 URL 与 GitHub 上的资源名一致。 - 首次启动安装 dsh 时,进度里的已耗时显示成「已用 NaN 分 NaN 秒」。那几十分钟
里它是唯一能说明「没卡死」的信号。 - PATH 最前面出现空项时,Windows 上的 cmd.exe 会查不到任何命令(表现为
「'pnpm' 不是内部或外部命令」)。
新增
-
任务看板插件(dsh-plugin-taskboard)随安装包内置。 首次启动在启动页问一次
要不要装,复选框默认勾选;取消就不装,而且不再问。装了之后 dsh 侧栏多一个四列
看板(待办 / 进行中 / 需关注 / 已完成),agent 多六个 taskboard_* 工具,验收与
退回只有人能做。它需要 pnpm——
dsh plugin是把参数转发给 pnpm 的,探测不到 pnpm 就不问。
要移除:dsh plugin --profile web remove dsh-plugin-taskboard(这个 dsh 版本
还没有插件卸载界面,只能走命令行)。这是外壳「只做打包、不改上游行为」这条硬约束的唯一例外,README 的「项目边界」
里单独写明了理由与代价。
已知限制
- 自动更新还没接到界面上。 外壳里有检查更新的命令,但没有任何地方调用它,
也还不会下载安装。所以从 v0.1.0 升级需要手动下载下面的安装包。 - 首次启动很慢。 dsh 是「一切皆插件」架构,一次要装 450+ 个包、约 200MB,
实测可达数十分钟。装完之后每次启动约 2 秒。 - 跳转到 dsh 界面后外壳失去 UI 控制权。 此时 dsh 崩溃无法显示错误页,
需从托盘退出再重开。 - 会话格式与 dsh 版本绑定。 用更新版本 dsh 写出的会话,本版会拒绝加载
(报 SessionFormatUnsupportedError)。这是上游的保护机制。
问题该提到哪里
- 进入 dsh 界面之前的问题(窗口起不来、找不到 Node、装不上、更新异常)
→ 本仓库 - 进入之后的一切(模型、工具、会话、插件、界面)
→ https://github.com/deepseek-ai/deepseek-harness
本项目为非官方第三方打包,与 DeepSeek 官方无隶属关系。
上游 DeepSeek Harness 为 MIT 许可,版权归 DeepSeek AI。
v0.1.0
v0.1.0 — DeepSeek Harness 桌面外壳首个版本
把官方开源的 DeepSeek Harness (@deepseek-ai/dsh) 装进原生窗口。
只做桌面打包,不改上游任何功能行为。
本版锁定上游 dsh 0.1.1-rc.2。
使用前必读
需要自备 Node ^22.19 或 >= 24。 安装包不含 Node 运行时,这是安装包
只有几 MB 的代价。没装或版本过低时,应用会给出带下载链接的指引页。
用 nvm/fnm/volta 管理多版本、或图形化启动时 PATH 里看不到 node 的情况,
可用环境变量 DSH_DESKTOP_NODE 指定 node 可执行文件的完整路径。
首次启动很慢。 dsh 是「一切皆插件」架构,首次要从 npm 装 450+ 个包、
约 200MB。在 npm 缓存已热的机器上实测耗时 55 分钟,冷缓存或网络较差会
更久。安装期间界面会显示已获取包数与已耗时。装完之后每次启动约 2 秒。
点关闭是缩进托盘,不是退出。 dsh 服务继续在后台运行,下次打开是秒开。
真正退出走托盘右键菜单 → 退出。忘记退出的话 node 进程会一直留在后台。
平台验证状态
- Windows:完整验证(启动、跳转、托盘、退出后进程与端口回收)
- macOS / Linux:仅通过编译,未做真机验证。托盘行为在 Linux 上依赖
libappindicator,不同桌面环境差异较大,预计会有问题
已知限制
- 跳转到 dsh 界面后,外壳失去 UI 控制权:此时 dsh 崩溃无法显示错误页,
需从托盘退出再重开 - 会话格式与 dsh 版本绑定:用更新版本 dsh 写出的会话,本版会拒绝加载
(报 SessionFormatUnsupportedError)。这是上游的保护机制,拒绝加载比
错误解析安全 - 端口分配存在几毫秒竞态窗口,极端情况下 dsh 启动失败并显示日志
问题该提到哪里
- 进入 dsh 界面之前的问题(窗口起不来、找不到 Node、装不上、更新异常)
→ 本仓库 - 进入之后的一切(模型、工具、会话、插件、界面)
→ https://github.com/deepseek-ai/deepseek-harness
本项目为非官方第三方打包,与 DeepSeek 官方无隶属关系。
上游 DeepSeek Harness 为 MIT 许可,版权归 DeepSeek AI。