Skip to main content

dsh-crew

72Stars4Forks1Issues0Watchers

Delegate tasks to DeepSeek Harness sub-agents within Claude Code/Codex, running them as native sub-tasks with real-time progress display.

Evidence5/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki
Language
JavaScript
License
MIT
Branch
main
ai-agentsclaude-codecodexcoding-agentdeepseek-harnessdshdsh-pluginmcp

Install

cmdweb profile
$ dsh plugin --profile web add @zseven-w/dsh-crew

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin ZSeven-W/dsh-crew for me: review the repository at https://github.com/ZSeven-W/dsh-crew first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Positioning

dsh-crew is a plugin for the DeepSeek Harness (DSH) platform that enables Claude Code or Codex to dispatch tasks to DSH's DeepSeek agents while preserving the native subtask panel; it also adds image description and generation capabilities to the text-only DeepSeek model.

Core Capabilities

  • Dispatch tasks to DSH agents at flash / pro tiers, with real-time progress, current tool, and token usage displayed in Claude Code / Codex's native subtask panel
  • Support synchronous blocking calls (dsh_run_worker) and asynchronous fan-out calls (dsh_spawn_worker), with the latter usable with status query and polling interfaces
  • When DSH Web instance is running (hub mode), dispatched tasks become DSH top-level sessions, viewable by working directory in the Web UI; otherwise automatically falls back to standalone runtime (available for CI, headless environments)
  • Provide describe_image and generate_image tools for text-only DeepSeek models, usable with local CLIs like Claude / Codex / Grok / Antigravity, or any OpenAI-compatible endpoint/local command
  • One-click installation to Claude Code and Codex: register local market, write MCP tool whitelist, integrate claude-hud status bar segment, backup all settings files before modifying
  • Configurable tier policy (force flash-only or pro-only) and failure escalation (auto-retry with pro when flash fails), enforced at tool layer rather than by verbal agreement

Technical Implementation

  • Language: TypeScript / JavaScript (ESM)
  • Key Dependencies: @modelcontextprotocol/sdk, MCP stdio protocol; DSH SDK client (lazy-loaded on-demand for standalone mode only); zod (parameter validation)
  • Architecture Pattern: Provides two forms simultaneously — MCP stdio server (src/server.mjs) as a client-side shim for Claude Code / Codex; DSH Cordis host plugin (src/hub/index.mjs, mounted to DSH runtime via cordis.patch.yml) as the server-side; the two communicate via local loopback HTTP interface (/_dsh/dsh-crew/jobs) and auto-switch
  • Entry Points: src/server.mjs (MCP entry), src/hub/index.mjs (DSH host plugin entry), outer package.json#dsh.bundle + cordis.patch.yml describe how to inject DSH Web profile

Use Cases

Developers who have subscribed to Claude Pro or regularly use Claude Code / Codex, and want Claude to actually "do the work" instead of just acting as a dispatcher: let Claude delegate independently solvable subtasks to DeepSeek agents while continuing to use their familiar Claude desktop workflow; and use DeepSeek for coding tasks in CI environments without a DSH Web interface. In developers' daily work, DSH models only support text; with the plugin, they can use locally logged-in Claude / Codex and other CLIs to help it "see images" and "draw".

Prerequisites & Compatibility

