deepseek-harness-desktop
开发工具 活跃维护

deepseek-harness-desktop

mel0nyrame/deepseek-harness-desktop

Native Electron desktop app with a bundled DeepSeek Harness agent runtime

1
Stars 标星
0
Forks 分支
1
Watchers 关注
14
Open Issues
TypeScript
主要语言
MIT
开源协议
128.3 MB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:mel0nyrame/deepseek-harness-desktop
git clone https://github.com/mel0nyrame/deepseek-harness-desktop.git
git clone git@github.com:mel0nyrame/deepseek-harness-desktop.git
README.md master

DSH Desktop

English | 中文

DSH Desktop bundles the complete DeepSeek Harness runtime inside a native Electron application

deepseek-harness-desktop packages DeepSeek Harness as the native Electron application DSH Desktop. The desktop shell is the product-specific layer; the bundled dsh runtime keeps its plugin system, sessions, tools, PTYs, persistence, CLI identity, and documentation vocabulary.

Installed DSH Desktop window with native macOS chrome, a glass sidebar, an isolated workspace with preset sessions, and the assembled agent composer

Native window capture from the installed macOS bundle using an isolated temporary profile and preset sessions, framed against a neutral backing.

Native macOS experience

Compact native window illustration Compact native frame
Content fills the window while controls share the traffic-light region, with native dragging and full-screen behavior.
Persistent glass sidebar illustration Glass that remembers
Light, Dark, and System appearances follow macOS; the glass preference persists, with an opaque Reduce Transparency fallback.
Zero-width sidebar illustration Zero-width focus mode
Collapse the sidebar completely to reclaim the conversation width, then restore the last usable sidebar size.

Desktop shell, full harness

Bundled runtime illustration
Bundled runtime
The installed app starts its own application-scoped DSH child. A system Node.js or separately installed DSH CLI is not required.
Private carrier illustration
Private desktop carrier
The sandboxed renderer crosses a context-isolated preload bridge and validated IPC. The desktop profile opens no browser-facing HTTP listener.
Native workspace illustration
Native macOS shell
Electron main owns directory selection, path opening, compact window chrome and native dragging, recovery, and process-tree cleanup; the sidebar uses the saved glass preference.
Shared state illustration
Shared DSH state
DSH Desktop and the CLI use the same ~/.dsh home, so sessions, profiles, and configuration remain available to both.

How it works

The React client retains the transport-neutral Connection surface used by the Web product. Electron main owns the native window and supervises one dedicated DSH child; that child owns Cordis, sessions, plugins, model execution, PTYs, persistence, and subprocesses.

React renderer to preload bridge to Electron main to bundled DSH child architecture

The pre-decoupling carrier, lifecycle, packaging, native-action, recovery, and installed-app acceptance contracts remain in the frozen legacy desktop reference; the decoupled shell and desktop provider contracts land with their owning slices (apps/desktop, packages/).

Install

Homebrew (recommended)

brew tap mel0nyrame/dsh
brew install --cask dsh-desktop

The cask selects the arm64 or x64 build for the current Mac and removes the quarantine attribute after installation. Stable releases update the cask automatically; prereleases remain available from GitHub only.

GitHub Releases

Download the DMG for your Mac (arm64 for Apple silicon or x64 for Intel) from GitHub Releases, verify it against the adjacent .sha256 file, and drag DSH Desktop to Applications.

Release DMGs are ad-hoc signed and not notarized. A direct DMG download may therefore require the one-time macOS right-click → Open flow. The Homebrew cask performs the corresponding quarantine handling during installation.

Run from source

From this repository checkout:

pnpm install
pnpm run check

The dev:desktop and packaging commands return with the decoupled runtime and shell slices; until then the frozen pre-decoupling product remains on the legacy branch.

Project boundaries

Status and distribution

  • The repository and application are under active development; compatibility-breaking changes remain possible.
  • Product releases provide separate arm64 and x64 macOS DMGs with SHA-256 checksum files.
  • Developer ID signing and notarization are not configured; direct downloads may need the one-time right-click → Open flow described above. Read the legacy desktop limitations before redistributing artifacts.

Development

Core contributor workflows remain in AGENTS.md; the frozen development guide and CONTRIBUTING.md document the pre-decoupling contribution flow. Desktop-specific implementation lives under apps/desktop and the desktop provider packages (packages/).

License

MIT

Third-party dependencies and their licenses of the pre-decoupling product are disclosed in the frozen THIRD_PARTY_NOTICES.md; the decoupled product's notice list lands with the packaging slice.