DSH Codex Desktop
Download once. Open a ready-to-use local AI workspace.
简体中文 · Download · Changelog · Report an issue
DSH Codex Desktop is a community-maintained desktop distribution of DeepSeek Harness. It is not an official DeepSeek AI product.
DSH Codex Desktop turns DeepSeek Harness into a native, ready-to-run desktop workbench. The installer includes the required Node.js runtime and local DSH runtime: install it, open it, then start working. You do not need to prepare a Node.js environment or launch DSH from a terminal.
Download and start
Get the current installer from GitHub Releases.
| Platform | Package | Start here |
|---|---|---|
| Windows x64 | .exe installer or .zip archive |
Run the installer, then open DSH Codex Desktop from the Start menu. |
| macOS Apple Silicon / Intel | .dmg installer |
Open the disk image, move the app to Applications, then launch it. |
| Linux x64 / ARM64 | .AppImage or Debian / Ubuntu .deb |
Run the package matching your CPU architecture, or install the deb package, then launch the app. |
- Download the package for your platform.
- Install and open DSH Codex Desktop.
- Wait for the built-in local DSH service to finish starting.
- Create a task, select a model and permission mode, then work in your project.
The application keeps DSH data in your existing user profile (%USERPROFILE%\.dsh on Windows), so sessions and settings remain available after application upgrades.
A complete desktop workbench
| Capability | What you get |
|---|---|
| Desktop conversation workspace | Project and task navigation, conversation sessions, model selection, permissions, session logs, and a focused desktop window. |
| Expert presets | Enable specialist roles for code review, architecture, frontend, backend, operations, and other workflows. |
| Skill center | Inspect, enable, disable, upload, and manage local and shared Agent skills from Settings. |
| Archive management | Search archived conversations, restore a session when needed, or permanently remove archived records. |
| IM assistant | Configure DingTalk, Feishu, Lark, WeChat, WeCom, QQ, Telegram, and other available channels in one place. |
| Plugin market | Discover, install, update, enable, and diagnose DSH plugins without leaving the desktop client. |
| MCP connector | Add and manage MCP services through OAuth, API keys, HTTP, stdio, or JSON configuration. |
| Scheduled automation | Use the built-in DSH scheduling capability to manage recurring tasks from the same workspace. |
| Safe local runtime | The app starts DSH on a validated loopback address and keeps the browser UI inside the desktop shell. |
Product preview
Screenshots were captured with Codex UI 1.1.0 in the dark theme; the current bundled version is 1.1.1. The conversation preview uses a new test session with a local command result.
Home: start a new task in a workspace.

Conversation: messages, trajectory, context, and task input.

Expert presets

Skill management

Scheduled automation

IM assistant

Archived conversations

Codex UI settings

Context settings

Sidebar settings

MCP connector

Usage statistics

Plugin market

Git commit graph

