jesspig/deepseek-harness-desktop

jesspig★ 1JavaScriptLast synced: 2026-08-14

Open on GitHub

这是一个独立的 Cordis 应用:不改动上游仓库,以官方扩展方式(自定义 profile + bundle + Cordis 插件)把 dsh 跑成原生桌面应用。

README excerpt

DeepSeek Harness Desktop DeepSeek Harness( dsh )的桌面端外壳。 这是一个 独立的 Cordis 应用 :不改动上游仓库,以官方扩展方式(自定义 profile + bundle + Cordis 插件)把 dsh 跑成原生桌面应用。 状态: M0 薄壳已实施完成并通过验收(双击启动 → 窗口加载官方 Web UI;URL loopback 校验;关窗无残留;崩溃提示与日志;单例锁;NSIS 安装包)。待用户验证:配置 API Key 后的对话全链路。上游 dsh 处于 developer preview(0.1.0-rc.x),存在破坏性变更,依赖已精确锁定。 设计原则 - 复用,不重写 : 渲染层直接复用 dsh 官方 Web UI(client 插件体系),本仓库只实现桌面专属部分。 - 零 fork : 只依赖 npm 官方发布物( @deepseek-ai/ ),不修改上游仓库。 - 桌面能力即插件 : 窗口、托盘、原生通知、 dsh:// 协议、开机自启、自动更新,全部以 Cordis 插件实现。 - 按上游预留形态演进 : 传输层遵循上游 AbstractApiClient.doFetch 预留的 IPC bridge 形态,渲染进程可经 IPC 直连树内 apiproxy,不依赖 HTTP。 规划形态 阶段 形态 M0 薄壳:spawn 官方 CLI( dsh --profile desktop --port 0 ),解析 URL,开窗加载 Web UI M1+ 进程内组合:Electron main 直接 boot Cordis 树,renderer 经 IPC bridge 通信 仓库布局(现状) 已知限制 - Windows 下 dsh 转发 pnpm 的网络并发崩溃 : dsh plugin ... add 在 Windows 上以 spawnSync("pnpm", {shell:true}) 转发 pnpm,无 lockfile 全量 resolution 需高并发网络下载时,会触发 libuv 断言崩溃( Assertion failed: !(handle- flags & UV HANDLE CLOSING) ,退出码 -1073740791)。实测手动 spawn pnpm(不经 dsh 转发)在相同环境稳定成功,故 apps/desktop/scripts/generate-profile.mjs 采用两阶段策略:先走官方 dsh plugin add ;遇网络崩溃或忽略构建失败即转本脚本手动 pnpm add --save-exact (失败重试 3 轮,间隔 5 秒);依赖进 store 缓存后再补一次官方 dsh plugin add 完成 reconcile(此时 d…

View full README on GitHub →
Tools / Devdsh-pluginweb ui

Category