MCPcopy
hub / github.com/breferrari/obsidian-mind

github.com/breferrari/obsidian-mind @v6.2.1 sqlite

repository ↗ · DeepWiki ↗ · release v6.2.1 ↗
7 symbols 19 edges 1 files 3 documented · 43%
README

🌐 English | 日本語 | 中文 | 한국어

[!NOTE] この翻訳はAIの支援を受けて作成されました。不自然な表現や誤訳がありましたら、ぜひIssueやPull Requestでお知らせください。コミュニティからの修正を歓迎します。

Obsidian Mind

Obsidian Mind

Claude Code Codex CLI Gemini CLI Obsidian Obsidian CLI Obsidian Skills QMD Node License

Claude Codeにすべてを記憶させるObsidianボールト。 セッションを開始して、日々のことを話すだけ — ノート、リンク、インデックス、パフォーマンス管理はClaudeが自動で処理します。すべての会話が前回の続きとして積み重なっていきます。


🔴 課題

AIコーディングエージェントは強力ですが、忘れてしまいます。毎回のセッションがゼロからの出発 — あなたの目標、チーム、パターン、実績に関するコンテキストがありません。同じことを何度も説明し直し、3回前の会話で下した決定が失われます。知識が蓄積されないのです。

🟢 解決策

エージェントに脳を与えましょう。

あなた: "セッション開始"
エージェント: *North Starを読み、アクティブなプロジェクトを確認し、最近の記憶をスキャン*
エージェント: "Project Alphaに取り組んでいますね。BEコントラクトでブロック中です。
              前回のセッションでコーディネーターを分割することに決めましたね。
              明日マネージャーとの1on1があります — レビューブリーフは準備完了です。"

shardmind install または git clone でインストール — どちらも同じボールトです。


⚡ 実際の動作

Obsidian Mind デモ — standup と dump コマンド

朝のキックオフ:

/om-standup
# → North Star、アクティブプロジェクト、未完了タスク、最近のgit変更を読み込み
# → "アクティブなプロジェクトが2つあります。認証リファクタリングはAPIコントラクト待ちです。
#    14時にSarahとの1on1があります — 前回、オブザーバビリティについて指摘がありました。"

ミーティング後のブレインダンプ:

/om-dump Just had a 1:1 with Sarah. She's happy with the auth work but wants
us to add error monitoring before release. Also, Tom mentioned the cache
migration is deferred to Q2 — we decided to focus on the API contract first.
Decision: defer Redis migration. Win: Sarah praised the auth architecture.
→ org/people/Sarah Chen.md をミーティングの内容で更新
→ work/1-1/Sarah 2026-03-26.md を作成(要点まとめ付き)
→ Decision Record を作成: 「RedisマイグレーションをQ2に延期」
→ perf/Brag Doc.md に追加: 「マネージャーから認証アーキテクチャを評価された」
→ work/active/Auth Refactor.md にエラーモニタリングタスクを追加

インシデント対応:

/om-incident-capture https://slack.com/archives/C0INCIDENT/p123456
# → slack-archaeologist がすべてのメッセージ、スレッド、プロフィールを読み取り
# → people-profiler が関係者のノートを作成
# → 完全なタイムライン、根本原因分析、Brag Docへのエントリー

一日の終わり:

あなた: "wrap up"
# → すべてのノートにリンクがあるか確認
# → インデックスを更新
# → brag-spotter が記録されていない実績を発見
# → 改善点を提案

🚀 クイックスタート

📦 ShardMindでインストール(推奨)

npm install -g shardmind
mkdir my-vault && cd my-vault
shardmind install github:breferrari/obsidian-mind

shardmind install はカレントディレクトリに書き込むため、先に新しいフォルダを作成して移動してください。ウィザードがあなたの名前、組織、ボールトの目的、含めるエージェント、QMDを有効化するかどうかを収集します。続いてShardMindがgitを初期化し、必要に応じてQMDをブートストラップし、あなたの回答に基づいてbrain/North Star.mdをパーソナライズします。その後:

  1. インストールされたフォルダをObsidianボールトとして開く
  2. 設定 → 一般でObsidian CLIを有効化(Obsidian 1.12以上が必要)
  3. ボールトディレクトリでエージェントを実行:claudecodex、またはgemini
  4. 仕事について話し始める

