mcpField
M
memory-doctor

memory-doctor

github.com/basicmachines-co生産性4.4k49 回インストール今日更新
リポジトリ

memory-doctor について

memory-doctor は `bm doctor` を使ってローカルの Basic Memory プロジェクトを診断するスキルです。読み取り専用の検査でインデックスや検索の問題を調べ、確認後に実行する修復コマンドを提示します。

主な機能

  1. 01読み取り専用のプロジェクト診断
  2. 02JSON 形式の検出結果
  3. 03任意のサンドボックス自己テスト
  4. 04修復コマンドの提示

活用シーン

  1. 01検索結果の欠落や重複の調査
  2. 02ファイルとインデックスの不整合確認
  3. 03クラッシュや移動後の問題診断

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/memory-doctorを入力して読み込まれたか確認します。

詳細

メモリ診断

bm doctor はユーザーのローカル Basic Memory プロジェクトをチェックし、問題を報告します。修正コマンドがある場合は、各問題にそのコマンドが示されます。診断チェックは読み取りのみを行い、プロジェクトのノートやインデックスを変更することはありません。提案される修正は変更を加えるため、ユーザーの同意を得てから実行してください。

このスキルには、bm(または basic-memory)コマンドを実行できるシェルが必要です。

使用するタイミング

  • ユーザーが存在を把握しているノートが検索で見つからない、または同じノートが重複して返される
  • ノートを保存したのにファイルが変更されていない、またはその逆
  • ユーザーが Basic Memory が動作しているか尋ねる、または「チェック」や「修正」を依頼する
  • クラッシュ、中断されたインポート、プロジェクトフォルダーの移動の後

実行する

まずレポートのみを実行します。高速で、JSON の形式も安定しています。

bm doctor --skip-self-test --json

特定のプロジェクトをチェックするには、--project NAME を追加します。--skip-self-test を指定しない場合、診断ではセルフテストも実行します。使い捨てのサンドボックスにノートを書き込み、インデックスを作成して検索するため、数秒かかりますが、インストール自体が機能していることを確認できます。レポートに問題がないのに何かがまだ動作していないように見える場合に実行してください。

レポートを読む

{
  "projects": [
    {
      "name": "work",
      "findings": [
        {
          "check": "search_index",
          "severity": "error",
          "summary": "1 search row does not match a current note, observation or relation.",
          "evidence": ["entity id=99, entity_id=99"],
          "action": {"kind": "reindex_search", "full": true},
          "command": "bm reindex --search --full --project work"
        }
      ],
      "has_errors": true
    }
  ],
  "skipped_cloud_projects": ["research"],
  "self_test": {"outcome": "skipped"},
  "has_errors": true
}
重大度意味対応
error修正しない限り解消されませんcommand を提示します。null の場合は、根拠を説明します
warning対応が必要ですが、自然に解消されることもありますcommand がある場合は提示します
info作業中に想定される状態ですその旨を伝えます。サーバーが実行中なら処理が完了し、command を実行すれば今すぐ完了します

インデックス作成はバックグラウンドで追いついていきます。ファイルのインデックス作成中に検索結果の行が重複している、欠落している、または余分にある場合は、インデックス作成の処理で解消される可能性があるため warning となり、インデックス作成が落ち着くと error になります。レポートに info の検出結果しかない場合は、問題ありません。Basic Memory サーバーが実行されていない場合、バックグラウンドでインデックスは作成されないため、info の検出結果についても command を提示してください。

クラウドプロジェクトは skipped_cloud_projects に一覧表示されます。これらのプロジェクトはサーバー上でインデックスが作成されるため、ローカルコマンドでは修正できません。

修正する

  1. 問題のあるプロジェクト、問題の内容、修正によって行われることを、わかりやすい言葉でユーザーに要約します。同じコマンドで修正できる問題はまとめます。
  2. 各 command を診断結果に表示されたとおりに提示し、実行前にユーザーに確認します。bm reindex --search --full はプロジェクト内のすべてのファイルを再読み込みするため、大規模なプロジェクトでは時間がかかることがあります。
  3. ユーザーが承認したコマンドを実行します。
  4. bm doctor --skip-self-test --json を再実行し、問題が解消されたことを確認します。

検出結果に command がない場合は、コマンドを作り出さないでください。証拠からわかること(たとえば、新しい保存が待機中にディスク上で変更されたファイルなど)を伝え、ユーザーが判断できるようにします。

終了コード

bm doctor は、エラーがなく、セルフテストに合格した(またはセルフテストがスキップされた)場合に 0 で終了し、それ以外の場合は 1 で終了します。警告と情報は、終了コードに影響しません。

コメント