Included on first launch
The installer ships with the local runtime required to start DSH. On first launch, it prepares the desktop-facing community plugins in the Web profile:
| Included capability | Package |
|---|---|
| Codex-style workspace UI | @michengai/dsh-codex-ui |
| Native desktop pet and conversation notifications | @michengai/dsh-codex-pet |
| Expert preset management | @michengai/dsh-agency-agents |
| Skill management | @michengai/dsh-skills-manager |
| Archive management | @michengai/dsh-archive-manager |
| IM assistant | @michengai/dsh-im-connect |
| Scheduled automation | @michengai/dsh-automation |
| Context inspection and management | dsh-context |
| Extensible workspace sidebar | dsh-better-sidebar |
| MCP connection management | dsh-mcp-connector |
| Usage and cost tracking | @kenz1117/dsh-ui-usage-billing |
| Git commit graph | @linxin666/dsh-client-ui-git-graph |
| One-off read-only side questions | @michengai/dsh-btw |
| Code simplification scoped to Git changes | @michengai/dsh-simplify |
You can later manage additional plugins from the plugin market. The desktop application keeps its own runtime separate from profile-installed community plugins so plugin changes do not overwrite the application runtime.
The desktop bridge ships with the app and is injected only when Desktop starts DSH; it does not need to be installed in the shared Web profile. Running dsh web manually uses Web's own plugin management path. Desktop migrates and backs up bridge configuration left by older versions on startup.
DSH product ecosystem
For a ready-to-use workbench, download DSH Codex Desktop. If you already use DeepSeek Harness, install any of these eight plugins individually. The desktop app includes all eight.
| Plugin | What you can do |
|---|---|
| Codex UI | Organize projects and conversations, search tasks, and navigate chat turns |
| IM Connect | Send tasks and receive replies through your usual messenger |
| Automation | Schedule tasks and review each run |
| Skills Manager | Find, enable, create, and import local skills |
| Archive Manager | Search, restore, or clean up archived conversations |
| Agency Agents | Choose and summon specialists for your task |
| BTW | Ask side questions without interrupting the main task |
| Simplify | Use /simplify to improve code within your Git changes |
The desktop app also integrates DSH Context, DSH Better Sidebar, DSH MCP Connector, Usage Billing and the plugin market for context insights, file navigation, connections, and usage statistics.
Updates and recovery
- Desktop updates are checked after startup by default and notify you when a new release is available. Settings → Updates can instead download releases automatically or switch to manual-only checks. Installation and restart always require an explicit action.
- DSH reload is available from the tray menu after changing plugins or profile configuration; it restarts the local DSH service without reinstalling the desktop application.
- Plugin updates remain in the DSH settings and plugin market. A failed plugin installation is not activated as a running bundle.
- Startup recovery removes stale community-plugin registrations that no longer have an installed package, then retries the local DSH startup.
System requirements
| Item | Requirement |
|---|---|
| Operating system | Windows 10/11, macOS, or Linux |
| Architecture | Windows x64, macOS arm64/x64, or Linux x64/arm64 |
| Node.js | Not required for end users; bundled with the application |
| Network | Required only for the model providers, plugin downloads, and tools you choose to use |
Privacy and security
- DSH configuration, sessions, and credentials remain in the current user's DSH directory. Uninstalling the desktop app does not delete them.
- The launcher accepts only validated
127.0.0.1local HTTP addresses for its embedded window. - External HTTP(S) links open in the system browser. File, JavaScript, and data URLs are blocked.
- Electron uses context isolation and sandboxing, with Node.js integration disabled for the DSH page.
- Your configured model providers and DSH tools may make their own network requests. Review their settings and privacy policies before use.
Development
Bundled pet integration
The bundled @michengai/dsh-codex-pet 0.1.2 is distributed offline and installed automatically on first launch. Select a pet and enable visibility in pet settings to use the native companion. The plugin exposes window.dshPet API version 1. Desktop subscribes to snapshots and forwards conversation actions through that API; Desktop owns rendering, dragging, position storage, click-through and window recovery. The plugin remains usable in a web browser without Desktop. Older plugins exposing only dshDesktopPet are not supported by this adapter.
Run npm run smoke:pet to build and verify real Electron windows, preload/IPC, multi-session approval and answers, stale-command rejection, reload, hide and display handoff. The test uses a protocol fixture and a tiny image fixture, requires only this repository's development dependencies, and cleans its temporary user directory. It does not replace an installed-plugin or packaged-release acceptance test.
Development requires Windows, Node.js 24.20.0, and pnpm 11.24.0.
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
pnpm install --frozen-lockfile
pnpm test
pnpm run dist
Local build artifacts are written to release\ and are not committed. Pushing a vX.Y.Z tag starts the packaging workflow for Windows x64, macOS arm64/x64, and Linux x64/arm64 AppImage / deb artifacts.
License
This project is licensed under Apache License 2.0.
No comments yet. Be the first to write one.