MonshinYu/dsh-desktop

MonshinYu★ 0TypeScriptLast synced: 2026-08-14

Open on GitHub

DeepSeek Harness的Desktop版本

README excerpt

DSH Desktop 面向 @deepseek-ai/dsh 的开源桌面客户端 —— 把 dsh 的 Web UI 装进一个原生窗口里,省去手动在浏览器里打开本地服务的麻烦。 目录 - 项目简介 - 核心特性 - 关于构建产物:无需 Node / Bun 环境 - 下载与安装(最终用户) - 从源码运行(开发者) - 从源码构建打包 - 项目架构 - 使用到的开源库与出处 - 关于开源二创(Fork / 二次开发)声明 - 未来计划:Tauri 二次重构 - 贡献与反馈 - 常见问题 - 开发者信息 项目简介 DSH Desktop 是一个 Electron 桌面应用,封装了 DeepSeek 官方的 dsh (DeepSeek Harness)CLI 调用。 dsh 本身是一个 Node.js 命令行工具,启动后会在本地 127.0.0.1:3080 监听一个 Web UI(浏览器界面)。DSH Desktop 做的工作就是: 1. 在后台 spawn 一个 Electron 子进程,以 ELECTRON RUN AS NODE=1 让它当作 Node 运行时,跑起 @deepseek-ai/dsh 的 web 子命令。 2. 自动扫描一段空闲端口(默认从 3080 开始)来避免端口冲突。 3. 解析子进程 stdout 中的 dsh web: http://127.0.0.1:xxxx/ 地址,把它塞进一个 BrowserWindow 里的 。 4. 套上原生窗口外观(macOS 的 hiddenInset 、Windows 的 hiddenInset overlay)、主题色同步、启动 Splash 动画等桌面化体验。 5. iframe 加载完成后优雅地淡出 Splash,关窗时一并清理子进程。 适合不想每次都打开终端、敲 dsh web 然后手动复制链接到浏览器的用户。 核心特性 - ✅ 零依赖安装 :构建产物已自带 Node 运行时(Electron 的 Node 嵌入在二进制里),安装包里就已经把一切打好了, 用户无需安装 Node.js,无需安装 Bun - ✅ 三平台原生包 :macOS(DMG / ZIP)、Windows(NSIS Setup)、Linux(AppImage)原生安装包 - ✅ 原生窗口外观 :macOS hiddenInset 标题栏、Windows 透明 overlay 标题栏,跟随 dsh Web UI 的明暗主题自动切换 - ✅ 智能端口处理 :自动探测空闲端口,遇到 EADDRINUSE 自动换端口重试 - ✅ 完整生命周期管理 :单实例锁、退出时优雅回收子进程、Dock 图标 / 任务栏图标行为适配 - ✅ 外部链接外跳 :所有 window.open 自动用系统默认浏览器打开 - ✅ 启动 Splash …

View full README on GitHub →
Tools / Devdeepseekdeepseek-harnessdshdsh-plugindsh-pluginsweb ui

Category