DeepSeek Harness Plugin

spechenxin/jimu

Stars ★ 0 Category Workflow & Automation Added 2026-09-03

Jimu (积木): domain-based orchestration plugin for DeepSeek Harness — domain_plan confirmation, per-domain sub-agents with hand-off, and automatic LLM audit.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:spechenxin/jimu

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

A domain-based task orchestration plugin for DeepSeek Harness.

This plugin decomposes complex multi-step tasks with interdependent stages into an ordered set of independent execution units (domains). After human confirmation, each domain runs in sequence with automatic audit and output hand-off, keeping the entire process visible, traceable, and interruptible.

Background

A general-purpose agent typically completes a complex task in a single pass, leaving intermediate steps opaque and hard to control. Jimu provides a structured execution model:

  • Decomposition: the task is split into an ordered domain plan; each domain declares its scope and acceptance criteria;
  • Human confirmation: no domain runs before the user confirms the plan, aligning the decomposition with user intent;
  • Independent execution: each domain runs in a fresh sub-agent that receives only its own task and relevant upstream output;
  • Automatic audit: on completion, each domain's output is verified against its acceptance criteria before the next domain is released;
  • Interruptible and traceable: domain progress and audit results are persisted as session events, reviewable at any time; execution can be paused and resumed from a given domain.

Components

Component Description
domain-plan Provides the domain_plan tool: decomposes the task into a domain plan and submits it for user confirmation; the verdict is recorded as the domain/plan event
orchestrator Listens for confirmed plans, starts each domain's sub-agent in order, performs output hand-off and automatic audit, and provides the domain_resume tool to continue from a paused domain
auto-approver Test helper that answers confirmation panels automatically; for automated tests only, never mount in production

Install

# via npm
dsh plugin --profile web add @spechenxin/jimu

# or via GitHub
dsh plugin --profile web add github:spechenxin/jimu

Restart dsh web after installing. The plugins appear in Settings → Plugins as jimu-domain and jimu-orchestrator.

Usage

Give the model a multi-step task. The flow is:

  1. The model calls domain_plan and submits a domain plan for user confirmation;
  2. After confirmation, the orchestrator starts sub-agents by domain sequence, handing upstream output between domains;
  3. Each domain is audited on completion; on pass the next domain starts, on failure the run pauses;
  4. After a fix, instruct the model to call domain_resume to continue from the paused domain.

Event model

Event Description
domain/plan The domain plan and its human confirmation verdict
domain/progress Per-domain execution state (running / passed / paused / failed)
domain/audit Per-domain audit conclusion and rationale

These events are persisted with the session and support replay and audit.

Development

pnpm install        # install dependencies
pnpm build          # build to lib/
pnpm typecheck      # type check

License

MIT

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.