Back to home

Socialist-Sister

dsh-deck

DSH Deck — community desktop shell for DeepSeek Harness (dsh web profile in an Electron window; unofficial)

Stars
1
Language
TypeScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

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)。