MindIE Agent logo

MindIE Agent for DeepSeek Harness

> Plugin discovery: this repository carries the GitHub topic [`dsh-plugin`](https://github.com/topics/dsh-plugin) for DSH plugin marketplaces. > **Formal 0.0.2**: DSH is a native `mindie-bench` harness (PR #2) and passed CPU L2 G0/G1/G2 canaries with real verifier judgments; G3 native capture is not supported yet. The 0.0.1 stable launcher, silent auto-update, Stop capture/redaction, knowledge feedback and community contribution remain. See the [benchmark note](docs/benchmark.md) and [verification record](docs/verification.md).

Ascend NPU AI Infra knowledge and remote development for DeepSeek Harness
Works inside the standard preset · read-only domain knowledge · the official remote-dev NPU tool set · stable DSH plugins only

License: MIT DSH 0.2.0-rc.2 Stable plugins only

中文 | English · Quick Start · Usage · Architecture · Limits

--- **MindIE Agent for DeepSeek Harness** (`mindie-agent-dsh`) is the DSH-native adapter for [MindIE Agent](https://github.com/mindie-agent/mindie-agent), version `0.0.1`. It brings two core capabilities into DSH: - **`/mindie-agent` knowledge and skill entry** — on-demand retrieval of Ascend engineering knowledge such as `knowledge-vllm-ascend`; - **the official `remote-dev` tool set** — read, write, execute, test, and poll long-running work on remote Ascend hosts and containers. > [!IMPORTANT] > **Stability by composition: stable DSH plugins only.** > This adapter composes exactly two non-experimental packages: `@deepseek-ai/dsh-skill-filesystem` and `@deepseek-ai/dsh-mcp-client`. It uses **no `@deepseek-ai/dsh-experimental-*` package**, overrides **no shipped row or shipped preset**, and inserts every new row at the Host layer. > Consequently the shipped `standard` preset and every other preset inherit the skill and tools directly. There is no “MindIE mode” to switch to and no configuration drift against the standard composition. ## Quick Start ### Prerequisites | Dependency | Requirement | Why | | --- | --- | --- | | DeepSeek Harness | `0.2.0-rc.2` | The optional peer dependency pins this exact runtime | | Node.js | `>= 22` | DSH runtime requirement | | Python | `>= 3.11` | `uv` selects/manages 3.11; the system Python need not be 3.11 | | `uv` | a recent release | builds the locked runtime and provides the 3.11 interpreter | | `git` | a recent release | fetches the plugin and the public knowledge feed | | Network | first install | fetches pinned components and the public knowledge snapshot | ### Step 1 — Provision the pinned runtime before enabling the bundle `dsh-mcp-client` connects the MCP server as soon as the bundle is enabled, so prepare the runtime **first**: ```bash MINDIE_TMP="${TMPDIR:-/tmp}/mindie-agent-dsh" rm -rf "$MINDIE_TMP" git clone --depth 1 --branch v0.0.2 https://github.com/mindie-agent/mindie-agent-dsh.git "$MINDIE_TMP" uv run --quiet --no-project --python 3.11 "$MINDIE_TMP/scripts/setup.py" ``` Success means the final JSON reports: ```json { "status": "ready", "components": { "mindie-knowledge": "0.11.0", "remote-dev": "0.9.5", "mindie-diagnostics": "0.4.1" }, "knowledge": { "status": "ready" } } ``` `setup.py` is idempotent: it revalidates the runtime against `uv.lock`, rewrites the engine configuration, and performs an incremental feed sync. Runtime, config, knowledge, and remote-dev state default to `~/.local/share/mindie-agent/dsh` and `~/.config/mindie-agent/dsh`; the temporary clone can be deleted afterwards. ### Step 2 — Install and enable the bundle in DSH In the DSH Web **Plugins** page, install and enable: ```text git+https://github.com/mindie-agent/mindie-agent-dsh.git#v0.0.2 ``` Or, from an agent session that has the `plugin_manager` tool: ```text plugin_manager(action="install_bundle", target="git+https://github.com/mindie-agent/mindie-agent-dsh.git#v0.0.2") ``` > `dsh plugin --profile add ` only runs pnpm; it does not select the bundle. Enable `mindie-agent-dsh` on the Plugins page afterwards. Do not hand-edit the profile's `package.json` or `cordis.patch.yml`. Open a **new session** afterwards (existing sessions keep the composition they started with) and type `/mindie-agent`. ### Step 3 — Verify ```text /mindie-agent Design an accuracy test for a fused operator in vllm-ascend, then use remote-dev to run it in the remote NPU container. ``` Success criteria: 1. the skill is injected by the explicit `/mindie-agent` gesture, never by model auto-discovery; 2. the tool list contains `mcp__mindie-knowledge__knowledge_query` / `knowledge_explain` / `knowledge_sync` and `mcp__remote-dev__remote_*`; 3. knowledge results carry `ref`s and `knowledge_explain` returns the block body; 4. remote operations use a real host / port / container, and long work is polled through `remote_job_*`. ## Usage | Capability | Trigger | Notes | | --- | --- | --- | | Ascend knowledge, engineering experience, testing and troubleshooting references | **manual** `/mindie-agent ` | explicit skill injection, then read-only knowledge tools; knowledge is reference, current-environment evidence wins | | Remote Ascend hosts / containers | **default-on**, no slash command | describe the remote work naturally; the agent calls `mcp__remote-dev__remote_*` | | Knowledge feed refresh | `knowledge_sync` inside a `/mindie-agent` task | once, only when the corpus is unavailable/stale or the user asks for the latest knowledge | Examples: ```text /mindie-agent Summarize the known MLA/GQA non-contiguous FIA verification conclusions for vllm-ascend and give the minimal accuracy reproduction steps on the current 910B container. ``` ```text Connect to the vllm-dev container on 192.0.2.21:22, sync my updated tests, run pytest on the NPU, and move the long run to a background job with live logs. ``` ## Architecture and Stability Boundary ```mermaid flowchart TB subgraph DSH["DeepSeek Harness 0.2.0-rc.2"] HOST["Host composition
mindie-agent-dsh bundle"] STD["standard / any agent preset"] SKILL["@deepseek-ai/dsh-skill-filesystem
providerName=mindie"] KMC["@deepseek-ai/dsh-mcp-client
serverName=mindie-knowledge"] RMC["@deepseek-ai/dsh-mcp-client
serverName=remote-dev"] STD --> HOST HOST --> SKILL HOST --> KMC HOST --> RMC end SKILL --> SK["skills/mindie-agent
/mindie-agent"] KMC --> BR["knowledge_mcp.py
thin stdio bridge"] BR --> KS["mindie-knowledge 0.11.0
local loopback service"] KS --> FEED[("knowledge-vllm-ascend
public feed")] RMC --> RD["remote-dev 0.9.5
official MCP server"] RD --> NPU[("remote Ascend host / Docker container")] ``` ### What “stable plugins only” means here | Row | Plugin | Source | Experimental | | --- | --- | --- | --- | | `mindie-agent-skill` | `@deepseek-ai/dsh-skill-filesystem` | the provider the standard preset uses | no | | `mindie-agent-knowledge-mcp` | `@deepseek-ai/dsh-mcp-client` | shipped stable MCP bridge | no | | `mindie-agent-remote-mcp` | `@deepseek-ai/dsh-mcp-client` | same | no | - **No override** of any shipped row or preset — only `insert`; DSH upgrades to the standard preset are not shadowed. - **No custom Cordis Host plugin** — the knowledge bridge is an MCP server, and remote-dev uses the component's official server entry point. - The package declares only an optional exact peer on `@deepseek-ai/dsh@0.2.0-rc.2`, so installing it does not pull a second DSH runtime into the profile. ## 0.0.1 Scope and Known Limits - **Read-only knowledge**: `knowledge_query`, `knowledge_explain`, plus explicit `knowledge_sync`. There is **no** `knowledge_feedback` in 0.0.1. - **No Session-Stop capture, community contribution, or automatic fault reporting**: DSH session logs are zstd JSONL; this version does not implement a parser and never pretends a capture succeeded. The configured capture adapter fails loudly if invoked. - **Knowledge identity is the Host-level `dsh` identity**, not per-session. Do not claim session isolation. - **remote-dev state is Host-level and shared**: job records live under `~/.local/share/mindie-agent/dsh/state/remote` and are visible across sessions. - Verification evidence is in [`docs/verification.md`](docs/verification.md). `0.0.1` is accepted only on **macOS 27.0.1 arm64 + DSH 0.2.0-rc.2**; other platforms are untested. - No automatic updater. Upgrading means re-running `setup.py` and selecting the new tag in the Plugins page. ## Development and Tests ```bash # offline contract/protocol tests; no user-directory writes python3 -m unittest discover -s tests -v # prerequisites and paths only; no runtime build uv run --quiet --no-project --python 3.11 scripts/setup.py --dry-run # manual knowledge MCP probe printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2026-07-28"}}' \ '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \ | uv run --quiet --no-project --python 3.11 scripts/knowledge_mcp.py knowledge ``` Paired release mapping and acceptance evidence: [`docs/verification.md`](docs/verification.md) and [`harness-compatibility.json`](harness-compatibility.json). ## License MIT. See [LICENSE](LICENSE).