dsh-thinking-language-zh
ayanJava111
deepseek harness思考过程中文插件
PROJECT TOPICS
PROJECT README
English | 中文
Declarative task-DAG orchestration for DeepSeek Harness. This optional Cordis plugin registers a model-facing orchestrate_tasks tool, validates a bounded directed acyclic task graph before anything starts, and executes it through the existing ctx.workflowEngine.
This is an independent community plugin and is not an official DeepSeek package.
The package-owned worker script executes deterministic topological layers. Model-authored ids, prompts, dependency ids, schemas, provider names, model names, and upstream results are passed only as JSON data; none is interpolated into JavaScript source.
dsh plugin --profile web add dsh-tool-orchestrate
Replace web with the profile you want to extend. The package declares a DSH bundle manifest, so installation adds its tool-orchestrate Cordis row automatically. This project distributes prebuilt releases through npm; installing directly from the GitHub repository is not supported.
The plugin expects a DeepSeek Harness deployment that already provides:
ctx.toolsctx.systemPromptctx.workflowEngine, normally supplied by @deepseek-ai/dsh-workflow-worker-threadNormally no manual configuration is needed after dsh plugin add. For a custom composition, add:
- id: tool-orchestrate
name: 'dsh-tool-orchestrate'
The standard DSH base bundle already loads workflow-worker-thread. A custom composition must provide ctx.workflowEngine; if it disables the workflow engine, re-enable it explicitly in a later patch layer.
orchestrate_tasks accepts:
meta: normalized name and description;tasks: a non-empty array of tasks with lowercase kebab-case id, title, and normalized prompt;dependsOn, provider, model, and object-rooted outputSchema per task.Each completed task returns its child's text or structured value. A failed child becomes { status: 'failed', error: 'subagent_failed' }; a task blocked by failed or skipped direct dependencies becomes skipped with deterministic blockedBy ids. Results keep the original task-array order, with aggregate counts and a top-level completed, partial, or failed status.
This plugin does not own or store an API key. Child tasks use the host deployment's existing LLM route and credential source: for example DEEPSEEK_API_KEY in the process environment, a host credential provider, or another configured route. Subagents inherit the same credential configuration as the parent composition unless a task selects a different provider/model route.
Do not place API keys in prompts, cordis.yml, source code, or GitHub Actions logs. Prefer environment variables or your deployment's credential mechanism.
| Key | Default | Meaning |
|---|---|---|
toolName |
orchestrate_tasks |
Model-facing tool name. |
maxTasks |
64 |
Maximum tasks per call. |
maxDependencies |
16 |
Maximum direct dependencies per task. |
maxPromptChars |
32768 |
Maximum normalized characters per task prompt. |
maxResultChars |
50000 |
Rendered canonical-JSON ceiling. |
All numeric limits must be positive safe integers; toolName must be a non-empty normalized string.
pnpm install
pnpm run typecheck
pnpm run check
Publishing is performed from a clean checkout through the manually triggered Publish to npm GitHub Actions workflow. Maintainers must configure its npm environment and NPM_TOKEN secret first.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。