Preface

If you’re using Claude Code, Codex, Antigravity, or Grok for orchestration and want to leverage DeepSeek Harness (DSH) tools, sandbox, presets, and session history for running specific tasks, the common practice is to bypass the host interface and start a separate DSH process or write custom bridging scripts. This way, the orchestrator can’t see the real-time progress of subtasks, and you have to maintain the tiering and failure retry logic yourself.

Here we introduce DSH Crew. It attaches DSH agents as native subagents to the host task panel, keeping the orchestrator’s model unchanged while the actual work is done by real DSH agents. When DSH Web is open, workers also appear as first-class sessions in the Web UI.

What Is This

DSH Crew is a workflow plugin for DSH, with the npm package name @zseven-w/dsh-crew, maintained by ZSeven-W. The SkillHub directory page shows the current version as 0.1.0-rc.6, and the README states it has been verified on DSH 0.1.1-rc.1. The GitHub repository has about 103 stars and 4 forks.

The core problem it solves is: dispatching tasks from Claude Code / Codex / Antigravity / Grok to DSH agents while preserving the host’s native subagent progress UI, and supplementing visual description and image generation capabilities for the text-only DSH model when needed.

Core Features

Native Subagent Progress

Workers appear as regular subagents in the host. Dispatch count, current steps, tool calls, and token consumption show up in the host task panel; Claude Code can also view the runtime tier and duration via the claude-hud status bar section, e.g., ⚙dsh 1▶pro 2m14s 21.7k/606 ✓3.

Tier Strategy and Failure Escalation

flash targets mechanical tasks, pro targets reasoning tasks, and effort can be set from off to max. tier_policy can converge all dispatches to a specific tier at the tool level; escalate_on_failure automatically retries once with pro after a flash task fails, based on execution results rather than pre-guessing difficulty. Tiers correspond to the DeepSeek V4 Flash and V4 Pro configured in DSH; when DSH changes the model, the plugin side doesn’t need modification.

DSH Sessions in Host

After installing the bundle into the DSH profile, each worker becomes a first-class DSH session: appearing in the Web UI, grouped by working directory, and attached to the specified Agent preset by tier. When DSH is not running, dispatches fall back to an independent dsh-jsonrpc-agent runtime, so CI and headless environments can still use it.

Dispatch Guards and Task Dashboard

Each dispatch goes through checks before starting the process: worker→worker nesting is limited to origin chain depth 3, loops are rejected; when a workspace already has a running task, a second worker is rejected and returns holder information without silently queuing. The DSH Crew settings panel also serves as a task dashboard, listing running and completed tasks with their tier, effort, progress, and tokens; tasks that disappear mid-way show up as orphan ghosts.

Visual and Image Generation Bridge

DSH models are text-only. describe_image prioritizes the DeepSeek vision model deepseek-v4-flash-vision-exp when available, falling back to locally logged-in Claude, Codex, Grok, Antigravity CLIs, or user-configured OpenAI-compatible APIs if that fails. generate_image borrows image generation capabilities from the same CLIs. Images pasted in the session are preserved for display, and the model side receives transcribed text.

One-Click Host Integration Installation

The settings page or CLI installer can register MCP, permission allowlists, HUD wiring, and absolute paths for Claude Code, Codex, Antigravity, and Grok; configuration files are automatically backed up before changes.

How It Works

First orchestrate, then dispatch work via MCP. The overall flow is as follows:

Claude Code / Codex / Antigravity / Grok (orchestrator, model unchanged)
  └─ ds-flash / ds-pro  ← native subagent shell (progress appears in host task UI)
       └─ MCP: dsh_run_worker(tier, effort, cwd, worker=)
            ├─ worker="agy"/"grok" → work done by external CLI (explicit opt-in)
            ├─ hub reachable → session within DSH (visible in Web UI, grouped by cwd)
            └─ otherwise     → dsh-jsonrpc-agent independent runtime (worker.cordis.yml)
                 └─ DeepSeek V4 Flash / Pro (DSH SDK, event stream → progress and token stats)

