前言¶
在 DeepSeek Harness(DSH)里给智能体配 BaseMind,常见做法是在 MCP 配置里手写一行 basemind serve,并固定 cwd 指向某个仓库根目录。会话里一旦 cd 到别的项目,工具仍指向旧根目录;多仓库就要多配几行。下面介绍社区插件 dsh-basemind-plugin:以 DSH bundle 形式启动 BaseMind 的 MCP 服务,按会话工作目录解析仓库根,无需再单独维护 MCP 行。
这是什么¶
dsh-basemind-plugin 是发布在 npm 上的 DSH bundle(当前版本 0.1.5,MIT 许可证)。仓库由 zengjunlin2022 维护。它会在当前会话所工作的仓库上执行 BaseMind 自带的 basemind serve,注册 BaseMind 通过 tools/list 宣告的工具,并在会话内切换目录时让后续调用指向新的仓库根,而不重启服务。插件没有独立 UI 页,也不改 agent preset。
与手动 MCP 行相比,工作区根由每次调用时从会话工作目录解析;工具集随 BaseMind 动态发现;bundle 自行插入插件行,无需在配置里再写 MCP 行;多仓库时按根目录自动建立 relay,而不是每个仓库再加一行。
环境与兼容¶
| 组件 | 要求 |
|---|---|
| DeepSeek Harness | >= 0.2.1-rc.3 < 0.3.0-0(engines.dsh 声明,安装与启动时由 DSH 校验;README 写明在 0.2.1-rc.5 上验证) |
| Node.js | >= 24.20.0(纯 ESM,无 npm 依赖) |
| BaseMind | 不锁定版本;暴露的工具与当前运行的 basemind serve 一致(README 在 BaseMind 0.31.1 上验证) |
核心功能¶
- 工作区感知:会话在哪个 Git 仓库里工作,BaseMind 就针对该根目录提供代码智能能力;会话内
cd后,下一次工具调用使用新仓库,无需重启。 - 工具注册:默认
serverName下注册九个工具:admin、agents、code、git、graph、memory、shell、web、workspace。调用名前缀为mcp__basemind__<tool>,每个工具都需要必填参数mode,其余参数随 mode 变化;具体 mode 以运行中的 BaseMind 为准,新版本可能更多。 - MCP 资源:BaseMind 的 MCP 资源(如
basemind://status、basemind://repo/map)以 resource serverbasemind暴露,可用list_mcp_resources与read_mcp_resource访问。
各工具职责概览(来自 README 工具表):
| 工具 | 覆盖能力 |
|---|---|
mcp__basemind__admin |
status、repo 信息、rescan、缓存统计、gc、telemetry |
mcp__basemind__agents |
多智能体通信 |
mcp__basemind__code |
outline、symbols、grep、files、find、definition、references、callers、implementations、dependents、expand、语义搜索、chunk 等 |
mcp__basemind__git |
status、history、blame、diff |
mcp__basemind__graph |
calls、neighbours、paths、subgraphs、communities、map、export |
mcp__basemind__memory |
memory put/recall、文档搜索 |
mcp__basemind__shell |
长生命周期 shell 会话 |
mcp__basemind__web |
scrape、crawl、list |
mcp__basemind__workspace |
workspaces、worktrees、branches、claims |
安装与启用¶
插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 LICENSE,确认可接受 MIT 条款与行为。DSH 社区目录 SkillHub 插件页 与 GitHub 为独立信息来源,并非 DeepSeek 或幻方官方应用商店。
1. 安装 BaseMind¶
先按 BaseMind 介绍 安装 basemind,并确认 DSH 使用的环境能找到它:
basemind --version
若 DSH 的 PATH 里没有 basemind,可用绝对路径配置 BASEMIND_BIN(或插件的 command 选项)指向可执行文件。
2. 安装 bundle¶
- DSH Desktop:打开插件管理(Plugins 页),安装
dsh-basemind-plugin并启用。 - CLI 管理的 profile:对启动时使用的 profile 执行:
dsh plugin --profile <profile> add dsh-basemind-plugin
安装按 profile 隔离。若运行时提示需重启或先禁用再启用以加载新 bundle,按提示操作。
3. 验证¶
在项目目录打开会话后,调用 mcp__basemind__admin,参数 { "mode": "repo" },应返回该会话仓库的工作区根与 HEAD。默认 serverName 下应能看到上述九个工具已注册。
查看 npm 上的版本:
npm view dsh-basemind-plugin version
4. 更新与移除¶
- 更新:Plugins 页点 Update,或
dsh plugin --profile <profile> add dsh-basemind-plugin@latest。 - 移除:在插件管理器中禁用或卸载,或
dsh plugin --profile <profile> remove dsh-basemind-plugin。
典型用法¶
以下示例来自官方 README,参数通过 DSH 工具调用传入(示例以 JSON 形式展示 arguments)。
读文件前先要看结构时,对 mcp__basemind__code 使用 outline:
{ "tool": "mcp__basemind__code", "arguments": { "mode": "outline", "path": "index.js" } }
查符号定义:
{ "tool": "mcp__basemind__code", "arguments": { "mode": "symbols", "name": "createWorkspacePool" } }
查符号的所有引用点:
{ "tool": "mcp__basemind__code", "arguments": { "mode": "references", "name": "publicToolName" } }
在符号粒度上看 git 历史:
{ "tool": "mcp__basemind__git", "arguments": { "mode": "blame_symbol", "path": "index.js", "name": "activate" } }
看仓库架构图:
{ "tool": "mcp__basemind__graph", "arguments": { "mode": "map" } }
检查当前工作区索引健康状态:
{ "tool": "mcp__basemind__admin", "arguments": { "mode": "status" } }
适用场景与注意¶
适合已经在用或计划用 BaseMind、又不想为每个仓库手写 MCP 行的 DSH 用户;分类上属于工作流类 bundle,强调「装一次、按会话工作目录自动桥接」。
注意:必须先能本机运行 basemind;DSH 与 Node 版本需满足 engines;BaseMind 升级后工具与 mode 可能变化,以实际 tools/list 为准。插件不替代 BaseMind 本身的安装与索引维护——例如需要 rescan 时仍通过 mcp__basemind__admin 等工具或 BaseMind 文档中的方式处理。
结尾¶
dsh-basemind-plugin 把 BaseMind 的 MCP 能力收成 DSH 可安装的 bundle:少配一行 MCP,多仓库随会话目录切换。目录与详情见 SkillHub,源码与完整说明见 GitHub 仓库。