ShardMindはObsidianボールトテンプレートのパッケージマネージャーです。インストール時に.shardmind/サイドカーが追加され、ウィザード、オプションのモジュール(不要なものはスキップ可能)、3-wayマージのアップグレードを実現します。すべての値がデフォルトの場合、インストール結果はgit cloneとバイト等価 — クローン体験はそのまま保たれます。インストール済みボールトから.shardmind/shard-values.yamlを削除しても動作し続けます:ShardMindは追加機能であり、必須ではありません。

または直接クローン

git clone https://github.com/breferrari/obsidian-mind.git

またはGitHubテンプレートとして使用。ウィザードをスキップし、素のテンプレートを取得します。その後、上記の4ステップを実行し、加えてbrain/North Star.mdに目標を記入してください(ShardMindウィザードを使えば自動で行われます)。

🔍 推奨:QMDセマンティック検索

ボールト全体のセマンティック検索(ノートのタイトルが「Redis Migration ADR」でも「キャッシュについて何を決めた?」で見つかる):

npm install -g @tobilu/qmd
node --experimental-strip-types scripts/qmd-bootstrap.ts

ブートストラップは冪等で、再実行しても安全です。vault-manifest.jsonqmd_indexqmd_context フィールドを読み取り、名前付きインデックスを登録してエンベディングを生成します(デフォルトのインデックス名は obsidian-mind)。SessionStart フック、.mcp.json のラッパー、CLI コマンドはすべて同じマニフェストフィールドを参照するため、同一マシン上の他のボールトと QMD データが混ざりません。CLI 実行時は常に --index <名前> を渡してください:

qmd --index obsidian-mind query "キャッシュについて何を決めた?"
qmd --index obsidian-mind update   # 一括編集後
qmd --index obsidian-mind embed    # 多数の新規ノート後

MCPによるネイティブなエージェントツール。 .mcp.jsonModel Context Protocolサーバーとして登録されています — QMDがインストールされていれば、mcp__qmd__querymcp__qmd__getmcp__qmd__multi_getがReadやEditと並んでエージェントのツールメニューに表示されます。サブエージェント、スラッシュコマンド、メイン会話はすべて同じ型付きコントラクトを呼び出します。後から別のMCP対応ツール(データベース、チケット管理、カレンダー)を追加しても、同じ方法でプラグインできます。

[!NOTE] QMDがインストールされていなくても、すべて動作します — エージェントはObsidian CLIとgrepにフォールバックし、MCPサーバーのエントリは無害な警告とともにスキップされます。


📋 要件

  • Obsidian 1.12以上(CLIサポートのため)
  • Claude Code
  • Node 22+ LTS(フックスクリプト用 — Claude Code / Codex / Gemini CLI と一緒に通常インストール済み)
  • Git(バージョン履歴用)
  • QMD(オプション、セマンティック検索用)

Node フラグについて。 フックスクリプトは Node の --experimental-strip-types フラグで TypeScript を直接実行します。このフラグは Node 22.6+(2024年8月)で安定し、Node 23.6+ ではデフォルトの動作になりました。実験的扱いではあるものの 22 LTS と 24 LTS で挙動は変わっていません。将来の Node リリースでフラグが廃止・改名された場合、.claude/settings.json.codex/hooks.json.gemini/settings.json のフックコマンドを1行修正する必要があります。


⚙️ 仕組み

手続き的コードが環境を所有し、エージェントがコンテンツを所有します。 .claude/scripts/のフックが分類、検証、インデックス作成、ライフサイクル注入を処理します — 決定論的で、テスト可能で、どのエージェントでも同じように動作します。ノートを書き、配置し、リンクし、ブリーフを作成する — それらは判断であり、エージェントに委ねられます。両者は小さなハンドオフで出会い(フックがコンテキストを注入し、エージェントがボールトを読む)、どちらも相手の仕事をする必要はありません。

フォルダは目的別にグループ化。リンクは意味別にグループ化。 ノートは1つのフォルダ(その居場所)に存在しますが、多くのノート(そのコンテキスト)にリンクします。エージェントがこのグラフを維持し、作業ノートを人物、意思決定、コンピテンシーに自動的にリンクします。レビューシーズンが来たとき、各コンピテンシーノートのバックリンクがそのままエビデンスの軌跡になっています。リンクのないノートはバグです。