Installation and Enabling

Install into DSH Profile

Install from npm to the web profile, then open DSH Web:

dsh plugin --profile web add @zseven-w/dsh-crew@latest
dsh web

For local development, you can link directly to the source tree, rebuild, and see changes instantly:

dsh plugin --profile web add link:/path/to/dsh-crew
dsh web

Configure DeepSeek Credentials (standalone only)

In hub mode, workers use existing DeepSeek credentials from the DSH instance, requiring no additional configuration. Only when dispatching from the host and no DSH instance is running do you need to prepare keys for the standalone runtime: get an API key from platform.deepseek.com and write it to ~/.config/dsh-crew/.env:

DEEPSEEK_API_KEY=sk-...

Self-Check

After installation, you can run the smoke test to verify if the hub or standalone path is available:

node scripts/smoke.mjs

If smoke test passed — configuration OK appears within about ten seconds, the configuration is correct.

Install Host Integration

Open DSH Settings → DSH Crew, or run in the repository directory:

node src/install/cli.mjs claude   # Claude Code: marketplace + permission allowlist + HUD
node src/install/cli.mjs codex    # Codex agent + prompt
node src/install/cli.mjs agy      # Antigravity MCP + agent + skill
node src/install/cli.mjs grok     # Grok MCP + agent + command
node src/install/cli.mjs all      # Install all four hosts at once

After installing for Claude Code, you need to restart the session for changes to take effect.

Typical Usage

Claude Code

In the conversation, directly say “assign X to ds-flash” or “assign X to ds-pro”. Use session commands to manage defaults and status:

Command Function
/dsh-crew:config View or set tier, effort, mode, timeout, policy, escalate, etc.
/dsh-crew:on · /dsh-crew:off Toggle dispatching for this session
/dsh-crew:status View real-time worker status
/dsh-crew:playbook View dispatch best practices

For long tasks, the orchestrator can use dsh_spawn_worker for asynchronous dispatch and then poll results with dsh_worker_result(wait_seconds) to avoid MCP call timeouts.

Codex

In the interactive TUI, select “spawn ds-pro to …” to dispatch; codex exec can also directly call dsh_run_worker. The role file must set default_tools_approval_mode = "approve", otherwise tool calls in exec mode will be automatically cancelled.

MCP Tools Overview

Tool Description
dsh_run_worker Blocking dispatch, waits for return result
dsh_spawn_worker Asynchronous dispatch, returns job id
dsh_worker_status Query all job progress and cwd locks
dsh_worker_result Get result, can specify wait_seconds
dsh_worker_cancel Cancel specified job
dsh_worker_config View or set defaults for this session

Progress is also written to ~/.config/dsh-crew/status.d/ for statusline or external monitoring.

Use Cases and Notes

Who it’s for: Developers who are already using Claude Code, Codex, Antigravity, or Grok for orchestration and want to hand off specific execution to DSH agents while seeing real-time progress in the host panel; when running DSH Web locally, you can also watch worker sessions in the Web UI.

Permissions and Security: The plugin runs with the current DSH process permissions. Before installation, you should read the GitHub source code and MIT License. Antigravity workers run with full approval; Grok workers run with bypassPermissions, but deny rules and hooks still apply.

Ecosystem Context: DSH adopts an “everything is a plugin” architecture; SkillHub is a community directory, with no official affiliation with DeepSeek /幻方 (High-Flyer).

Known Limitations: DeepSeek models themselves do not support image input and image generation; these capabilities are implemented via borrowed CLIs or custom providers; image generation output is flat bitmaps. Codex roles must configure tool approval mode; otherwise, dispatching cannot work properly.

Conclusion

With the steps above, you can assign tasks to DSH agents in your familiar orchestration environment while preserving native progress UI, tier strategy, dispatch guards, and multimodal bridging. For more details, see the project README and settings page.

  • SkillHub directory page: https://www.skillhub.cn/plugins/ZSeven-W/dsh-crew
  • GitHub repository: https://github.com/ZSeven-W/dsh-crew