MindIE Agent for DeepSeek Harness
面向昇腾(Ascend)NPU AI Infra 设计、开发与测试流程的 DeepSeek Harness 原生插件
标准预设直接继承 · 领域知识检索与经验沉淀 · 远端 NPU 开发测试工具集 · 仅依赖 DSH 稳定插件
中文 | English · 快速开始 · 使用方式 · 架构 · 贡献与故障上报 · 已知限制
MindIE Agent for DeepSeek Harness(mindie-agent-dsh)是 MindIE Agent 面向 DeepSeek Harness(DSH)的原生插件适配器,当前正式版本为 0.1.16(配套主产品 0.1.12)。
它面向昇腾(Ascend)NPU AI Infra 设计、开发与测试全流程,当前 0.1.16 已交付 vLLM-Ascend 特性开发与测试、AscendC / Triton 算子实现验证等能力(更多昇腾基础软件方向按路线图持续扩展):
/mindie-agent领域知识、Skill 与经验沉淀入口:按需调用mindie_entry、knowledge_query、knowledge_explain、knowledge_distill、knowledge_feedback、knowledge_sync,检索knowledge-vllm-ascend工程案例,并按L1/L2基础基线、L3Hermes 收敛与L4RSI 去偏探索推进任务;开启贡献时自动完成session.v4.jsonl.zstd公开对话脱敏采集与社区 PR 发布;- 远端开发与本地组件工具:
remote-dev负责远端文件读写、命令执行与后台任务管理;mindie-tools提供本地诊断、状态查询,以及profiler、sim、coordinator的调用入口。两组工具默认可用; - 生态支持:当前
v0.1.16(配套主产品0.1.12)同步支持 Claude Code(mindie-agent-cc)、OpenAI Codex CLI(mindie-agent-codex)、Kimi Code(mindie-agent-kimi)、Google Antigravity(mindie-agent-agy)与 DeepSeek Harness(本仓库)。
项目遵循 MindIE Agent 工程设计原则 的薄适配层架构:本仓库专注于 DSH Host 组合、会话采集与本地代数切换,而多领域分层路由、分片索引、L1–L4 分级知识单元校验与社区发布门禁均由共享组件 mindie-knowledge 统一承载。
[!IMPORTANT] 稳定性设计:只依赖 DSH 标准发行版中的稳定插件。 本适配器仅组合
@deepseek-ai/dsh-skill-filesystem、@deepseek-ai/dsh-mcp-client两个非 experimental 包与本地 Host 入口./host.mjs,不引入任何@deepseek-ai/dsh-experimental-*,不覆盖任何 DSH 内置行或内置预设。 新增的两条 Host 行(mindie-agent-skill、mindie-agent-host,其中host.mjs在同一子纤维mindie-agent-generation中同代挂载./host3.mjs与@deepseek-ai/dsh-mcp-client)均挂载在 Host 层,因此standard标准预设及其它预设会直接继承,无需切换专门模式。
快速开始
插件市场发现:本仓库标记了 GitHub topic
dsh-plugin,支持 DSH 插件市场直接索引发现。
直接复制下面这句话发送给你的 DeepSeek Harness(或其他支持终端执行的 AI Agent),由其自动完成前置检查、锁定运行时构建与插件 bundle 注册:
帮我安装一下这个 https://github.com/mindie-agent/mindie-agent-dsh
🤖 AI Agent 自动安装执行协议(点击展开 / Agent 读取本页时会自动解析执行)如果你是收到用户安装请求的 AI Agent,请直接按顺序在终端执行以下步骤完成安装与自检,无需让用户手动翻阅文档:
检查基础工具与环境前置条件:
git --version && uv --version && node --version- 确认 Node.js
>= 22、Python>= 3.11(由uv管理)。若用户计划开启社区知识贡献或故障上报,按 GitHub 登录引导 复用已有认证;需要登录时提供浏览器或企业网络 Token 创建/输入流程。验证账号后通过进程级环境变量(export GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0="credential.https://github.com.provider" GIT_CONFIG_VALUE_0="github")注入凭证,严禁调用gh auth setup-git、git config --global或git config --system修改宿主机全局 Git 配置(仅使用只读知识与remote-dev时不强制依赖gh)。
- 确认 Node.js
构建持久化锁定运行时(须在启用 DSH bundle 前完成):
- 安装当前正式版
v0.1.16(若与主仓v0.0.2配套安装,将下方分支标签替换为v0.0.2即可):
MINDIE_TMP="${TMPDIR:-/tmp}/mindie-agent-dsh-install" rm -rf "$MINDIE_TMP" git clone --depth 1 --branch v0.1.16 https://github.com/mindie-agent/mindie-agent-dsh.git "$MINDIE_TMP" uv --native-tls run --quiet --no-project --python 3.13 python "$MINDIE_TMP/scripts/setup.py"- 安装当前正式版
在 DSH 中安装并启用插件 bundle:
- 如果当前就在 DSH 会话内且具备
plugin_manager工具,直接调用:
(若安装plugin_manager(action="install_bundle", target="git+https://github.com/mindie-agent/mindie-agent-dsh.git#v0.1.16")v0.0.2配套版本,使用plugin_manager(action="install_bundle", target="git+https://github.com/mindie-agent/mindie-agent-dsh.git#v0.0.2")) - 或者在 DSH Web 的 Plugins 页面填入并启用:
git+https://github.com/mindie-agent/mindie-agent-dsh.git#v0.1.16(或#v0.0.2)。
- 如果当前就在 DSH 会话内且具备
核对插件安装状态:
- 确认
setup.py输出的最终 JSON 中status为"ready"、activation.status为"active"、components为mindie-knowledge 0.13.13 / remote-dev 0.11.5 / mindie-diagnostics 0.5.6、knowledge.status为"inactive"(安装与更新期不启动知识服务或拉取语料,待会话内手动调用/mindie-agent后再启用),且 Plugins 页面显示mindie-agent-dsh已启用。 - 提醒用户打开新会话后输入
/mindie-agent即可唤醒昇腾领域知识与 Skill,而remote-dev远端 NPU 工具在日常对话中默认自动触发。
验证成功后继续第 5 步,完成首次配置后一起汇报安装结果。
- 确认
完成首次配置与开发工作区引导(首次安装后立即触发交互问答):
- 先执行以下命令只读检查当前授权与工作区状态:
uv run --no-project --python 3.13 python "$MINDIE_TMP/scripts/setup.py" sharing --status - 若返回
"needs_onboarding_prompt": true(或尚无有效工作区选择),向用户简要说明 用户须知,立即调用当前 DSH 会话中的原生提问工具(若当前运行模式未注入提问工具,则展示结构化编号选择卡片[1]/[2]并等待用户回复),一次性向用户发起以下 3 项选择(严禁跳过或静默代选):- 本地开发工作区(
Local Workspace):[1] 创建并初始化 vllm-ascend-workspace (Recommended)— 准备标准本地开发目录并按需拉取源码[2] 复用已有目录或保持当前目录— 使用当前会话目录或指定已有路径
- 社区知识共享与故障上报(
Community Sharing):[1] 开启贡献与故障上报 (Recommended)— 自动脱敏公开对话沉淀社区知识 PR 并上报工具故障[2] 仅本地只读使用— 关闭外发共享与自动故障上报
- 顺手给 MindIE Agent 点个 GitHub Star 吗? ⭐(
GitHub Star):[1] 好,点个 Star ⭐ (Recommended)— 在 GitHub 上 starmindie-agent/mindie-agent支持一下项目[2] 先不用— 直接开始使用
- 本地开发工作区(
- 等待用户确认后按顺序执行(先确定
WORKSPACE_ROOT,再落地共享配置与 Star):- 先根据第 1 题选择确定工作区绝对路径
WORKSPACE_ROOT(见 工作区配置指南,自动登记到客户端工作区列表并按需执行repo_init.py)。 - 若第 2 题选开启贡献,执行:
若选仅本地只读,执行:uv run --no-project --python 3.13 python "$MINDIE_TMP/scripts/setup.py" sharing --enable --project-root "$WORKSPACE_ROOT"uv run --no-project --python 3.13 python "$MINDIE_TMP/scripts/setup.py" sharing --disable - 严格授权原则:仅当用户对第 3 题明确选择同意点个 Star 时,才执行以下命令点上并校验 Star(严禁未经用户同意自动静默执行):
gh api --hostname github.com --silent -X PUT /user/starred/mindie-agent/mindie-agent && gh api --hostname github.com --silent /user/starred/mindie-agent/mindie-agent
- 先根据第 1 题选择确定工作区绝对路径
- 最后汇总汇报插件状态、
setup.py sharing --status最终结果、工作区路径与源码初始化结果。
- 先执行以下命令只读检查当前授权与工作区状态:
环境前置条件与持久化路径
| 依赖 | 要求 | 说明 |
|---|---|---|
| DeepSeek Harness | >=0.2.0-rc.2 <1.0.0 |
package.json 的可选 peer 依赖声明兼容 0.2.0-rc.2、0.2.1-rc.2 及后续 0.x 版本 |
| Node.js | >= 22 |
DSH 运行时要求 |
| Python | >= 3.11 |
由 uv 选择/管理解释器(支持 3.11+) |
uv |
任意近期版本 | 构建锁定运行时、提供 Python 解释器 |
git & gh |
已安装并完成认证 | 拉取插件与知识源、支持社区知识 PR 与故障上报 |
setup.py 是幂等的:再次执行会按 uv.lock 重新校验运行时、更新持久化脚本并原子刷新运行时配置,不会在安装期启动知识循环。运行时、配置、知识与 remote-dev 状态默认位于 ~/.local/share/mindie-agent/dsh 与 ~/.config/mindie-agent/dsh;临时克隆目录随后可以删除。
装好之后怎么用
| 能力 | 触发方式 | 说明 |
|---|---|---|
| 昇腾领域知识、工程经验、测试与排障参考 | 当前会话手动触发 /mindie-agent <需求> |
在当前会话显式输入一次 /mindie-agent 注入 Skill 并激活会话租约,随后在本会话后续轮次可持续调用 mindie_entry 与知识工具(knowledge_query / knowledge_explain / knowledge_distill / knowledge_feedback);历史知识仅作参考,以当前环境实测为准 |
| 远端昇腾服务器 / 容器操作与事实状态查询 | 默认常驻,无需斜杠命令 | 直接用自然语言描述远端操作,Agent 调用 mcp__remote-dev__remote_*;只读事实状态查询 mindie_entry(op="status" | "reporting-status") 与 mcp__mindie-tools__mindie_status 同样无需 /mindie-agent |
| Profiling、仿真、资源租约与本地诊断 | 默认常驻,无需斜杠命令 | mcp__mindie-tools__diagnostics_status、diagnostics_bundle 与 mindie_status 直接使用锁定运行时;mcp__mindie-tools__profiler、sim、coordinator 调用独立安装的可选组件 CLI(或 component_commands 配置命令) |
| 知识源刷新 | 由已启用 /mindie-agent 会话内的 knowledge_sync 触发 |
仅在当前会话已通过 /mindie-agent 激活且语料不可用/过期或用户要求最新知识时调用一次,不轮询 |
| 公开经验沉淀与工具故障上报 | 统一贡献开关控制 + 已激活会话后台运行 | 显式选择 contribute 后,在已通过 /mindie-agent 激活的会话中,每次回合结束(agent/turn-stopping)在后台完成 session.v4.jsonl.zstd 公开对话脱敏采集与社区 PR 发布,并开启脱敏故障上报(未调用 /mindie-agent 的普通会话不触发采集) |
示例:
/mindie-agent 帮我看看 vllm-ascend 里 MLA/GQA 首轴非连续 FIA 的已知验证结论,并给出在当前 910B 容器里复现精度的最小测试步骤。
连上 192.0.2.21:22 的 vllm-dev 容器,把我本地刚改的测试同步过去,在 NPU 上跑 pytest,长任务转后台并持续看日志。
架构与稳定性边界
flowchart TB
subgraph DSH["DeepSeek Harness 0.2.0-rc.2 / 0.2.1-rc.5"]
HOST["Host composition<br/>mindie-agent-dsh bundle"]
STD["standard / 其它 agent preset"]
SKILL["mindie-agent-skill<br/>@deepseek-ai/dsh-skill-filesystem"]
HPLUG["mindie-agent-host<br/>./host.mjs -> mindie-agent-generation"]
GEN["同代子纤维 (config.json canonical binding)<br/>./host3.mjs + @deepseek-ai/dsh-mcp-client"]
STD --> HOST
HOST --> SKILL
HOST --> HPLUG
HPLUG --> GEN
end
SKILL --> SK["skills/mindie-agent<br/>/mindie-agent"]
GEN --> KS["mindie-knowledge 0.13.13<br/>mindie_entry / knowledge_* / Stop 脱敏采集"]
GEN --> DIAG["mindie-diagnostics 0.5.6<br/>本地有界诊断 & 统一贡献开关故障上报"]
KS --> FEED[("knowledge-vllm-ascend<br/>public feed & PR loop")]
GEN --> RD["remote-dev 0.11.5<br/>remote_dev.mcp.server"]
GEN --> MT["mindie-tools MCP<br/>scripts/component_mcp.py"]
RD --> NPU[("远端昇腾主机 / Docker 容器")]
Host 组合行与组件职责
| Host 行 ID | 使用的插件 / 入口 | 核心职责 | 是否 experimental |
|---|---|---|---|
mindie-agent-skill |
@deepseek-ai/dsh-skill-filesystem |
暴露 /mindie-agent 显式入口 Skill(disable-model-invocation: true) |
否 |
mindie-agent-host |
./host.mjs(在 mindie-agent-generation 子纤维中同代挂载 ./host3.mjs 与 @deepseek-ai/dsh-mcp-client) |
注册原生 Host 工具(mindie_entry、knowledge_query、knowledge_explain、knowledge_feedback、knowledge_distill、knowledge_sync)、按会话挂载同代锁定的 remote-dev 0.11.5(remote_dev.mcp.server)与 mindie-tools(scripts/component_mcp.py)MCP 服务、处理 agent/turn-stopping 会话采集、提供模型摘要桥接并在无运行中任务时按权威适配器绑定(paths.configFile 的 package_dir 与 venvPython;current.json 仅作缺少该字段的 legacy seed 兼容回退)同代热切换 |
否 |
mindie-tools 本地诊断与分析组件服务(scripts/component_mcp.py)
host.mjs 为每个会话挂载 remote-dev 与 mindie-tools(scripts/component_mcp.py),在所有会话中默认可用,无需先执行 /mindie-agent,并在会话结束或版本切换时自动回收(交互式终端看板 npu-top 仅供人工在终端使用,不注册为 MCP 工具):
| 工具名 | 用途 | 安装要求 | 调用参数与返回结果 |
|---|---|---|---|
mindie_statusdiagnostics_statusdiagnostics_bundle |
查看当前运行时路径与版本、本地诊断与上报状态,或导出脱敏后的本地诊断包(仅保存在本地,不自动上传) | 内置可用(直接使用插件自带的 Python 运行时) | diagnostics_status 可选传 config;diagnostics_bundle 必传 root(可选 operation_id、output) |
profilersimcoordinator |
调用 mindie-profiler(采集剖析)、mindie-sim(性能仿真)、mindie-coordinator(设备探测与租约)命令行工具 |
按需独立安装(插件默认不自带)。先查找配置的 Python 环境,再查 PATH,也可用 ~/.config/mindie-agent/dsh/config.json 的 component_commands 指定 |
传入参数数组 argv(如 ["--help"]),可选绝对路径 cwd;返回 component、status、exit_code、stdout、stderr、output_truncated(仅在 stdout 为 JSON 时附带 result) |
相对路径默认按当前会话的工作目录解析,也可用绝对路径 cwd 指定其他目录。argv 直接传给组件,不经过 shell 展开。若可选组件未安装,调用会返回明确提示;本地与 CI 测试通过 component-contracts 依赖组安装对应版本。
单次调用超时默认 120 秒(timeout_ms=120000)、最多可设 10 分钟(600000);输出默认最多 64 KiB(max_output_tokens=16384)、最多可设 1 MiB(262144),两路输出合计按每 token 4 字节计,大报告建议保存到文件。
- 不覆盖任何 DSH 内置行或预设,仅通过
cordis.patch.yml执行insert;DSH 标准预设改动不会被本适配器遮蔽。 package.json仅声明@deepseek-ai/dsh(>=0.2.0-rc.2 <1.0.0)可选 peer 依赖,安装时不会把第二个 DSH 运行时拉入 profile。
贡献与故障上报
- 统一持久化贡献开关(
mindie-consent.json):社区知识共享与工具故障自动上报共用同一个持久化开关。显式选择contribute会配置项目范围内的公开知识共享(默认上游mindie-agent/knowledge-vllm-ascend,自动解析或创建个人 Fork)并启动原生后台故障上报 worker;选择disabled则同时停止两者的后续外发。 - 升级保持与旧版授权重确认:已有的
disabled、later、read-only选择在升级后保持关闭。旧版仅含知识共享授权(缺少统一授权choice_revision/ 标记为needs_choice)的记录在升级或常规启动时不会自动获得故障上传权限,必须由用户显式重新确认一次后才允许上传故障报告。 - 三态严格区分:系统严格区分(1)本地授权配置已写入
mindie-consent.json、(2)后台上报/整理 worker 正在运行、(3)外部 GitHub Issue 或知识 PR 已实际创建。可通过reporting-status只读查看 worker 与队列真实状态,详见 用户须知。
范围与已知限制
- 锁定运行时版本:目标配套正式发布的
mindie-knowledge 0.13.13(da64fe111d878f44b7efec6af6ca46d3f5887be6)、remote-dev 0.11.5(131b24533479e9cefc572144adccdcb345f70846)、mindie-diagnostics 0.5.6(9b331956b00737dd6d8c956da3416316f2de1ddf),以及组件契约锁定mindie-debugger 0.1.0(e9406b2b178335190d5cb59dff4d6985894497ba)、mindie-profiler 0.5.6(79d97e75bff7351b0472b93c03b072c1cf47f5e7)、mindie-sim 0.9.3(dbadff04b60937a0722b0a227cdad01beed083cd)、mindie-coordinator 0.7.4(79a8b28eef72d57f965a01c6660849f024fbb1c0;精确提交哈希以随包uv.lock、runtime-requirements.txt与harness-compatibility.json为准)。 - 历史同版本刷新边界:
0.0.2曾替换早期0.0.2(828c375d1f546ed653250526465b8075c1691390)。继续使用0.0.2的用户需按docs/same-version-refresh.md显式刷新运行时与插件 bundle,并重启整个 DSH 进程。 remote-dev状态按会话隔离:每个 Agent 会话使用~/.local/share/mindie-agent/dsh/state/remote下独立的目录。- 后台自动更新边界:稳定启动器
host.mjs支持在 DSH Host 存活且无运行中任务时定时检查正式插件 Release 与各官方组件仓正式 Release(详见docs/releases/mindie-agent-dsh-0.1.2.md)。host.mjs的entryFor()优先读取paths.configFile(config.json)中的package_dir作为权威适配器绑定(current.json仅在无该字段的 legacy seed 情形下作兼容回退),remote-devPython 解释器与host3.mjs均由该权威绑定决定;纯组件更新直接构建旁路uv环境并更新权威适配器绑定(无需重装原生插件定义);插件级更新通过dsh plugin add/list --json回读校验并标记needs_host_reload=True(原生插件定义变更需重载宿主生效);DSH 停止期间不依赖操作系统级后台常驻计划任务。 - 基准测试边界:
mindie-bench已支持 DSH 作为 L1/L2 G0–G2 原生评测 harness(详见docs/benchmark.md),G3 原生采集评测在mindie-bench侧暂未接入 DSH。
开发、测试与发布基准
# 离线契约、协议与组件单元测试(不写用户目录)
uv sync --locked --no-editable --no-dev --group component-contracts
uv pip install -r requirements-dev.txt
npm install --no-save --package-lock=false @deepseek-ai/dsh@0.2.0-rc.2
uv run --no-sync python -m pytest -q
node --test tests/test_*.mjs
# 只检查前置条件与路径,不构建运行时
uv --native-tls run --quiet --no-project --python 3.13 python scripts/setup.py --dry-run
发布基准测试(Release Benchmark)
本仓库随 0.1.14 正式版发布可复现的 CPU 微基准测试资产(benchmark-results.json、benchmark-results.md):
benchmarks/release.json(由benchmarks/release.py执行)测量 100 条消息的 DSH v4session.v4.jsonl.zstd公开对话提取与隐藏推理过滤延迟(用例public-transcript,指标public_100_message_parse_latency,单位us/op)。- 上述 CPU 微基准仅证明本地解析的耗时基线,与常备昇腾 A2/A3 NPU 真机集成验收及
mindie-bench端到端 Agent 研发任务评估相互独立。详见docs/benchmark.md与docs/verification.md。
许可证
本项目基于 MIT License 开源。
No comments yet. Be the first to write one.