ボールトファーストのメモリがセッション間・マシン間でコンテキストを保持します。永続的な知識はすべてbrain/のトピックノート(git管理、Obsidianで閲覧可能、リンク付き)に保存されます。Claude CodeのMEMORY.md~/.claude/)はボールト内の場所を指す自動読み込みインデックスであり、ストレージそのものではありません。これにより、記憶はマシン変更後も生き残り、グラフの一部として機能します。

セッションには設計されたライフサイクルがあります。 SessionStartフックが自動的にNorth Starの目標、アクティブプロジェクト、最近の変更、未完了タスク、ボールト全体のファイル一覧を注入します — Claudeは白紙からではなく、コンテキストを持ってセッションを開始します。終了時に「wrap up」と言えば、Claudeが/om-wrap-upを実行 — ノートの検証、インデックスの更新、記録漏れの実績の発見を行います。285行のCLAUDE.mdがその間のすべてを統制します:ファイルの配置場所、リンクの仕方、ノートの分割タイミング、意思決定やインシデントの扱い方。

🔗 フック

5つのライフサイクルフックが自動的にルーティングを処理します:

フック タイミング 内容
🚀 SessionStart 起動/再開時 QMD再インデックス、North Star・アクティブプロジェクト・最近の変更・タスク・ファイル一覧を注入
💬 UserPromptSubmit 全メッセージ コンテンツを分類(意思決定、インシデント、実績、1on1、アーキテクチャ、人物、プロジェクト更新)してルーティングヒントを注入
✍️ PostToolUse .md書き込み後 フロントマターの検証、ウィキリンクの確認
💾 PreCompact コンテキスト圧縮前 セッション記録をthinking/session-logs/にバックアップ
🏁 Stop セッション終了時 チェックリスト:完了プロジェクトのアーカイブ、インデックス更新、孤立ノートの確認

[!TIP] ただ話すだけ。フックがルーティングを処理します。

⚡ トークン効率

obsidian-mindはボールト全体をコンテキストに読み込みません。階層型ローディングでトークンコストを抑えます:

階層 内容 タイミング コスト
常時 CLAUDE.md + SessionStartコンテキスト(North Star抜粋、git概要、タスク、ボールトファイル一覧) セッション開始時 ~2Kトークン
オンデマンド QMDセマンティック検索結果 エージェントが特定のコンテキストを必要とした時 対象のみ
トリガー 分類ルーティングヒント 毎メッセージ ~100トークン
トリガー PostToolUse検証 .md書き込み後 ~200トークン
まれ ファイル全体の読み込み 明示的に必要な場合のみ 可変

SessionStartは軽量なコンテキストを読み込みます — 主要ファイルからの短い抜粋、ファイル名、git概要のみで、ノート全体は読み込みません。エージェントはQMDで意味検索してからファイルを読むため、関連する情報のみを取得します。分類フックはメッセージごとに軽量なNode呼び出し1回です。検証フックはMarkdown書き込み時のみ発火し、除外パスはスキップします。

🌐 他のエージェントでの利用

obsidian-mindはClaude Code、Codex CLI、Gemini CLIで動作します。CLAUDE.mdのボールト規約、.claude/scripts/のフックスクリプト、.claude/commands/の18コマンドはすべてエージェント非依存です — 純粋なMarkdown、TypeScript、シェルでSDK依存はありません。

Claude Code — フルサポート。フック、コマンド、サブエージェント、メモリシステムがすべてそのまま動作します。

Codex CLIAGENTS.mdをネイティブに読み込みます。.codex/hooks.jsonのフック設定がClaude Codeと同じフックスクリプトを接続 — セッションコンテキスト、メッセージ分類、書き込み検証が自動的に動作します。

Gemini CLIGEMINI.mdをネイティブに読み込みます。.gemini/settings.jsonのフック設定がGeminiのイベント名を共有フックスクリプトにマッピングします。

その他のエージェント(Cursor、Windsurf、GitHub Copilot、JetBrains AI)— AGENTS.mdでボールト規約を読み取ります。フックサポートはエージェントにより異なります。

[!NOTE] フック、コマンド、サブエージェントプロンプト、ボールトメモリ(brain/)はすべてエージェント非依存です。~/.claude/の自動メモリローダーのみがClaude Code専用です。詳細はAGENTS.mdをご覧ください。


📅 日常ワークフロー

: /om-standupを実行。エージェントがNorth Star、アクティブプロジェクト、未完了タスク、最近の変更を読み込みます。構造化されたサマリーと優先度の提案が表示されます。