DependencyMinimum VersionDescription
DSH0.1.0-rc.6+Plugin runs in DSH Web profile (hub mode) or coordinates with DSH 0.1.0-rc.6+ (standalone mode)
NodeUndeclaredSource only depends on Node built-in modules (fs/path/crypto/child_process, etc.)
PlatformCross-platformOnly uses cross-platform Node API and subprocess calls; runs on macOS / Linux / Windows desktop systems
Native ModulesNoneRuntime dependencies only include @modelcontextprotocol/sdk and zod; @deepseek-ai/* provided by host runtime
Claude Code / CodexHost-dependentClient integration requires Claude Code or Codex installed as the vehicle for dispatched tasks

Installation

dsh plugin --profile web add github:ZSeven-W/dsh-crew

Configuration Options

ConfigTypeDescriptionDefault
default_tierflash / proDefault agent tier for dispatch (V4 Flash is cheap and fast, V4 Pro has strong reasoning)flash
default_effortoff / high / maxDefault reasoning effort for dispatchmax
modeauto / hub / standaloneauto prefers hub, falls back to standalone; hub forces host; standalone never connects to hostauto
default_timeout_secondsNumberMaximum wait seconds per dispatch1800
tier_policyauto / flash-only / pro-onlyTool layer forces every dispatch to a single tier (overrides caller's tier)auto
escalate_on_failureBooleanWhether to auto-retry with pro when blocking flash fails (based on actual failure, not pre-estimating difficulty)false
preset_flashStringDSH Agent preset for flash tier in hub mode (default follows host default)minimal
preset_proStringDSH Agent preset for pro tier in hub modedefault
vision_providerclaude-code / codex / grok / agy / custom / offDownstream provider for DeepSeek's image description capabilityclaude-code
vision_modelStringSpecific model name passed to vision CLIhaiku
imagegen_providercodex / agy / grok / custom / offDownstream provider for DeepSeek's image generation capabilitycodex
hub_urlURLLoopback address auto-detected in hub modehttp://127.0.0.1:3080

Configure via DSH Web settings page DSH Crew panel, or directly edit ~/.config/dsh-crew/config.json.

FAQ

Q: What additional configuration is needed after installation?

A: If DSH Web is running (hub mode), it already has DeepSeek credentials, and the plugin works directly. Only in pure standalone mode without a DSH instance do you need to write DEEPSEEK_API_KEY to ~/.config/dsh-crew/.env.

Q: DeepSeek is a text-only model; how about images and generation?

A: The plugin includes describe_image and generate_image tools, using locally logged-in subscription CLIs (Claude, Codex, Grok, Antigravity) or any OpenAI-compatible API/local command to handle image description and generation; images pasted into the session are automatically converted to text before being sent to the model.

Q: How to choose between dsh_run_worker and dsh_spawn_worker?

A: dsh_run_worker is a blocking call that returns with results; dsh_spawn_worker immediately returns a task ID, suitable for parallel fan-out, with results tracked via dsh_worker_status / dsh_worker_result.

Q: What's the difference between flash and pro tiers?

A: flash is fast and cheap, suitable for mechanical tasks; pro has stronger reasoning, suitable for complex tasks. You can use tier_policy to pin all dispatches to a single tier, or enable automatic retry with pro for failed flash tasks.

Q: How to uninstall?

A: Click the uninstall button in the DSH settings page DSH Crew section, or run node src/install/cli.mjs uninstall from command line; it will clean up Claude Code / Codex registration and HUD segments, while retaining backups of settings.json.

Q: What operating system is needed?

A: Only uses Node built-in modules and subprocesses; any desktop system that can run Node works, cross-platform on macOS / Linux / Windows.

Learning Curve

Beginner — After the plugin is attached to the DSH profile, you can dispatch via natural language like "dispatch X to ds-flash" directly in Claude Code / Codex; enter the DSH settings page to adjust when image description or preset changes are needed.

Known Issues & Limitations

  • Client subtask shell is forwarded through Claude's own small model (haiku, etc.), consuming hundreds to thousands of additional Anthropic tokens per dispatch (from README original): either accept this cost, or work around it (the README mentions a router experimental route, but Codex side requires API key while subscription OAuth is blocked by upstream 403, not officially supported)
  • Generated images are single-layer bitmaps; layer editing still depends on external tools like OpenPencil
  • Codex roles must set default_tools_approval_mode = "approve", otherwise tool calls are automatically cancelled
  • Client process and host process communicate via local loopback HTTP; polling requests waiting more than a few tens of seconds are cut off by Node undici's 300-second header timeout, so the plugin actively splits into ≤ 60-second slices during waiting (src/hub-client.mjs:31-41), but extremely long tasks still require active polling via dsh_worker_result(wait_seconds)
  • When imagegen_provider selects Codex/Grok/Antigravity CLIs, the corresponding CLI must be locally logged in; the plugin won't bypass their authentication

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/ZSeven-W/dsh-crew)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory