exbrain/README_JP.md
Masahiro Chaen d68b199abf docs: add beginner-friendly diagrams — flow charts, system map, component table
- Architecture overview diagram (human → tools → vault → outputs)
- Data flow chart: what happens when you clip
- System relationship map: Claude Code / Agent / Cloud Tasks / Obsidian
- Component explanation table with links to docs
- Both EN and JP versions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 21:45:53 +09:00

24 KiB
Raw Blame History

Exbrain Banner

Exbrain — 自律成長する外付けのAI脳

記憶し、整理し、振り返り、自ら進化するAIナレッジシステム
Claude Code × Obsidian × SOUL/MEMORY/DREAMS

🇺🇸 English · Karpathy's LLM Wiki にインスパイア

Exbrainとは

Claude Codeの中に隠れている記憶Memory、設定ファイルCLAUDE.md、スキルSkillsをObsidianで可視化。Dreamingレイヤーが自動で毎日振り返り、パターンを検出し、成長の軌跡を記録する。

PCを閉じても動く。iPhoneでも見える。人間はObsidianを開いて読むだけ。

はじめに — 全体像を理解する

Claude CodeやObsidianに馴染みがない方のために、全体像を図で解説します。

┌──────────────────────────────────────────────────────────────┐
│                    あなた(人間)                               │
│                                                              │
│   Claude Codeで作業     Xでブックマーク     SlackにURL送信     │
│         ↓                    ↓                  ↓            │
└─────────┬──────────────────────┬──────────────────┬──────────┘
          │                      │                  │
          ▼                      ▼                  ▼
┌─────────────────┐  ┌───────────────────┐  ┌──────────────────┐
│  Claude Code    │  │  Cronジョブ(自動) │  │  常駐エージェント  │
│  (ローカルCLI)  │  │  4時間おき        │  │  (例: OpenClaw)   │
│                 │  │                   │  │                  │
│ • /clip スキル  │  │ • Xブックマーク   │  │ • Slack監視       │
│ • Hooks(自動)   │  │ • xurl API        │  │ • URL検知         │
│ • セッション記録│  │                   │  │ • firecrawl       │
└────────┬────────┘  └────────┬──────────┘  └────────┬─────────┘
         │                    │                      │
         └────────────────────┼──────────────────────┘
                              │
                              ▼
                 ┌──────────────────────┐
                 │   ~/vault/ (Git)     │
                 │                      │
                 │  SOUL.md   MEMORY.md │
                 │  DREAMS.md           │
                 │  daily/  clips/      │
                 │  clients/ insights/  │
                 └──────────┬───────────┘
                            │
                   ┌────────┼────────┐
                   │        │        │
                   ▼        ▼        ▼
                GitHub   iCloud   Obsidian
               (バックアップ) (同期)  (Mac+iPhone)

各コンポーネントの役割

コンポーネント 何か Exbrainでの役割
Claude Code AnthropicのAIコーディングCLI (公式) メインのAIアシスタント。/clip等のスキル実行、vault書き込み、Hook管理
Obsidian 無料のMarkdownートアプリ (obsidian.md) 全てを読む場所。vault = .mdファイルのフォルダ。Mac/iPhone/Android対応
常駐エージェント バックグラウンドAI (例: OpenClaw) Slack/Discordを24時間監視。Claude Codeを閉じてもcronジョブ実行
Cloud Scheduled Tasks Claude Code内蔵のスケジューラ (公式) PC不要で朝夕のDreamingを実行。MEMORY.mdとDREAMS.mdを自動更新
xurl X API CLIツール Xのツイートやブックマークを取得
Firecrawl Webスクレイピング CLI URLをクリーンなMarkdownに変換
iCloud Apple のクラウド同期 MacとiPhone間でvaultを自動同期
GitHub コードホスティング vaultのバックアップ + バージョン管理

データフロー:クリップの仕組み

面白い記事を見つけた!
         │
         ▼
  ┌─ 方法を選ぶ ────────────────────────────────────────┐
  │                                                      │
  │  A) /clip URL          B) Slack DMに       C) Xで   │
  │     Claude Codeで         URL送信          ブクマ   │
  │         │                    │              するだけ │
  │         ▼                    ▼                │      │
  │    Claude Code          エージェントが    (4時間後)   │
  │    即座に実行           リアルタイム検知       │      │
  └──────┬───────────────────┬───────────────────┬──────┘
         │                   │                   │
         └───────────────────┼───────────────────┘
                             │
                             ▼
                   ┌─────────────────┐
                   │   AI が処理     │
                   │                 │
                   │ 1. 内容を取得   │
                   │ 2. 要約を生成   │
                   │ 3. タグ付け     │
                   │ 4. .md保存      │
                   └────────┬────────┘
                            │
                            ▼
               vault/clips/x/2026-04-08_slug.md
                            │
                  ┌─────────┼─────────┐
                  │         │         │
                  ▼         ▼         ▼
            _index.md  daily note   git push
              更新       更新       GitHubへ
                                      │
                                      ▼
                                 iCloud 同期
                                      │
                                      ▼
                               📱 iPhoneで読める

システム相関図

┌─────────────────────────────────────────────────────────┐
│                                                         │
│  ┌──────────────┐         ┌──────────────┐              │
│  │ Claude Code  │────────▶│  ~/vault/    │◀──────┐      │
│  │ (CLIエージェント)│ 書込  │ (Obsidian)   │       │      │
│  │              │         │              │  書込  │      │
│  │ スキル:      │         │ SOUL.md      │       │      │
│  │  /clip       │         │ MEMORY.md    │  ┌────┴────┐ │
│  │  /auto-min   │         │ DREAMS.md    │  │ Cloud   │ │
│  │  30+個       │         │ daily/       │  │Schedule │ │
│  └──────────────┘         │ clips/       │  │ Tasks   │ │
│                           │ clients/     │  │         │ │
│  ┌──────────────┐         │ meetings/    │  │ 朝 07:00│ │
│  │ 常駐エージェント│────────▶│ insights/    │  │ 夕 18:30│ │
│  │ (OpenClaw)   │ 書込    │              │  └─────────┘ │
│  │              │         └──────┬───────┘              │
│  │ Cronジョブ:  │          git push/pull                │
│  │  Xブクマ同期 │                │                      │
│  │  Slack DM    │         ┌──────▼───────┐              │
│  │  日次レポート│         │   GitHub     │              │
│  └──────────────┘         │  (private)   │              │
│                           └──────────────┘              │
│                                                         │
│        ─── 全て ~/vault/ で繋がっている ───              │
│                                                         │
└─────────────────────────────────────────────────────────┘

SOUL / MEMORY / DREAMS

Exbrainの核心は、Vault直下の3つのファイル:

~/vault/
├── SOUL.md      ← 自分は誰か(アイデンティティ・価値観・境界線)
├── MEMORY.md    ← 何を経験したか(決定・パターン・学び)
└── DREAMS.md    ← どこに向かうか(洞察・成長・未解決の問い)

SOUL.md — アイデンティティ

自分が誰で、AIにどう振る舞ってほしいかを定義。Claude CodeのCLAUDE.mdと外部エージェントの性格設定を統合。

## Identity
- 名前、役割、会社

## Values
- 「完璧主義より実験主義」
- 「APIファースト、手作業は排除」

## Boundaries絶対遵守
- 「メール送信禁止 — 下書きのみ」
- 「Slack確認なしで送信禁止」

MEMORY.md — 経験の蓄積

