dsh-desktop

by s3yf1337

0 UI 增强github 检测到 manifest package.json#dsh收录于 08-16

DeepSeek Harness桌面配置:Tauri窗口覆盖harness网页表面——托盘、单实例、系统通知、仅建议更新器、原生对话框、拖放、以及应用内设置标签页。

Desktop profile for the DeepSeek Harness: a native Tauri window over the harness web surface — tray, single-instance, OS notifications, suggest-only updater, native dialogs, drag & drop, and an in-app settings tab.

安装

dsh plugin --profile web add github:s3yf1337/dsh-desktop#path:/bundle

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

The plugin bundle of the dsh desktop profile: one cordis row (desktop-shell) over the web surface that spawns the native Tauri render client on the served loopback URL.

What it does

The bundle patch (cordis.patch.yml) inserts a single row into the composed tree. The plugin (lib/index.js):

  • injects the webServer service and waits for the loader to settle (the port is the real OS-assigned one only after the bind);
  • resolves the native client binary: config.bin → DSH_DESKTOP_BIN → $DSH_HOME/bin/dsh-desktop-shell → dsh-desktop-shell on PATH → ~/.local/bin/dsh-desktop-shell;
  • spawns dsh-desktop-shell <url> and watches it:
    • exit 0 (window closed) → requests harness shutdown via ctx.appExit;
    • exit 11 (one-click update applied) → boots a fresh dsh --profile desktop (detached), then shuts the old harness down;
    • other non-zero exit or missing binary → the web surface keeps serving (degrades to browser use) with a printed hint.

The browser half (lib/client.js) draws the desktop experience onto the web surface: the custom window title bar (the shell window is frameless), the right-hand explorer panel (Files/Preview tabs over the native fs commands), and the "dsh-desktop" settings section (tray, notifications, one-click updates, geometry, installation paths).

Bundle contract

This is a standard dsh bundle package: the manifest declares dsh.bundle.patch, and the profile composes it as a patch layer over dsh-base + dsh-web-app exactly like @deepseek-ai/dsh-headless. It needs no pnpm installation: the profile's install.sh copies this directory into $DSH_HOME/profiles/desktop/packages/ and links it into the profile's node_modules.

原始 README: https://github.com/s3yf1337/dsh-desktop/blob/main/bundle/README.md ↗