LvienOeria / dsh-desktop-launcher

Listed

一个轻量的 dsh(DeepSeek Harness)插件:安装桌面双击启动器 —— macOS 上是带官方鲸鱼图标的 dsh.app,Linux 上是 .desktop 入口。零依赖,约 147 KB。(终端命令在独立的 dsh-launcher 包)

mainOther View source

Installation

pnpm dsh web # 源码目录(自动检测)

This command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 9a09866Synced Aug 18, 2026

dsh-desktop-launcher

npm version npm downloads license GitHub stars

English | 中文

一个轻量的 DeepSeek Harness 插件:安装一个桌面双击启动器 —— macOS 上是带官方黑色鲸鱼图标的 dsh.app,Linux 上是 dsh.desktop 入口。双击它,Web UI 启动并自动打开浏览器。Everything is a plugin,这个插件本身就是一个 bundle。

轻量: 零依赖,包体积约 147 KB(主要是两张 1024px 图标 PNG;macOS 的 .icns 用系统内置 sips + iconutil 现生成)。只碰桌面侧 —— 不装终端命令、不动 PATH。终端版是独立的 dsh-launcher 包,想要什么装什么,绝不捆绑。

它能做什么

以 bundle 方式加载后,插件的 apply 会在每次 harness 启动时收敛以下产物(幂等:配置没变就是快速空操作):

产物位置说明
启动脚本~/.dsh-launcher-desktop/dsh-start.command启动 dsh → 轮询 Web UI 地址 → 就绪后自动打开浏览器
macOS 应用~/Desktop/dsh.app双击即用,官方鲸鱼图标,在终端里运行启动器
Linux 入口~/.local/share/applications/dsh.desktop应用菜单启动器(Terminal=true)
图标内置 whale / whale-dark(1024px PNG)deepseek-harness 官方黑色鲸鱼 mark,白卡/深卡两种

安装

前置条件:dsh CLI + pnpm ≥ 9(harness 固定 pnpm 11 —— 版本旧的话执行 corepack enable)。

从 npm 安装:

dsh plugin --profile web add dsh-desktop-launcher

从 GitHub 安装 —— 纯 JS、无构建步骤,无需任何 allowlist:

dsh plugin --profile web add github:LvienOeria/dsh-desktop-launcher

本地路径安装也可以(零依赖):

dsh plugin --profile web add ./dsh-desktop-launcher

然后启动一次 dsh,插件会自动生成启动器:

dsh --profile web      # 已安装 CLI
# 或
pnpm dsh web           # 源码目录(自动检测)

搞定。双击桌面的 dsh;关闭它打开的终端窗口即停止 harness。

自定义

编辑 profile 的 patch 层(~/.dsh/profiles/<profile>/cordis.patch.yml)—— 后层覆盖前层,patch 会整体替换某行的 config

- id: dsh-desktop-launcher
  config:
    launcherName: dsh                      # 桌面应用/入口名称
    iconStyle: whale-dark                  # whale | whale-dark
    iconFile: ''                           # 自定义图标文件绝对路径(.icns/.png)
    url: http://127.0.0.1:3080             # Web UI 地址(轮询 + 打开)
    sourceDir: /path/to/deepseek-harness   # 从源码目录执行 `pnpm dsh web`
    startCommand: ''                       # 完全自定义启动命令(单行)
    autoOpenBrowser: true

自定义图标

把任意 .icns(macOS)或 .png(Linux)放到任意位置,用 iconFile 指向它;macOS 上给 .png 会自动转成 .icns。内置的 whale / whale-dark 是官方 mark 的白卡/深卡版本;用 python3 scripts/build-icons.py /path/to/deepseek-harness/apps/web/public/favicon.svg 可从官方 favicon 重新生成(需要 Pillow + macOS 的 sips)。

启动命令的解析顺序

  1. startCommand(显式指定)
  2. sourceDircd <目录> && pnpm dsh web
  3. 当前目录是带 dsh script 的源码检出
  4. PATH 上已安装的 dsh CLI(防递归:绝不解析到我们自己的 wrapper)
  5. 回退 dsh --profile web(带警告)

安全性设计

  • 每个生成文件都带 # managed by dsh-desktop-launcher vX 标记;没有该标记的已有文件或应用会被先备份为 <path>.bak 再替换(绝不静默覆盖)。
  • 配置未变 → 不重写任何文件(状态哈希存在 ~/.dsh-launcher-desktop/state.json)。
  • 非法配置(未知 iconStyleiconFile 不存在、url 非 http(s)、startCommand 含换行)会响亮失败并给出清晰报错。
  • 安装失败只打日志,绝不会拖垮 harness —— dsh 照常启动。

卸载

dsh plugin --profile web remove dsh-desktop-launcher
rm -rf ~/.dsh-launcher-desktop ~/Desktop/dsh.app
# Linux 上还有: ~/.local/share/applications/dsh.desktop

说明

  • macOS 首次启动可能询问是否打开生成的应用 —— 那是 Gatekeeper,点「打开」即可。
  • 鲸鱼 mark 来自 deepseek-harnessapps/web/public/favicon.svg),此处仅用作启动器图标。
  • 想要终端命令而不是 / 或者同时要桌面应用?安装 dsh-launcher
  • 不支持 Windows(不会安装任何文件,只打一条警告)。

License

MIT —— 见 LICENSE

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
JavaScript
License
MIT
Latest release
v0.1.4
Last updated
Aug 14, 2026, 5:54 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.