Socialist-Sister/dsh-deck
⚠️ 非官方项目 / Unofficial:本项目由社区开发,与 DeepSeek 官方无隶属或背书关系。DeepSeek 及鲸鱼标志为其权利人的商标;本项目的临时图标仅为生态内的暂用占位,公开发布成熟前将替换为自有设计。上游为 deepseek-ai/deepseek-harness(MIT)。
catalog 简介 / catalog descriptioncatalog description:DSH Deck — community desktop shell for DeepSeek Harness (dsh web profile in an Electron window; unofficial)
项目介绍Project Overview
DSH Deck 是 DeepSeek Harness 的非官方 Electron 桌面壳,加载官方 @deepseek-ai/dsh web profile,不 fork 上游,页面功能与数据共用 ~/.dsh。提供托盘、单实例、窗口记忆、外链转系统浏览器、下载对话框、冷启动预热及附挂模式防会话损坏。适合想在 Windows 桌面使用官方 DSH Web 体验者。注意:仍处 M2,NSIS 安装包、日志落盘与自有图标未定稿,图标为临时占位。
DSH Deck is an unofficial Electron desktop shell for DeepSeek Harness. It loads the official @deepseek-ai/dsh web profile without forking upstream, sharing ~/.dsh data and keeping the UI identical. It adds tray support, single-instance lock, window state memory, external links in the system browser, download dialogs, cold-start cache warming, and attach mode to prevent concurrent session writes. Use it when you want the official DSH web experience as a Windows desktop app. Caveat: M3 items such as the NSIS installer, file logging, and final icon are not finished.
请帮我了解并安装插件:【dsh-deck】【https://github.com/Socialist-Sister/dsh-deck】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:Socialist-Sister/dsh-deck
把 Socialist-Sister/dsh-deck 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DSH Deck (dsh-deck)
⚠️ 非官方项目 / Unofficial:本项目由社区开发,与 DeepSeek 官方无隶属或背书关系。DeepSeek 及鲸鱼标志为其权利人的商标;本项目的临时图标仅为生态内的暂用占位,公开发布成熟前将替换为自有设计。上游为 deepseek-ai/deepseek-harness(MIT)。
DeepSeek Harness 的桌面壳(Deck):以 Electron 加载官方 @deepseek-ai/dsh web profile,v1 与官方 Web 保持功能与 UI 完全一致(同一份代码、同一份组合),不 fork 上游。
状态
- M1:PoC — spawn 官方 CLI、JSON 就绪发现、窗口加载官方 UI、stdin 优雅停机、孤儿自愈、冷首启缓存预热(详见
PLAN.md§13) - M2:桌面壳 — 单实例锁、托盘、窗口状态记忆、外链/下载接管、主题跟随、窗口控制与顶栏碰撞规避(§14 及后续记录)
- M3:NSIS 安装包、日志落盘、自有图标定稿
与官方 Web 的差异(仅桌面壳层;页面功能与数据 100% 一致)
数据完全共用 ~/.dsh,页面 UI 不做任何改动;以下均为桌面壳自身的行为:
| 差异点 | 说明 |
|---|---|
| Session log 按钮 | 官方会话顶部的 "Session log" 标签被隐藏,功能迁移到侧栏会话行三点菜单(⋯)里的"会话日志"(与官方菜单项同观感、同图标规范) |
| 窗口 chrome | 无边框窗口 + 自绘最小化/最大化(含还原态图标)/关闭按钮;按钮随主题反色、官方弹窗打开时变暗且禁点;顶部隐形拖拽条;无菜单栏(保留 Ctrl+R,DevTools 仅 dev 版) |
| 外链与下载 | 对话中的外链一律转系统浏览器打开(窗口永不外漂);下载走保存对话框 |
| 窗口行为 | 单实例锁(二次启动聚焦已有窗口);关闭按钮隐藏到托盘(托盘"退出"才真正退出);窗口位置/大小记忆 |
| 新会话默认目录 | DSH_DESKTOP_WORKSPACE 环境变量 → ~/.dsh 工作区注册表里最近使用的工作区 → 用户主目录(绝不落在 exe 目录) |
| 冷首启 | 启动时预热 Chromium 缓存并在 UI 健康后才显示窗口(规避上游 rc.6 的冷首启竞速,见 PLAN §13) |
| 附挂模式(防会话损坏) | 启动时探测同 ~/.dsh 是否已有 harness 在服务(:3080 或桌面实例标记文件),命中则直接作为该后端的新窗口,不启动第二个写者——避免双实例并发写坏会话日志(§16) |
开发
npm install # 根依赖(Electron 37.x + TS)
# resources/harness 需要一次完整生产安装(构建产物,不入库):
npm install --prefix resources/harness --omit=dev @deepseek-ai/dsh@0.1.0-rc.6
npm run start # 启动(dev 模式,数据隔离在 .poc-home)
npm run smoke # 一键验收(就绪→UI 渲染→优雅退出)
npm run dist # 打包(out/win-unpacked + 单文件 portable exe)
新会话的默认工作目录解析顺序:DSH_DESKTOP_WORKSPACE 环境变量 → ~/.dsh/storages/workspace.json 中最近使用的工作区 → 用户主目录。
结构
app/main/ Electron 主进程(子进程管理、冷启动预热、boot 监督)
packages/lifecycle @dsh-desktop/lifecycle 伴随插件(--patch 挂载)
preload/ 页面 chrome 注入 + 窗口控制 IPC 桥
overlays/ lifecycle.patch.yml 桌面叠加层
build/icon.png 临时图标(官方 favicon 栅格化,发布前替换)
scripts/ 上游一致性核验 + 打包后复制
PLAN.md 完整计划与决策记录
许可
MIT。上游 @deepseek-ai/dsh 及其依赖均为 MIT;第三方依赖的许可随 resources/harness 安装(发布前以 license-checker 生成 THIRD_PARTY_NOTICES)。
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS