mcpField
B
bm-status

bm-status

github.com/basicmachines-coAgent 工作流4.4k149 次安装今天更新
代码仓库

关于 bm-status

用于报告项目中 Basic Memory 当前设置的诊断技能。它会检查命令行工具和配置、钩子状态、近期检查点以及活动任务数量。

主要功能

  1. 01检查命令行工具是否可用
  2. 02报告配置来源和值
  3. 03查看钩子健康状态与收件箱
  4. 04列出近期检查点
  5. 05统计活动任务数量

适用场景

  1. 01检查 Basic Memory 是否已配置
  2. 02诊断钩子或事件捕获积压
  3. 03查看近期会话检查点
  4. 04统计主项目中的活动任务

MCP 相关

使用 Basic Memory MCP 工具搜索近期会话和编码会话笔记,并统计活动任务。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/basicmachines-co/basic-memory --skill bm-status

安装后在 Claude Code 中输入/bm-status确认已加载。

详细介绍

Basic Memory 状态

报告此项目中插件的当前状态,然后给出简明摘要。 这是一次快速诊断——收集事实并列出;不要过度调查。

收集信息

  1. CLI 是否可用? 运行 basic-memory --version,然后运行 bm --version,再运行 uvx --prerelease=allow basic-memory --version。如果没有可用的启动器,将 CLI 状态报告为 不可用,并继续检查 MCP/配置。插件钩子仍可使用其由 uv 管理的环境。

  2. 配置。 按照钩子的优先级读取 basicMemory 块。 对于用户级基础配置,如果存在环境变量 CLAUDE_CONFIG_DIR,将 settings.json 追加到其字面值后;不要去除空格、 展开 ~,也不要将空值视为未设置。只有在该变量不存在时,才使用 ~/.claude/settings.json。 然后,项目的 .claude/settings.json 和 .claude/settings.local.json 按键覆盖。报告结果,并注明某个值来自用户级配置块还是项目配置:

    • 来自 basicMemory 块:primaryProject(或注明未固定任何项目——将使用默认项目)、secondaryProjects(团队/共享读取来源)、 teamProjects(/basic-memory:bm-share 的共享目标)、captureFolder(默认值为 sessions)、 rememberFolder(默认值为 bm-remember)、preCompactCapture 模式(默认值为 extractive)、 sessionProfile(默认值为 general)、repository(仅用于 coding 配置)、captureEvents(默认值为 true)。
    • 来自根设置对象(而非 basicMemory):outputStyle 是否为 basic-memory——也就是捕获反射是否已开启。
  3. 核心钩子健康状况。 使用第一个可用的启动器,运行 basic-memory hook status --harness claude --project-dir <project-root>。 报告其共享收件箱路径、待处理信封数、已归档信封数、待处理检查点请求数、上次刷新时间、设置状态、解析出的主项目、捕获状态、捕获文件夹、Basic Memory 版本和 uv 版本。收件箱计数是所有受支持运行环境的全局计数;不要将积压完全归因于 Claude。将此命令解析出的设置视为钩子行为的权威结果;如果与手动合并的配置不一致,请注明差异。如果没有可用的启动器,将这些字段标记为不可用并继续。

  4. 最近的检查点。 使用 search_notes,并设置 metadata_filters={"type": "session"}、page_size 为 5;如果已设置 primaryProject,则限定在该项目范围内。sessionProfile 为 coding 时,还要查询 metadata_filters={"type": "coding_session", "repository": "<configured repository>"}, 然后合并、去重、按时间从新到旧排序,并保留最新的五条。按标题 + 永久链接列出。

  5. 活跃任务。 使用 search_notes,并设置 metadata_filters={"type": "task", "status": "active"}——只报告数量。

将查询限定在 primaryProject 范围内时,将其作为 project 传入;如果它是 external_id UUID,则改用 project_id(将纯 UUID 传给 project 无法正确路由)。

呈现

按以下格式列出(填入实际值;无法确定时写“—”或简短说明,不要因此放弃整个报告):

## Basic Memory status

- CLI:               basic-memory <version>
- Project:           <primaryProject, or "default project (not pinned)">
- Reads from (team): <secondaryProjects joined, or "none">
- Share targets:     <teamProjects keys joined, or "none">
- Capture folder:    <captureFolder>
- Remember folder:   <rememberFolder>
- Output style:      <enabled | not enabled>
- PreCompact:        <mode>
- Session profile:   <general | coding>
- Repository:        <owner/name or none>
- Event capture:     <enabled | disabled>
- Shared hook inbox: <path or unavailable>
- Shared pending envelopes: <count or unavailable>
- Shared archived envelopes: <count or unavailable>
- Pending checkpoint requests: <count or unavailable>
- Last flush:        <timestamp, never, or unavailable>
- Hook runtime:      basic-memory <version>; uv <version or missing>
- Recent checkpoints: <n across session and coding_session>
    - <title> — <permalink>
    ...
- Active tasks:      <n>

如果还没有检查点,请写“暂无”,并提醒用户:上下文压缩前会自动写入检查点(且必须设置 primaryProject 才会写入)。

当事件捕获已启用,且待处理信封不断累积或上次刷新时间为 never 时发出警告,同时说明其他运行环境也可能影响共享计数。捕获已禁用时,不要对空收件箱发出警告。

评论

支持 Markdown