AIが学んだこと全てのダイジェスト。Claude Codeの Memory.claude/projects/*/memory/)を自動同期 + Cloud Scheduled Tasksが朝夕に追記。

## Recent
- [2026-04-07] Obsidian Vault構築、SOUL/MEMORY/DREAMS実装

## Patterns
- 金曜は会議密度が高い3週連続
- メール返信が午後に集中

## CC Memory サマリー35件
- feedback/21件: 「メール送信禁止」「GAS編集後は毎回commit」
- reference/7件: API情報、ツール設定

DREAMS.md — 内省と成長

Dreaming朝夕+週次)が自動更新。時間とともに浮かび上がるパターンを記録。

## Current Insights
- 月曜は会議10件超が常態化3週連続

## Emerging Patterns
| パターン | 回数 | 傾向 |
|---------|------|------|
| ツール→スキル→自動化サイクル | 10+ | 一貫 |

## Growth Trajectory
- Q1: スキル26個構築、cronジョブ32本稼働

Clips — ナレッジクリッピング

ツイートや記事を自動でvaultに蓄積。Karpathyの「知識が複利で増える」パターンで、読んだもの全てがObsidianで検索可能に。

3つの取り込み方法

方法 トリガー 最適な場面
/clip スキル Claude Codeで /clip <URL> デスクワーク中、高品質な要約
Slack DM エージェントのDMにURL投稿 外出先(スマホ)、即座にキャプチャ
Xブックマーク自動同期 4時間おきに自動 パッシブ — Xでブックマークするだけ

1. /clip — Claude Codeで手動クリップ

/clip https://x.com/karpathy/status/1234567890
/clip https://example.com/great-article
/clip https://url1.com https://url2.com          # 複数URL対応

X tweet vs 記事を自動判定。内容取得→要約・タグ生成→clips/保存→daily note追記→git push。

2. Slack DM — スマホからクリップ

エージェントのSlack DMにURLを送るだけ:

https://example.com/interesting-article

エージェントがURLを検知→スクレイピング→要約→clips/保存→スレッド返信:

📎 クリップしました!
📄 LLMが全てを変える方法
🏷️ #ai #llm #future
📁 vault/clips/articles/2026-04-08_llm-change-everything.md

セットアップ: 常時稼働エージェント(OpenClaw等)+ Slack Socket Modeが必要。詳細はSlack Clipセットアップ参照。

3. Xブックマーク自動同期

普段どおりXでツイートをブックマークするだけ。cronジョブが自動でvaultに同期。

デフォルトスケジュール: 4時間おき8:00, 12:00, 16:00, 20:00

必要なもの: xurl CLI + OAuth2認証

# 手動テスト
xurl bookmarks -n 5 --auth oauth2

クリップファイルのフォーマット

---
date: 2026-04-08
type: clip
source: x | article
url: https://...
author: "@username"
tags: [ai, claude-code, agent]
via: slack | cli | cron
---

## 要約
3-5行の日本語要約

## キーポイント
- ポイント1
- ポイント2

## 原文メモ
> 重要な引用

## 関連
[[insights/...]] | [[clips/...]]

daily noteへの自動連携

クリップするたびに、その日のdaily noteに自動追記:

## Clips
- [[clips/x/2026-04-08_sam-altman-social-contract]] — Sam Altmanのsocial contract
- [[clips/articles/2026-04-08_karpathy-llm-wiki]] — Karpathy LLM Wikiパターン

Dataviewクエリ

Obsidianでタグ別にクリップを閲覧:

TABLE rows.date, rows.source, rows.author
FROM "clips"
WHERE type = "clip"
FLATTEN tags as tag
GROUP BY tag
SORT rows.date DESC

Slack Clipセットアップ

Slack DM → clip を有効にする手順:

  1. スキルファイル作成 — エージェントのワークスペースに:
workspace/skills/slack-clip/
├── SKILL.md              ← スキル概要
├── BEHAVIOR.md           ← 検知ルール + 処理フロー
└── processed-clips.json  ← 重複防止トラッキング
  1. 自動アクション追加 — エージェントの設定(AGENTS.md等)に:
### URL投稿 → Vaultクリップ
DMにURLを含むメッセージが来たら自動でvault/clips/に保存。

検知: https:// を含む転送メッセージ・Slack内部URL・画像直リンクは除外
処理: URL判定 → 取得 → 要約・タグ → vault保存 → git push → スレッド返信
  1. ツール確認 — エージェントが以下にアクセスできること:
    • xurlX API CLI+ OAuth2認証
    • firecrawlWebスクレイピング CLI
    • vault リポジトリへのgitアクセス

Xブックマークcronセットアップ

エージェントスケジューラにcronジョブを追加:

{
  "name": "clip-x-bookmarks",
  "schedule": "0 8-23/4 * * *",
  "message": "xurl bookmarks -n 20 --auth oauth2 でブックマーク取得、vault/clips/x/ と重複チェック、新規を要約して保存、_index.md更新、git push"
}

アーキテクチャ

┌─ Layer 1: Cloud Scheduled TasksPC不要────────────────┐
│                                                           │
│  07:00  vault-daily-morning                               │
│  ├── SOUL.md を読む(ユーザー理解)                         │
│  ├── MEMORY.md を読む(直近の文脈)                         │
│  ├── Google Calendar → 今日の予定                          │
│  ├── Slack → 昨夜のハイライト                               │
│  ├── Gmail → 重要な未読メール                               │
│  ├── Morning Dreaming昨日の振り返り→今日の注目           │
│  ├── MEMORY.md の Recent を更新                            │
│  └── git push                                             │
│                                                           │
│  18:30  vault-daily-evening                               │
│  ├── SOUL.md + MEMORY.md + DREAMS.md を読む                │
│  ├── Evening Dreaming今日+7日間→パターン検出            │
│  ├── MEMORY.md + DREAMS.md を更新                          │
│  ├── 日曜: 週次Dreaming + Lint + Slack通知                  │
│  └── git push                                             │
│                                                           │
└────────────────────────┬──────────────────────────────────┘
                         │ push
                         ▼
┌─ GitHubprivate repo──────────────────────────────────┐
│  vault/の全ファイル                                        │
└────────────────────────┬──────────────────────────────────┘
                         │ pulllaunchd 毎時)
                         ▼
┌─ Layer 2: ローカル自動化 ────────────────────────────────┐
│                                                           │
│  Claude Code Hooks (async: true)                          │
│  ├── PostToolUse → ファイル変更をログ記録                    │
│  └── Stop → セッション終了をdaily note + MEMORY.mdに記録    │
│                                                           │
│  外部エージェント CronPCオン時の追加データ               │
│  ├── Salesforce/Stripe/HERP等の専門データ追記               │
│  └── PCオフ時はスキップLayer 1だけで完結                │
│                                                           │
└────────────────────────┬──────────────────────────────────┘
                         │ iCloud同期
                         ▼
              ObsidianMac + iPhone

ハイブリッド設計 — 3つの性格

vault/
├── system/, skills/, memory/
│   → 静的ミラー(ダッシュボード)
│   → Claude Codeの中身を自動同期、読むだけ
│   → <!-- SYNCED: DO NOT EDIT --> ヘッダー付き
│
├── daily/
│   → 自動ログ + 手書き日記
│   → Calendar + Slack + Gmail + AI Analysis + Dreaming
│   → PC閉じてても Cloud Scheduled Tasks が動く
│
└── meetings/, clients/, insights/
    → Karpathyパターン知識が複利で増える
    → 議事録を処理するたびに顧客ページに自動蓄積
    → 12回の議事録を読み返す必要がない

Vault構造

~/vault/
├── SOUL.md                ← アイデンティティ・価値観・境界線
├── MEMORY.md              ← 経験のダイジェストCC Memoryミラー
├── DREAMS.md              ← Dreaming蓄積自動更新
├── CLAUDE.md              ← SchemaLLM向けルール定義
│
├── daily/                 ← デイリーノート(朝夕自動生成)
├── system/                ← Claude CodeシステムミラーSYNCED
├── skills/                ← スキル一覧+個別ページSYNCED
├── memory/                ← CC Memory個別ファイルミラーSYNCED
├── clips/                 ← ツイート・記事のクリッピング(自動+手動)
│   ├── x/                    Xブックマーク毎日22:00自動同期
│   ├── articles/             Web記事/clip or Slack経由
│   ├── _index.md             クリップ一覧(自動更新)
│   └── tags.md               タグ別分類Dataview対応
│
├── clients/               ← 顧客ナレッジ蓄積Karpathyパターン
├── meetings/              ← 議事録要点
├── decisions/             ← 経営判断ログ
├── insights/              ← 学び・パターン + 週次Dreaming
├── templates/             ← テンプレート
└── scripts/               ← hookスクリプト + 同期スクリプト

セットアップ

前提条件

  • Claude CodePro or Max
  • Obsidian無料
  • GitHubアカウント
  • オプションSlack / Google Calendar / Gmail の Connector

Step 1: Vault作成

mkdir -p ~/vault/{daily,system,skills,memory/{feedback,reference,project,user},clients,meetings,decisions,insights,templates,scripts}

# iCloud同期iPhone対応する場合
mv ~/vault ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/exbrain
ln -s ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/exbrain ~/vault

Step 2: テンプレートをコピー

git clone https://github.com/YOUR_USERNAME/exbrain.git /tmp/exbrain
cp -r /tmp/exbrain/vault-template/* ~/vault/

Step 3: Hooks設定

~/.claude/settings.json に追加:

{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{
        "type": "command",
        "command": "bash ~/vault/scripts/on-file-change.sh",
        "async": true
      }]
    }],
    "Stop": [{
      "hooks": [{
        "type": "command",
        "command": "bash ~/vault/scripts/on-session-end.sh",
        "async": true
      }]
    }]
  }
}

Step 4: 初回同期

Claude Codeで:

~/.claude/skills/ の全スキル、~/.claude/projects/*/memory/ の全記憶ファイルを
~/vault/ に同期してください。SOUL.md にアイデンティティを、MEMORY.md に記憶の
ダイジェストを作成してください。

Step 5: GitHubバックアップ

cd ~/vault
git init && git add -A && git commit -m "Initial vault"
gh repo create my-vault --private --source=. --push

Step 6: Cloud Scheduled TasksPC不要にする場合

claude.ai/code/scheduled で:

  • vault-daily-morning毎朝07:00: SOUL.md読み→Calendar+Slack+Gmail→daily note + Morning Dreaming
  • vault-daily-evening毎夕18:30: SOUL.md+MEMORY.md+DREAMS.md読み→Evening Dreaming+パターン検出

含まれるスクリプト

スクリプト 用途
on-session-end.sh Stop hook: daily note + MEMORY.mdにセッション記録
on-file-change.sh PostToolUse hook: CLAUDE.md/memory/skill変更をログ
weekly-sync.sh 週次Lint: 壊れたリンク・孤立ページ・古いページ検出
git-pull-sync.sh 毎時git pullstash対応
sync-agent-to-vault.sh 外部エージェントのJSONデータでdaily note充実化
sync-x-bookmarks.sh Xブックマーク自動取得+クリップcron 22:00

全スクリプトmacOS互換GNU拡張なし、セキュリティレビュー済みPIDロック、インジェクション対策

参考

ライセンス

MIT