Skip to content

v0.1.0

Latest

Choose a tag to compare

@nekocode nekocode released this 16 Aug 11:18
· 4 commits to main since this release

First release. The official DeepSeek Harness, wrapped as a macOS app.

Download — macOS 11+, Apple Silicon, signed and notarized.

A Tauri 2 shell over the system WKWebView, a trimmed dsh backend, and dsh's own web UI. Not one line of frontend logic is copied — the interface is upstream's ui-* plugins, and it follows upstream releases.

Size
npm i @deepseek-ai/dsh as-is 347 MB
Trimmed backend 31 MB
Installed .app 98 MB
DMG 36 MB

An Electron build would be roughly 340 MB installed.

Where the 249 MB went — nothing bundled that macOS already has, and nothing kept that this app cannot reach:

  • the system WKWebView draws the window, so no Chromium and no second JavaScript engine
  • Bun rather than Node as the sidecar runtime, with a native-PTY adapter in place of node-pty
  • OpenTelemetry export, which defaults to disabled, dropped with its 34 MiB of @opentelemetry
  • the non-DeepSeek LLM providers dropped — 70 MiB for backends this app does not offer
  • the native ripgrep binary swapped for the wasm build of the same tool: 4.3 MiB down to 768 KiB, byte-identical --json records, so grep and glob still work
  • sharp's decoders swapped rather than the plugin removed — the API gateway hard-depends on it and will not start without it
  • React, shiki and KaTeX dropped: 5.5 MB pulled in by browser-only packages that nothing in a headless host composes

It updates itself. Once a day, five seconds after launch, and silent unless there is something to say; Check for Updates… in the application menu asks immediately and always answers. An offer can be taken, postponed, or skipped. The update window is native rather than drawn into upstream's UI, which would couple the shell to markup upstream is free to change.

Your ~/.dsh is left alone. The app seeds its own trimmed profile under ~/Library/Application Support/com.nekocode.dsh-desktop/. From first launch that cordis.patch.yml is yours, and upgrades never overwrite it.