日中: 自然に話しましょう。下した決定、発生したインシデント、終わったばかりの1on1、覚えておきたい実績を伝えてください。分類フックがエージェントに各情報を正しく整理するよう促します。まとめてダンプしたい場合は/om-dumpを使い、すべてを一度に語ってください。

終業時: 「wrap up」と言えば、エージェントが/om-wrap-upを呼び出します — ノートの検証、インデックスの更新、リンクの確認、記録漏れの実績の発見を行います。

週次: /om-weeklyを実行してセッション横断の振り返り — North Starとの整合性確認、パターンの発見、記録漏れの実績、翌週の優先事項。/om-vault-auditを実行して孤立ノート、壊れたリンク、古くなったコンテンツを検出します。

レビューシーズン: /om-review-brief managerを実行すれば、エビデンスがすべてリンクされた構造化レビュー準備ドキュメントが生成されます。


🛠️ コマンド

.claude/commands/で定義されています。任意のClaude Codeセッションで実行できます。

コマンド 機能
/om-standup 朝のキックオフ — コンテキスト読み込み、前日の振り返り、タスクの表示、優先度の提案
/om-dump フリーフォームキャプチャ — 何でも自然に話せば、適切なノートに振り分け
/om-wrap-up セッション全体のレビュー — ノート、インデックス、リンクの検証、改善点の提案
/om-humanize 文体の調整 — Claudeが書いたテキストをあなたが書いたように修正
/om-weekly 週次振り返り — セッション横断のパターン、North Starとの整合性、記録漏れの実績
/om-prep-1on1 1on1の準備 — 相手のコンテキスト、未解決事項、提案アジェンダを読み込み
/om-meeting トピック別ミーティング準備 — 未解決事項、ブロッカー、考慮すべきポイントを整理
/om-intake ミーティングノート受信箱を処理 — work/meetings/のファイルを分類して適切なノートに振り分け
/om-capture-1on1 1on1ミーティングのトランスクリプトを構造化ボールトノートとしてキャプチャ
/om-incident-capture Slack/チャンネルからインシデントを構造化ノートとしてキャプチャ
/om-slack-scan Slackチャンネル/DMをエビデンス収集のためにディープスキャン
/om-peer-scan レビュー準備のために同僚のGitHub PRをディープスキャン
/om-review-brief レビューブリーフを生成(マネージャー版またはピア版)
/om-self-review レビューシーズン用の自己評価を作成 — プロジェクト、コンピテンシー、原則
/om-review-peer ピアレビューを作成 — プロジェクト、原則、パフォーマンスサマリー
/om-vault-audit インデックス、リンク、孤立ノート、古いコンテキストを監査
/om-vault-upgrade 既存ボールトからコンテンツをインポート — バージョン検出、分類、移行
/om-project-archive 完了プロジェクトをactive/からarchive/に移動し、インデックスを更新

🤖 サブエージェント

分離されたコンテキストウィンドウで実行される専門エージェント。メインの会話を汚さずに重い処理を担当します。

エージェント 目的 呼び出し元
brag-spotter 記録漏れの実績やコンピテンシーギャップを発見 /om-wrap-up, /om-weekly
context-loader 人物、プロジェクト、コンセプトに関するボールトコンテキストをすべて読み込み 直接呼び出し
cross-linker 不足しているウィキリンク、孤立ノート、壊れたバックリンクを発見 /om-vault-audit
people-profiler Slackプロフィールから人物ノートを一括作成/更新 /om-incident-capture
review-prep レビュー期間のパフォーマンスエビデンスをすべて集約 /om-review-brief
slack-archaeologist Slackの完全な復元 — すべてのメッセージ、スレッド、プロフィール /om-incident-capture
vault-librarian ボールトの徹底メンテナンス — 孤立ノート、壊れたリンク、古いノート /om-vault-audit
review-fact-checker レビュー原稿のすべての主張をボールトのソースと照合して検証 /om-self-review, /om-review-peer
vault-migrator ソースボールトからコンテンツを分類、変換、移行 /om-vault-upgrade

[!NOTE] サブエージェントは.claude/agents/で定義されています。ドメイン固有のワークフロー用に独自のエージェントを追加できます。


📊 パフォーマンスグラフ

ボールトはパフォーマンス追跡システムとしても機能します:

  1. コンピテンシーノートperf/competencies/)が組織のコンピテンシーフレームワークを定義 — コンピテンシーごとに1つのノート
  2. 作業ノート## Relatedセクションでコンピテンシーにリンクし、何を実証したかを注記
  3. バックリンクが自動的に蓄積 — レビュー準備は各コンピテンシーノートのバックリンクパネルを読むだけ
  4. Brag Docが四半期ごとの実績をエビデンスノートへのリンク付きで集約
  5. /om-peer-scanが同僚のGitHub PRをディープスキャンし、構造化されたエビデンスをperf/evidence/に記録
  6. /om-review-briefがすべてを集約して完全なレビューブリーフを生成:Bragエントリー、意思決定、インシデント、コンピテンシーエビデンス、1on1フィードバック

[!TIP] 始め方:テンプレートからコンピテンシーノートを作成し、作業を進めながら作業ノートをリンクしていくだけ。あとはグラフが処理します。


📋 Bases

bases/フォルダには、ノートのフロントマタープロパティを検索するデータベースビューが格納されています。ノートが変更されると自動的に更新されます。

Base 表示内容
Work Dashboard 四半期でフィルタリングされ、ステータスでグループ化されたアクティブプロジェクト
Incidents 重要度と日付で並べ替えられた全インシデント
People Directory org/people/の全員(役割、チーム付き)
1:1 History 人物と日付でソート可能な全1on1ノート
Review Evidence 人物とサイクルでグループ化されたPRスキャンとエビデンス
Competency Map バックリンクからのエビデンス数付きコンピテンシー一覧
Templates 全テンプレートへのクイックアクセス

Home.mdがこれらのビューを埋め込んでおり、ボールトのダッシュボードとして機能します。


📁 ボールト構造

`` Home.md ボールトのエントリーポイント — 埋め込みBaseビュー、クイックリンク CLAUDE.md 運用マニュアル — エージェントが毎セッション読み込み AGENTS.md マルチエージェントガイド — Codex、Cursor、Windsurf等 GEMINI.md マルチエージェントガイド — Gemini CLI vault-manifest.json テンプレートメタデータ — バージョン、構造、スキーマ .shardmindignoreshardmind install` から除外されるファイル(CONTRIBUTING、翻訳、マーケティング素材) CHANGELOG.md バージョン履歴 CONTRIBUTING.md テンプレート開発チェックリスト README.md プロダクトドキュメント LICENSE MITライセンス

bases/ 動的データベースビュー(Work Dashboard、Incidents、Peopleなど)

work/ active/ 現在のプロジェクト(常時1〜3ファイル) archive/YYYY/ 完了した作業(年別に整理) incidents/ インシデントドキュメント(メインノート + RCA + ディープダイブ) 1-1/ 1on1ミーティングノート — <人名> YYYY-MM-DD.md Index.md 全作業のMap of Content

org/ people/ 人物ごとに1ノート — 役割、チーム、関係性、重要な出来事 teams/ チームごとに1ノート — メンバー、スコープ、関わり People & Context.md 組織知識のMOC

perf/ Brag Doc.md 実績の継続記録(エビデンスへのリンク付き) brag/ 四半期ごとのBragノート(各四半期1つ) competencies/ コンピテンシーごとに1ノート(リンクターゲット) evidence/ PRディープスキャン、レビュー用データ抽出 / レビューサイクルのブリーフとアーティファクト

brain/ North Star.md 目標とフォーカスエリア — 毎セッション読み込み Memories.md 記憶トピックのインデックス Key Decisions.md 重要な意思決定とその理由 Patterns.md 作業全体で観察された繰り返しパターン Gotchas.md うまくいかなかったことその理由 Skills.md

Core symbols most depended-on inside this repo

run
called by 4
scripts/qmd-bootstrap.ts
spawnQmd
called by 3
scripts/qmd-bootstrap.ts
echo
called by 2
scripts/qmd-bootstrap.ts
runIdempotent
called by 2
scripts/qmd-bootstrap.ts
readManifest
called by 1
scripts/qmd-bootstrap.ts
ensureQmd
called by 1
scripts/qmd-bootstrap.ts
main
called by 1
scripts/qmd-bootstrap.ts

Shape

Function 7

Languages

TypeScript100%

Modules by API surface

scripts/qmd-bootstrap.ts7 symbols

For agents

$ claude mcp add obsidian-mind \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact