deepseek-

by 20450150414

1 工具与能力github收录于 08-23

deepseek-harness客户端模式

安装

dsh plugin --profile web add github:20450150414/deepseek-

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

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

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

README

目录

Cross-platform desktop client for DeepSeek Harness (dsh). Wraps the dsh web UI in a native Electron window with system tray support. Installable on Windows, macOS, and Linux.

Features

  • Same UI as dsh web — no changes to the interface
  • Chinese interface (menus, tray, dialogs, error pages)
  • Native window with the DeepSeek Harness whale icon
  • System tray with Show / Open in Browser / Restart Server / Quit
  • Close-to-tray (minimize to tray on window close)
  • Single-instance lock
  • Built-in dsh server — no separate installation required
  • Independent desktop profile (does not interfere with your web or CLI profiles)
  • Chinese error messages with retry on failure
  • Cross-platform: Windows (NSIS installer + portable EXE), macOS (DMG + ZIP), Linux (AppImage + DEB)

Prerequisites

  • Node.js 22+ (for development / building from source only — end users do not need Node.js)
  • The packaged app bundles its own dsh and Node runtime via Electron

Quick Start (Development)

# Install dependencies
npm install

# Generate icons from the whale SVG (only needed if icons are missing)
npm run icons

# Launch the desktop app
npm start

On first launch the app will:

  1. Create a clean profile at ~/.dsh/profiles/desktop/
  2. Start the dsh server on http://127.0.0.1:3080
  3. Open the native window pointing at the server

Building Installers

# Build for current platform
npm run dist

# Windows (NSIS installer + portable EXE, x64)
npm run dist:win

# macOS (DMG + ZIP, universal x64/arm64) — must be built on macOS
npm run dist:mac

# Linux (AppImage + DEB, x64)
npm run dist:linux

Output goes to the release/ directory.

Note: macOS and Linux builds must be performed on their respective operating systems (or in CI). Windows builds can only produce Windows installers.

Configuration

Environment variables:

Variable Default Description
DSH_DESKTOP_PORT 3080 dsh server port
DSH_DESKTOP_HOST 127.0.0.1 dsh server bind address
DSH_DESKTOP_TITLE DeepSeek Harness Window title
DSH_DESKTOP_PROFILE desktop dsh profile name
DSH_CLI (built-in) Path to a custom dsh binary
DSH_DESKTOP_NO_SPAWN (unset) If set, do not spawn a dsh server (connect to an existing one)

How It Works

  1. The Electron main process spawns dsh as a child process using Electron's built-in Node.js (ELECTRON_RUN_AS_NODE=1), running node_modules/@deepseek-ai/dsh/lib/bin.js --profile desktop.
  2. The main process waits for the server to respond on the configured port.
  3. A BrowserWindow loads the dsh web UI at http://127.0.0.1:3080.
  4. The dsh web UI injects window.__DSH_BOOT__ with client plugin metadata, so the page must be served by dsh (it cannot be loaded as static files).
  5. On quit, the dsh child process is terminated.

The desktop profile is created automatically with only the base and web-app bundles, ensuring a clean startup regardless of other profiles on the system.

Project Structure

dsh-desktop-gui/
├── src/
│   ├── main.js          # Electron main process
│   └── preload.js       # Preload bridge (window.dshDesktop)
├── build/
│   └── icon.png         # App icon (1024x1024, generated from favicon.svg)
├── resources/
│   ├── favicon.svg      # Original DeepSeek Harness whale SVG
│   ├── icon.png         # Window/tray icon (512x512, transparent)
│   ├── icon-white.png   # White variant
│   ├── tray.png         # Windows/Linux tray icon
│   ├── trayTemplate.png # macOS template tray icon (22x22)
│   └── trayTemplate@2x.png
├── scripts/
│   ├── gen-icons.js     # Generate PNG icons from favicon.svg
│   └── gen-tray-mac.js  # Generate macOS template icons
├── electron-builder.yml # Packager configuration
├── package.json
└── LICENSE              # MIT

License

MIT — based on DeepSeek Harness (MIT).

原始 README: https://github.com/20450150414/deepseek-/blob/main/README.md ↗