中文 | English
DeepWharf ships with a whale-girl who lives on your desktop — and keeps an eye on your token usage.
A desktop home for DeepSeek Harness (
dsh). Double-click an installer and get the full Harness agent experience as a native Windows app — no Node.js, no npm, no terminal required.
DeepWharf is a thin, upstream-friendly Electron wrapper. It does not fork or modify DeepSeek
Harness; it embeds an isolated Node.js runtime plus a vendored copy of dsh, launches dsh web,
waits for the local server, and presents the official Web UI in a native window.
DeepWharf (Electron)
└─ spawn embedded node.exe
└─ dsh web --port <auto>
└─ BrowserWindow (webview) → http://127.0.0.1:<port>
The app icon is a little whale on a deep-blue disc, and the desktop pet is her personified form — a beret-wearing maid whale-girl surrounded by her baby-whale friends.
- Always-on-top, transparent — she floats at the corner of your main window and stays on top of everything.
- Alive — idle floating, leans in when you hover, bounces with a speech bubble when you click.
- Interactive — double-click opens the main window; right-click for a menu; drag her anywhere (position is remembered).
- Holds a live usage sign — an optional placard showing input / output / cache-hit % / context % from the official token-meter projections.
- Reacts to your work — jumps for joy when a task finishes, shakes when the agent errors.
- Make her yours — regenerate the cutout from any artwork with
npm run pet <png>(flood-fill + halo erosion + largest connected component).
- Zero-dependency install — bundled Node.js runtime + vendored Harness; works offline.
- Native desktop shell — single merged title bar (logo + Plugin Store + Settings), themable (follows system light/dark), localized (简体中文 / English).
- Codex-style main window — a full-height session sidebar that fully replaces the web
UI's own sidebar (hidden via an
!importantstylesheet rule): workspace-first session management (create/rename/delete workspaces, rename/duplicate/archive conversations), click-to-switch, icon+text actions, and a collapsed-rail expand handle (Ctrl+Shift+S). New workspaces are picked through the native folder dialog — no typing paths. - Remote control (LAN) — an opt-in, token-authenticated web console: view/create sessions, send prompts, interrupt runs, switch models, approve tool calls, answer questions, and stream live events from any device on your network.
- Theme sync to the web UI — shell themes drive the embedded Harness UI through the
official
ui-themesettings RPC; the bundleddeepwharf-companionplugin registers the extra palettes (Midnight / Forest / Warm / Contrast) inside the web UI and bridges every theme plugin's themes into the shell picker — change the theme on either side and both follow. - Usage, in text — the companion adds a live usage line above the composer (input / output / cache hit / context occupancy) from the official token-meter projections.
- Document attachments —
dsh-file-uploadis provisioned into the web profile on first launch. It adds a paperclip button, drag-and-drop, multi-file cards, document-to-Markdown parsing for PDF / DOCX / PPTX / XLSX / HTML / CSV / JSON, and theread_documenttool. Provisioning usesnpmmirrorby default; an offline first launch still opens the app and can retry the installation from Plugin Store later. - Global font — pick from presets (default HarmonyOS Sans SC) or keep a custom family; the shell and the embedded web UI follow.
- Plugin Store — browse the
dsh-pluginecosystem (npm registry) and install via the officialdsh pluginmechanism (bundled pnpm). - Desktop integration — closing the window minimizes to the system tray (Harness sessions keep
running), a global
Ctrl+Alt+Dhotkey shows the window, and launch-at-startup is optional. All three can be toggled in Settings. - Notifications & onboarding — system toasts for approvals, questions, finished tasks, and agent errors; first run detects missing API keys and walks you through the official credential store (effective immediately).
- Session history — a dedicated window to browse all sessions, full-text search them, and export any one as a ZIP (with subagent logs and media attachments).
- Unified Settings — desktop settings and the official dsh options share one ChatGPT-style sidebar; general, models, agent presets, and plugin options are mounted directly in the matching desktop categories instead of living in a separate Web UI page.
- Harness auto-update — checks the domestic
npmmirrorregistry first (with npmjs fallback), shows download/install/restart progress, and swapsresources/harnessatomically. - Clean lifecycle — single instance, port auto-pick, HTTP ready-probe, process-tree cleanup on exit.
- Safe —
contextIsolation+ sandbox; user data lives in%APPDATA%, never in the install dir.
Grab DeepWharf-Setup-<ver>-x64.exe (NSIS) or DeepWharf-Portable-<ver>-x64.exe from Releases.
The installer wizard defaults to a per-user install (no admin needed) and lets you pick the
install directory (elevation is only requested for protected locations); overwrites preserve
your data.
Requires Node.js ≥ 22 on the build machine only.
npm install
npm run prepare:node # download embedded node.exe + npm + pnpm -> resources/runtime
npm run prepare:harness # vendor @deepseek-ai/dsh + prune -> resources/harness
npm run icon # regenerate build/icon.ico from build/brand-icon.png
npm run dist # build NSIS + Portable installers -> release/The brand artwork lives in build/brand-icon.png (square PNG with
transparency). To swap it: npm run icon path/to/new-art.png — the script
copies the file into build/, regenerates the Windows icon (mounted on a white
rounded plate for dark/light taskbar visibility) and the shell logo, and later
rebuilds keep using the committed source.
- Install speed: the Harness payload is pruned (sources/maps/docs stripped) and the NSIS package
uses
compression: storefor fast on-disk extraction. - Code signing: pluggable hook
scripts/sign.js(DEEPMHARF_SIGN_MODE=test|pfx|sigpath|none). Release artifacts are built by GitHub Actions CI and signed via the SignPath Foundation (Free code signing provided by SignPath.io, certificate by SignPath Foundation). See CODE_SIGNING.md. - Shell self-update feed: checks GitHub Releases by default
(
https://api.github.com/repos/sdf123098/deepwharf/releases/latest; override the repo withSHELL_UPDATE_REPO, or pointSHELL_UPDATE_URLat a custom{ "version": "x.y.z" }JSON).
MIT — DeepWharf is an independent wrapper; DeepSeek Harness remains under its own license.
Bundled third-party components (including the HarmonyOS Sans SC font) are listed in THIRD_PARTY_NOTICES.md.

