DeepSeek Harness plugin

dsh-desktop-ahikl

A dsh desktop bundle: an Electron shell over the dsh Web UI with a system tray and a dsh-styled custom title bar.

Jump to install

Source facts

Repository
ahikl/dsh-desktop
Latest update
Aug 16, 2026
Category
Development & Runtime
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/ahikl/dsh-desktop
Plugin: dsh-desktop-ahikl
Author: ahikl

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.en.mdSource · read only
README language

dsh-desktop

中文 | English

A dsh desktop bundle: an Electron shell over the dsh Web UI, with a system tray and a dsh-styled custom title bar. Installed as an out-of-tree plugin — it changes no dsh source and keeps Electron out of the dsh dependency tree.

What it is

A bundle (it declares dsh.bundle.patch): when added to a profile, it lays the desktop surface over dsh-web-app. It mounts two rows — desktop-startup (parses the desktop command) and desktop-runner (spawns Electron once the tree settles).

The Electron window is frameless with a custom title bar that reads the dsh design tokens (--dsw-alias-*), so it follows the current light/dark theme and re-paints on theme switches. Closing the window hides it to the system tray; the tray menu shows the window, opens the Web UI in a browser, or quits.

Compatibility

Built against dsh 0.1.0-rc.5. The dsh framework packages are peerDependencies: they resolve from the receiver's dsh installation at runtime, never from this package's own install.

Install (receiver side)

> Versions 0.3.1 and below are deprecated; please use the latest version.

A desktop profile stacks dsh-base + dsh-web-app + this bundle:

# from npm (once published)
dsh plugin --profile desktop add @ahikl/dsh-desktop @deepseek-ai/dsh-web-app
# or straight from git
dsh plugin --profile desktop add github:ahikl/dsh-desktop @deepseek-ai/dsh-web-app

# Electron is a per-profile runtime requirement (platform binary, not bundled)
dsh plugin --profile desktop add electron

dsh --profile desktop desktop

Simplest startup (when dsh-web-app is not installed, the desktop plugin auto-starts the official Web UI):

dsh plugin --profile desktop add @ahikl/dsh-desktop electron
dsh --profile desktop desktop

If dsh-web-app is installed, the desktop plugin automatically reuses its Web Server:

dsh plugin --profile desktop add @ahikl/dsh-desktop @deepseek-ai/dsh-web-app electron
dsh --profile desktop desktop

Develop and build

Inside the dsh monorepo checkout, the tsconfig.json paths map the framework packages to source, so the following run without published copies:

pnpm install
pnpm run typecheck   # tsc -p tsconfig.json --noEmit
pnpm run test        # vitest run (pure unit tests in tests/)
pnpm run build       # tsc emits lib/types, tsdown bundles lib/{index,startup}.js

lib/ is gitignored; publish runs build via prepack.

Publish

# npm
pnpm publish         # runs prepack -> build first

# or GitHub only: push, then receivers install github:you/dsh-desktop#tag

Before publishing, drop the paths block in tsconfig.json and add the framework packages as devDependencies with their real published versions (they are currently @deepseek-ai/* pre-release packages).

Configuration

The desktop-runner row (the bundle's plugins.electron-equivalent namespace) accepts:

- id: desktop-runner
  config:
    url: https://example.com   # optional; override Web-UI auto-detection
    electronPath: /opt/electron/electron   # optional; override resolution
    width: 1280                # optional; omit for a display-relative default
    height: 800
    electronArgs: ["--no-sandbox", "--disable-gpu"]   # optional Electron switches

License

MIT