GitHub - ahamoment-101/Open-DeepSeek-Harness-Desktop: A desktop application built on the DeepSeek Harness, leveraging its core plugin mechanism to enable self-evolution · GitHub
/" data-turbo-transient="true" />
Skip to content
Search/
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
ahamoment-101
Open-DeepSeek-Harness-Desktop
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Latest commit
History<br>14 Commits<br>14 Commits
Folders and files<br>NameNameLast commit message<br>Last commit date<br>.github/workflows
.github/workflows
build
build
docs/images
docs/images
renderer
renderer
src
src
.env.example
.env.example
.gitignore
.gitignore
.npmrc
.npmrc
IMPLEMENTATION.md
IMPLEMENTATION.md
README.md
README.md
README.zh-CN.md
README.zh-CN.md
electron-builder.yml
electron-builder.yml
package.json
package.json
pnpm-lock.yaml
pnpm-lock.yaml
tsconfig.json
tsconfig.json
View all files
Repository files navigation
Open-DeepSeek-Harness-Desktop
English | 简体中文
An open-source macOS desktop app for DeepSeek Harness (dsh) — a Codex / Claude Code desktop counterpart built on top of the harness, with no fork of the upstream kernel.
It wraps the harness's Web UI in a native window: chat with the agent, let it read/write files, run commands, use a terminal, and handle approvals — all locally, no browser tab, no cloud account.
Status : early developer preview. The upstream harness (dsh) is also a developer preview and iterates fast; pin the @deepseek-ai/dsh version and upgrade explicitly.
Features
Native desktop shell around the full dsh Web UI (chat, sessions, workspace, model settings, terminal, approvals, plan/goal/todo, trajectory).
Local-first, no account : your API key lives in the app (~/.dsh/.credentials.yaml), your sessions stay on your machine.
Key self-management : the desktop app does not inherit DEEPSEEK_API_KEY from your shell environment — the key comes only from what you enter in the app (Settings → Models).
Native extras : macOS menu, Dock badge + notifications for pending approvals/questions, dsh-desktop:// deep link, auto-update (packaged builds).
Follows upstream, never forks : dsh is used as a dependency; update @deepseek-ai/dsh to track upstream releases.
The orchestration canvas
The plugin orchestration engine ships with a visual canvas: pick nodes (skills, tools, event hooks) from the library, wire them into a flow on the canvas, and configure each node in the inspector. The compiled flow becomes a reusable agent preset.
Run (development)
Requires Node.js ≥ 22 and pnpm.
pnpm install<br>pnpm dev
The app spawns a local dsh web server on a random loopback port and opens it in a native window.
Build your own installable package
Anyone can build a dmg — no certificates needed.
-.dmg">pnpm install<br>pnpm dist # macOS dmg for your current architecture (arm64/x64)<br># → release/dsh-desktop--.dmg
Notes for self-builders:
Signing/notarization is optional . Without a certificate you get an unsigned dmg; the first launch shows a Gatekeeper warning — right-click the app → Open (or xattr -cr /Applications/dsh-desktop.app) to run it.
The packaging config is fully generic — no personal signing credentials are committed. Maintainers sign by injecting their Apple credentials as environment variables / CI secrets (see .env.example and .github/workflows/release.yml).
We deliberately build with asar: false so the spawned dsh child can resolve its plugin packages through real files on disk.
Auto-update
Packaged builds check GitHub Releases for updates via electron-updater (publish: github). This requires the release artifacts to be attached to a GitHub Release (see the release.yml workflow). Unsigned local builds skip this.
Troubleshooting
No API key / model unavailable : open Settings → Models in the app and enter your key. The desktop app intentionally ignores ambient DEEPSEEK_API_KEY from the shell.
Packaged app won't start : make sure you built on the same architecture you're running (arm64 vs x64); the packaging follows your machine's arch.
Dev vs packaged behave differently : the packaged app runs dsh under Electron's Node (ELECTRON_RUN_AS_NODE) with --expose-internals, which the harness's config-watch HMR service requires.
License
MIT. The upstream kernel is DeepSeek Harness (MIT).
Acknowledgements
DeepSeek Harness — the agent harness this app is built on.
Electron and electron-builder.
About<br>A desktop application built on the DeepSeek Harness, leveraging its core plugin mechanism to enable self-evolution<br>Resources<br>Readme<br>Activity<br>Stars<br>3 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report...