dsh-basemind-plugin:为当前工作区自动接入 BaseMind 代码智能工具

前言

在 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 上验证)

核心功能

  1. 工作区感知:会话在哪个 Git 仓库里工作,BaseMind 就针对该根目录提供代码智能能力;会话内 cd 后,下一次工具调用使用新仓库,无需重启。
  2. 工具注册:默认 serverName 下注册九个工具:admin、agents、code、git、graph、memory、shell、web、workspace。调用名前缀为 mcp__basemind__<tool>,每个工具都需要必填参数 mode,其余参数随 mode 变化;具体 mode 以运行中的 BaseMind 为准,新版本可能更多。
  3. MCP 资源:BaseMind 的 MCP 资源(如 basemind://status、basemind://repo/map)以 resource server basemind 暴露,可用 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 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye