MindIE Agent logo

MindIE Agent for DeepSeek Harness

> 插件发现:本仓库使用 GitHub topic [`dsh-plugin`](https://github.com/topics/dsh-plugin) 供 DSH 插件市场索引。 > **`0.0.2` 正式版**:DSH 已作为原生 harness 接入 `mindie-bench`(PR #2),在 CPU L2 的 G0/G1/G2 canary 中通过真实 verifier;G3 原生采集暂不支持。0.0.1 的稳定 launcher、静默自动更新、Stop 采集/脱敏、知识反馈与社区贡献全部保留。详见[benchmark 说明](docs/benchmark.md)与[验证记录](docs/verification.md)。

面向昇腾(Ascend)NPU AI Infra 研发、测试与排障的 DeepSeek Harness 原生插件
标准模式即装即用 · 领域知识只读检索 · 官方 remote-dev NPU 工具集 · 仅依赖 DSH 稳定插件

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

中文 | English · 快速开始 · 使用方式 · 架构 · 已知限制

--- **MindIE Agent for DeepSeek Harness**(`mindie-agent-dsh`)是 [MindIE Agent](https://github.com/mindie-agent/mindie-agent) 的 DSH 原生适配器,`0.0.1` 首发版本。 它把 MindIE Agent 的两项核心能力接入 DSH: - **`/mindie-agent` 领域知识与 Skill 入口**:按需检索 `knowledge-vllm-ascend` 等昇腾工程知识; - **官方 `remote-dev` 远端 NPU 工具集**:在远端昇腾服务器/容器内读写、执行、跑测试和轮询长任务。 > [!IMPORTANT] > **稳定性设计:只依赖 DSH 标准发行版中的稳定插件。** > 本适配器只组合 `@deepseek-ai/dsh-skill-filesystem` 与 `@deepseek-ai/dsh-mcp-client` 两个非 experimental 包,**不引入任何 `@deepseek-ai/dsh-experimental-*`**,**不覆盖任何 DSH 内置行或内置预设**。 > 新增的三行都挂在 Host 层,因此 **`standard` 标准模式以及其它预设都会直接继承**,用户不需要切换模式,也不存在“MindIE 模式”与标准模式的配置漂移。 ## 快速开始 ### 前置条件 | 依赖 | 要求 | 说明 | | --- | --- | --- | | DeepSeek Harness | `0.2.0-rc.2` | `package.json` 的 peer 依赖精确锁定该版本 | | Node.js | `>= 22` | DSH 运行时要求 | | Python | `>= 3.11` | 由 `uv` 选择/管理 3.11,不要求系统 Python 正好是 3.11 | | `uv` | 任意近期版本 | 构建锁定运行时、提供 3.11 解释器 | | `git` | 任意近期版本 | 拉取插件与知识源 | | 网络 | 首次安装需要 | 拉取固定组件与公共知识快照 | ### 第 1 步:构建锁定运行时并同步知识(先于启用 bundle) `dsh-mcp-client` 会在 DSH 启动/启用 bundle 时立即连接 MCP server,因此**先**把运行时准备好,避免首次连接失败: ```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" ``` 验证标准:命令最终输出的 JSON 中: ```json { "status": "ready", "components": { "mindie-knowledge": "0.11.0", "remote-dev": "0.9.5", "mindie-diagnostics": "0.4.1" }, "knowledge": { "status": "ready" } } ``` `setup.py` 是幂等的:再次执行会按 `uv.lock` 重新校验运行时、重写引擎配置并做增量知识同步。运行时、配置、知识与 `remote-dev` 状态默认位于 `~/.local/share/mindie-agent/dsh` 与 `~/.config/mindie-agent/dsh`;临时克隆目录随后可以删除。 ### 第 2 步:在 DSH 中安装并启用 bundle 在 DSH Web 的 **Plugins** 页面安装并启用: ```text git+https://github.com/mindie-agent/mindie-agent-dsh.git#v0.0.2 ``` 也可以在具备 `plugin_manager` 工具的 Agent 会话中安装: ```text plugin_manager(action="install_bundle", target="git+https://github.com/mindie-agent/mindie-agent-dsh.git#v0.0.2") ``` > 说明:`dsh plugin --profile add ` 只负责 pnpm 安装,不会替用户勾选 bundle。安装后在 **Plugins** 页面启用 `mindie-agent-dsh` 即可;不要手改 profile 的 `package.json` 或 `cordis.patch.yml`。 启用后打开**新会话**(已有会话保留其启动时的组合),输入 `/mindie-agent` 即可使用。 ### 第 3 步:验证 ```text /mindie-agent 我准备在 vllm-ascend 里补一个融合算子的精度测试,请先结合知识库给出测试设计,再用 remote-dev 在远端 NPU 容器里跑通。 ``` 验证标准: 1. 技能被注入(`/mindie-agent` 是用户显式入口,不进入模型自动目录); 2. 工具列表出现 `mcp__mindie-knowledge__knowledge_query` / `knowledge_explain` / `knowledge_sync` 与 `mcp__remote-dev__remote_*`; 3. 知识检索返回带 `ref` 的引用组,`knowledge_explain` 能读到正文; 4. 远端操作使用真实 host / port / container,长任务可通过 `remote_job_*` 轮询。 ## 装好之后怎么用 | 能力 | 触发方式 | 说明 | | --- | --- | --- | | 昇腾领域知识、工程经验、测试与排障参考 | **手动** `/mindie-agent <需求>` | 显式注入 Skill,再按需调用只读知识工具;知识永远只是参考,以当前环境实测为准 | | 远端昇腾服务器 / 容器操作 | **默认常驻**,无需斜杠命令 | 直接自然语言描述远端操作,Agent 调用 `mcp__remote-dev__remote_*` | | 知识源刷新 | 由 `/mindie-agent` 会话内的 `knowledge_sync` 触发 | 仅在语料不可用/过期或用户要求最新知识时调用一次,不轮询 | 示例: ```text /mindie-agent 帮我看看 vllm-ascend 里 MLA/GQA 首轴非连续 FIA 的已知验证结论,并给出在当前 910B 容器里复现精度的最小测试步骤。 ``` ```text 连上 192.0.2.21:22 的 vllm-dev 容器,把我本地刚改的测试同步过去,在 NPU 上跑 pytest,长任务转后台并持续看日志。 ``` ## 架构与稳定性边界 ```mermaid flowchart TB subgraph DSH["DeepSeek Harness 0.2.0-rc.2"] HOST["Host composition
mindie-agent-dsh bundle"] STD["standard / 其它 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[("远端昇腾主机 / Docker 容器")] ``` ### 只依赖标准模式插件的具体含义 | 行 | 使用的插件 | 来源 | 是否 experimental | | --- | --- | --- | --- | | `mindie-agent-skill` | `@deepseek-ai/dsh-skill-filesystem` | DSH 标准预设同款 provider | 否 | | `mindie-agent-knowledge-mcp` | `@deepseek-ai/dsh-mcp-client` | DSH 标准发行版 MCP 桥 | 否 | | `mindie-agent-remote-mcp` | `@deepseek-ai/dsh-mcp-client` | 同上 | 否 | - **不覆盖**任何 shipped row / preset,只做 `insert`;因此 DSH 升级带来的标准预设改动不会被本适配器遮蔽。 - **不引入**自定义 Cordis Host 插件;知识桥只是 MCP server,`remote-dev` 直接使用组件官方 server 入口。 - `package.json` 只声明精确的 `@deepseek-ai/dsh@0.2.0-rc.2` 可选 peer,安装时不会把另一个 DSH 运行时拖进 profile。 ## 0.0.1 范围与已知限制 - **知识检索是只读的**:`knowledge_query`、`knowledge_explain`,外加显式 `knowledge_sync`。0.0.1 **没有** `knowledge_feedback`。 - **无会话结束采集、无社区贡献、无自动故障上报**:DSH 的公开会话格式是 zstd JSONL,本版本不实现解析,也不假装采集成功;引擎配置里的采集适配器会在被调用时明确报错。 - **知识身份是 Host 级 `dsh`**,不是 per-session;不要宣称会话隔离。 - **`remote-dev` 状态是 Host 级共享**:作业记录位于 `~/.local/share/mindie-agent/dsh/state/remote`,跨会话可见。 - 已验证平台见 [`docs/verification.md`](docs/verification.md);`0.0.1` 只在 **macOS 27.0.1 arm64 + DSH 0.2.0-rc.2** 上完成实机验收,其它平台请以实际测试为准。 - 不提供自动更新器;升级时重新执行 `setup.py` 并在 Plugins 页面切换到新 tag。 ## 开发与测试 ```bash # 无需网络 / 不写用户目录的契约与协议测试 python3 -m unittest discover -s tests -v # 只检查前置条件与路径,不构建运行时 uv run --quiet --no-project --python 3.11 scripts/setup.py --dry-run # 手工探测 knowledge MCP 协议 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 ``` 发布配套关系、提交哈希与实机证据见 [`docs/verification.md`](docs/verification.md) 与 [`harness-compatibility.json`](harness-compatibility.json)。 ## 许可证 本项目基于 [MIT License](LICENSE) 开源。