关于 bm-status
用于报告项目中 Basic Memory 当前设置的诊断技能。它会检查命令行工具和配置、钩子状态、近期检查点以及活动任务数量。
主要功能
- 01检查命令行工具是否可用
- 02报告配置来源和值
- 03查看钩子健康状态与收件箱
- 04列出近期检查点
- 05统计活动任务数量
适用场景
- 01检查 Basic Memory 是否已配置
- 02诊断钩子或事件捕获积压
- 03查看近期会话检查点
- 04统计主项目中的活动任务
MCP 相关
使用 Basic Memory MCP 工具搜索近期会话和编码会话笔记,并统计活动任务。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ basicmachines-co/ basic-memory --skill bm-status安装后在 Claude Code 中输入/bm-status确认已加载。
详细介绍
Basic Memory 状态
报告此项目中插件的当前状态,然后给出简明摘要。 这是一次快速诊断——收集事实并列出;不要过度调查。
收集信息
-
CLI 是否可用? 运行
basic-memory --version,然后运行bm --version,再运行uvx --prerelease=allow basic-memory --version。如果没有可用的启动器,将 CLI 状态报告为 不可用,并继续检查 MCP/配置。插件钩子仍可使用其由 uv 管理的环境。 -
配置。 按照钩子的优先级读取
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——也就是捕获反射是否已开启。
- 来自
-
核心钩子健康状况。 使用第一个可用的启动器,运行
basic-memory hook status --harness claude --project-dir <project-root>。 报告其共享收件箱路径、待处理信封数、已归档信封数、待处理检查点请求数、上次刷新时间、设置状态、解析出的主项目、捕获状态、捕获文件夹、Basic Memory 版本和 uv 版本。收件箱计数是所有受支持运行环境的全局计数;不要将积压完全归因于 Claude。将此命令解析出的设置视为钩子行为的权威结果;如果与手动合并的配置不一致,请注明差异。如果没有可用的启动器,将这些字段标记为不可用并继续。 -
最近的检查点。 使用
search_notes,并设置metadata_filters={"type": "session"}、page_size为 5;如果已设置primaryProject,则限定在该项目范围内。sessionProfile为coding时,还要查询metadata_filters={"type": "coding_session", "repository": "<configured repository>"}, 然后合并、去重、按时间从新到旧排序,并保留最新的五条。按标题 + 永久链接列出。 -
活跃任务。 使用
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 时发出警告,同时说明其他运行环境也可能影响共享计数。捕获已禁用时,不要对空收件箱发出警告。