Show HN: An n8n-like orchestration toolkit for DeepSeek harnesses

darrenzhang1 pts0 comments

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...

harness desktop deepseek github pnpm open

Related Articles