DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

flee42 /

dsh-desktop

Topic repository only

DeepSeek Harness(DSH)的桌面版启动器

★ 3 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@f8cdd2a2

DSH Desktop

DSH Desktop

DeepSeek Harness(DSH)的桌面版启动器:自动拉起/复用 dsh web,以原生窗口打开, 并内嵌一个跟随当前工作区的 Files 文件边栏。

特性

  • 独立启动:无需手动先开 dsh;端口上已有 DSH 实例则直接复用
  • 原生窗口:iframe 嵌入 DSH 应用 + 右侧 Files 工作区文件边栏(懒加载目录树、 单击选中、双击用系统程序打开、深色主题跟随)
  • 工作区跟随:跟随 DSH 界面中"正在查看的会话"所在的工作区,自动切换边栏 目录(约 2 秒内),并记住最后工作区,重启后自动恢复;工作区→路径映射走官方 API(workspace.list),DOM 信号不可用时回退到 API 首位工作区 / 存储文件探测
  • 工作区切换/固定:侧边栏标题旁可打开工作区菜单,列出 DSH 全部工作区并一键 固定;固定后暂停自动跟随,可随时恢复"跟随 DSH 自动切换"
  • Files 边栏操作:任意目录新建文件/文件夹、重命名、删除(带确认)、 右键菜单、拖放移动/复制(Ctrl+拖放复制)、Ctrl 多选批量删除、全工作区名称搜索、 文本/图片/Markdown 内联预览、自动刷新、记忆上次展开的目录(按工作区)
  • 系统托盘:显示/隐藏、Files 切换、重新加载、开发者工具、打开日志/设置文件、退出(默认关窗隐藏到托盘)
  • 设置界面:侧边栏齿轮按钮(或关闭桌面 Files 后窗口右下角的悬浮齿轮)可直接编辑主机/端口/dsh 路径/固定工作区/受信任 Hosts/托盘行为,并可开关桌面 Files 边栏(关闭后可使用 DSH 插件侧边栏)
  • 自动更新:打包版启动后通过 electron-updater 检查 GitHub Releases,可下载并重启安装;无发布配置时回退到 GitHub 下载页提示
  • 单实例锁、外部链接走系统浏览器、崩溃可重载、自动清理自己拉起的 dsh 进程

环境要求

  • Node.js >= 18(建议 20+)
  • 已安装 DeepSeek Harness:npm install -g @deepseek-ai/dsh

快速开始

npm install
npm start

首次启动 dsh web 需 10~30 秒(profile 初始化、服务启动),期间显示加载页。

开发与测试

npm install
npm test          # Node 内置 test runner,无需额外依赖

当前测试覆盖:

  • workspace-fs.js:路径越界防护、文件名校验、目录列举、新建/重命名/删除、移动/复制、递归搜索、预览读取
  • dsh-api.js:RPC 信封解析/错误处理、工作区匹配逻辑

CI(.github/workflows/ci.yml)会在每次 push / PR 时运行语法检查和单元测试。

配置(可选)

也可以点击侧边栏顶部的齿轮按钮,在图形界面中编辑并保存设置;保存后按提示重启应用。

复制 settings.example.json 为 settings.json:

{
  "host": "127.0.0.1",      // 监听主机(勿设 0.0.0.0)
  "port": 3080,             // 端口;设 0 让系统分配
  "executable": "",         // dsh 完整路径,留空自动查找
  "workspace": "",          // 显式固定工作区;留空则自动跟随
  "trustedHosts": [],       // 额外信任的 Host
  "closeToTray": true,      // 关窗隐藏到托盘而非退出
  "showSidebar": true       // 显示桌面 Files 边栏;false 则隐藏,适合使用 DSH 插件侧边栏
}

环境变量覆盖:DSH_HOST、DSH_PORT、DSH_EXECUTABLE、DSH_WORKSPACE、DSH_NODE、DSH_SHOW_SIDEBAR(0/false 关闭边栏)。

dsh 查找顺序:显式 executable > PATH(Windows 选 .cmd)> node <dsh包>/lib/bin.js (~/node_modules → npm root -g → 本地)。

打包

npm run pack        # release/win-unpacked(免安装版)
npm run dist:lite   # NSIS 安装包(推荐)
npm run dist        # 完整打包(需可创建符号链接:管理员或开启开发者模式)

国内网络构建前请设置镜像:

$env:ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/"
$env:ELECTRON_BUILDER_BINARIES_MIRROR = "https://npmmirror.com/mirrors/electron-builder-binaries/"

产物:release/win-unpacked/DSH Desktop.exe、release/DSH Desktop Setup <版本>.exe。 构建时 scripts/set-icons.js(afterPack 钩子)会用 rcedit 把鲸鱼图标写入 exe。

目录结构

dsh-desktop/
├── main.js                  # 主进程:服务管理、窗口、托盘、工作区跟随、IPC
├── dsh-api.js               # DSH 本地 HTTP API 客户端(RPC / workspace.list / events.host WS)
├── workspace-fs.js          # Files 边栏文件系统助手(越界防护、名称校验、预览读取)
├── shell.html               # 容器页:iframe 嵌入 DSH + 右侧 Files 边栏
├── preload.js               # contextBridge(工作区/主题/事件桥)
├── loading.html             # 启动加载页
├── settings.example.json    # 配置模板
├── scripts/
│   ├── generate-icon.ps1    # 生成图标(透明底黑鲸鱼,BMP ico)
│   ├── set-icons.js         # 打包后写入 exe 图标(rcedit)
│   └── test.js              # 本地测试运行器(Node 内置 test runner)
├── test/                    # 单元测试(workspace-fs / dsh-api)
├── .github/workflows/ci.yml # CI:语法检查 + 单测
└── build/                   # icon.png / icon.ico / icon.svg

声明

  • 本项目的鲸鱼图标取自 DeepSeek Harness 官方前端资源(@deepseek-ai/dsh-web-frontend), 仅作启动器品牌展示使用;DeepSeek 及鲸鱼标识归 DeepSeek 所有。 本项目与 DeepSeek 官方无关联,亦非官方产品。
  • 启动器调用 DSH CLI(@deepseek-ai/dsh)运行其 Web 界面,DSH 本体及其插件生态 归 DeepSeek 所有,遵循其自身的 MIT 协议。

许可

MIT

—/ 5

No ratings yet

Manifest verification required

Commit f8cdd2a2c168

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout