mcpField
C
cold-start

cold-start

github.com/garrytan生産性31.3k204 回インストール今日更新
リポジトリ

cold-start について

cold-startは、空の状態からGBrainのナレッジベースを構築するエージェントスキルです。ノートや個人データを優先順位に沿って取り込み、各段階で同意を求め、中断した作業も再開できます。

主な機能

  1. 01優先順位に沿ったデータ取り込み
  2. 02ノートや複数のデータソースに対応
  3. 03各段階でユーザーの同意を確認
  4. 04保存した進捗から作業を再開
  5. 05取り込み時にエンティティを検出・関連付け

活用シーン

  1. 01ObsidianやMarkdownからナレッジベースを開始
  2. 02連絡先と最近の予定をまとめる
  3. 03エクスポートしたメールや会話から背景情報を作成

インストール

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

$npx skills add https://github.com/garrytan/gbrain --skill cold-start

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

詳細

コールドスタート — 初日のブレイン構築

ブレインは使える状態です。検索も機能します。次は何をすればよいでしょうか?

空のブレインは静的なデータベースです。メール履歴、カレンダー、連絡先、会話、ソーシャルメディアを取り込んだブレインは、今後のやり取りすべてをよりスマートにする生きたコンテキストの膜になります。このスキルでは、最も効果の高いデータソースから順に取り込み、1回のセッションでゼロから実用的な状態にします。

前提条件

  • すべてのインポートフェーズは、続行前にユーザーの同意を得る必要があります(ask-user パターン)。
  • **エージェントが生の OAuth トークンや API キーを保持することはありません。**これは好みではなく、安全性の要件です。Google データについては、次の 3 つの方法があります。 ネイティブコネクタ(gbrain google setup — トークンは gbrain の認証情報ボルトに保存され、モード 0600 で保護されます。エージェントのコンテキストに入ることはありません。詳細は docs/guides/google-connect.md と skills/google-loops/SKILL.md を参照してください)、 ClawVisor(認証情報をボルトに保存し、タスク単位の認可を適用してすべての API 呼び出しを記録し、破壊的な操作には人間の承認を必須とするホスト型の認証情報ゲートウェイです。利用するには連携機能を備えたハーネスが必要です)、またはオフラインのファイルエクスポート(Google Takeout、Twitter アーカイブのダウンロード)です。
  • 各フェーズにはそれぞれ価値があります。どのフェーズの後でも中断でき、その時点でブレインは役立つ状態です。
  • 進捗は ~/.gbrain/cold-start-state.json で追跡されるため、中断したセッションを再開できます。
  • エンティティの検出と相互リンクは、個別の工程としてではなく、すべてのインポート時に実行されます。

必要条件

  • GBrain がインストールおよび初期化されていること(gbrain doctor --json の結果がすべて green)
  • ブレインのリポジトリがクローンされ、同期されていること
  • エージェントがターミナルにアクセスでき、gbrain CLI コマンドを実行できること

優先順位

情報密度 × インポートの容易さで順位付けしたデータソース:

優先度ソース理由所要時間作成されるページ数
1既存の Markdown/Obsidianすでに構造化されており、情報密度が最も高いため5 分数百〜数千
2Google Contactspeople/ ディレクトリの基盤となる、名前、メールアドレス、会社情報を取り込むため10 分50〜500
3Google Calendar(90 日分)参加者のコンテキストを含む会議履歴を取り込むため15 分30〜90
4Gmail(最近のスレッド)関係性のコンテキスト、進行中のスレッド、組織図の手がかりを取り込むため20 分50〜200
5会話(ChatGPT/Claude のエクスポート)あなたの思考、質問、メンタルモデルを取り込むため15 分10〜100
6X/Twitter アーカイブ公開している意見、見解、エンゲージメントの傾向を取り込むため20 分30〜365
7ファイルアーカイブ(Dropbox/Drive/ローカル)過去の文書、以前に書いたもの、写真を取り込むため30 分以上さまざま
8会議の文字起こし(Circleback など)録音された通話から深い関係性のコンテキストを取り込むため20 分10〜50

フェーズ 0:ClawVisor のセットアップ(エージェントハーネスが ClawVisor と統合されている場合のみ)

まずハーネスを確認してください。 ClawVisor を利用するには、ClawVisor との統合機能を備えたエージェントホストが必要です(例:OpenClaw のデプロイメント)。Codex や Claude Code など、統合機能のないハーネスでは、このフェーズをスキップしてください。Contacts、Calendar、Gmail のデフォルトはネイティブコネクターです — gbrain google setup(ライブ同期。トークンは gbrain のローカル認証情報保管庫に保存され、エージェントには渡されません。skills/google-loops/SKILL.md を参照してください)を使用します。オフラインで利用する場合は、3 つすべてに対応する Google Takeout エクスポート(contacts CSV、calendar ICS、Gmail mbox)を代替手段として使えます。以下のフェーズ 2〜4 では、まず Takeout を使う手順について説明します。

安全性の境界: Gmail、Calendar、Contacts への未加工の OAuth トークンを AI エージェントに渡すことは、制御不能な攻撃対象領域を生み出します。プロンプトインジェクションが 1 回、悪意のあるツール呼び出しが 1 回あれば、Google アカウント全体が危険にさらされます。ClawVisor は、このリスクを完全に排除します。

ClawVisor は、エージェントと API の間に置かれる認証情報ゲートウェイです。エージェントが認証情報を見ることはありません。ClawVisor がリクエスト時に認証情報を注入し、ポリシーを適用して、すべてをログに記録します。

ClawVisor でできること:

  • 認証情報の保管 — エージェントにはシャドウトークンのみが見え、実際のシークレットは見えません
  • タスク単位の認可 — 各ワークフローで必要な権限を明示します
  • 監査証跡 — すべての API 呼び出しをメタデータ(誰が、何を、いつ)とともに記録します
  • 人による承認ゲート — 破壊的な操作(メールの送信、カレンダーの変更)には明示的な承認が必要です
  • 複数サービスへの対応 — 1 つのゲートウェイから Gmail、Calendar、Contacts、Drive、GitHub、iMessage を利用できます
  • アクセスの取り消し — トークンをローテーションする必要はなく、ワンクリックでエージェントのアクセスを無効にできます

セットアップ(15 分):

  1. app.clawvisor.com でサインアップします
  2. ダッシュボードでエージェントを作成し、エージェントトークンをコピーします
  3. 環境変数を設定します(ホストエージェントの環境内 — シェルプロファイルまたはハーネスの設定。gbrain 自体には ClawVisor の設定キーはありません。これらの変数はホストの ClawVisor 統合機能によって使用されます。OpenClaw のデプロイメントなど、ClawVisor 統合機能を備えたエージェントホストが必要です。Codex と Claude Code はこれらの変数を使用しないため、代わりにオフラインインポートの手順を使用してください):
    export CLAWVISOR_URL="https://app.clawvisor.com"
    export CLAWVISOR_AGENT_TOKEN="<token>"
    
  4. ダッシュボードで Google サービス(Gmail、Calendar、Contacts)を有効にします
  5. 広い範囲を対象とする常設タスクを作成します:

    「脳の完全な初期設定:ナレッジベースを作成するため、メール、カレンダーの予定、連絡先を読み取ります。接続済みのすべてのアカウントで、一覧表示、読み取り、検索を行います。」

  6. 常設タスク ID を同じ方法で保存します:
    export CLAWVISOR_TASK_ID="<task_id>"
    

重要なスコープ設定ルール: タスクの目的は広く設定してください。「メールのトリアージ」は意図の検証で拒否されます。「受信トレイのトリアージ、任意の条件による検索、メールの読み取り、スレッドの追跡を含む、エグゼクティブアシスタントとしてのメール管理全般」であれば機能します。意図モデルは、各リクエストを判断するために目的を使用します。

ユーザーが ClawVisor を利用しない場合

OAuth に直接フォールバックしないでください。代わりに、オフラインのみのインポートを進めます。

  • Phase 2-4(連絡先、カレンダー、Gmail)— Google Takeout のエクスポートから処理します
  • Phase 1(Markdown/Obsidian)— API アクセスなしで動作します
  • Phase 5(会話のエクスポート)— ダウンロードした JSON ファイルから処理します
  • Phase 6(X/Twitter)— ダウンロードしたアーカイブから処理します
  • Phase 7(ファイルアーカイブ)— ローカルファイルから処理します
  • Phase 8(会議のトランスクリプト)— エクスポートしたトランスクリプトから処理します

ユーザーには次のように伝えてください。

「問題ありません。選択肢は2つあります。ネイティブコネクター(gbrain google setup)では、独自の OAuth アプリを使って Gmail/Calendar/Contacts をリアルタイムで同期できます。トークンは gbrain のローカル認証情報ボールトに保管され、私が保持することはありません。または、Google Takeout のエクスポートを使えば、3つすべてを特定時点のスナップショットとして取得できます。」

Google の生トークンを自分で保持しないでください。 エージェントがコンテキスト内にトークンを保持するのは、セキュリティ上のリスクです。ネイティブコネクターが正式な OAuth 経路として承認されているのは、gbrain がトークンをボールトに保管するためです(ファイル権限は 0600、一覧表示では秘匿)。エージェントが実行するのは CLI コマンドだけです。シークレットはファイルまたは環境変数から渡し、argv やチャット経由では渡しません。正確なプロトコルについては skills/google-loops/SKILL.md を参照してください。

Phase 1:既存の Markdown/Obsidian のインポート

既存の会社の Git リポジトリを使う場合は、以下の汎用インポートではなく、migrate(ホスト側)の会社ワークフローを使用してください。信頼できる brain ホストで、まず gbrain sources inspect <path> --profile company-brain を実行します。company brain が初期化済みであること、新しいソースであることを確認し、接続先とアクセス内容のプレビューを表示して、--yes を使う前に承認を得てください。無関係な個人用スキーマを有効化したり正規化したりして、語彙を平坦化しないでください。オフラインの gbrain sources demo company-brain にはキーもプライベートデータも必要ありません。詳細は次を参照してください。 docs/guides/company-brain-ingestion.md。 この会社向けの手順では、永続的なレシートを報告した時点で終了し、以下の汎用インポートとブートストラップ後のチェックリストはスキップしてください。後続のエンリッチメントやスケジュール設定には個別の同意が必要であり、ソースの不変なキーレス同期ポリシーに従う必要があります。

最初のインポートで最も大きな効果が得られます。 ユーザーがすでにノートシステムを使っている場合、すぐに利用できる構造化ページが数百から数千件あります。

ディスカバリー
echo "=== Markdown Repository Discovery ==="
for dir in ~/git/* ~/Documents/* ~/notes/* ~/obsidian/*; do
  if [ -d "$dir" ]; then
    md_count=$(find "$dir" -name "*.md" -not -path "*/node_modules/*" \
      -not -path "*/.git/*" -not -path "*/.obsidian/*" 2>/dev/null | wc -l | tr -d ' ')
    if [ "$md_count" -gt 5 ]; then
      total_size=$(du -sh "$dir" 2>/dev/null | cut -f1)
      echo "  $dir ($total_size, $md_count .md files)"
    fi
  fi
done
インポート
# Obsidian vaults are markdown directories — import directly, then wire wikilinks
# (full flow: migrate (host-side))
gbrain import /path/to/vault --no-embed --workers 4
gbrain extract links --source db      # parses [[wikilinks]] natively

# For plain markdown directories
gbrain import /path/to/dir --no-embed --workers 4

# Verify
gbrain stats
gbrain search "<topic from the imported data>"
インポート後
  • リンク抽出を実行します:gbrain extract links --source db
  • タイムライン抽出を実行します:gbrain extract timeline --source db
  • 埋め込みを開始します:gbrain embed --stale(バックグラウンドで実行されます)

進行状況を記録します:

echo '{"phase_1_complete": true, "pages_imported": N}' > ~/.gbrain/cold-start-state.json

Phase 2:Google Contacts → People ページ

people/ ディレクトリの基盤を作成します。 連絡先に登録されているすべての人について、名前、メールアドレス、電話番号、会社、メモを含む brain ページを作成します。これは、ほかのすべてのインポートの土台になります。Gmail に「[email protected]」が登場したとき、brain はすでに John が誰かを把握しています。

Google Takeout 経由(ClawVisor を使えない環境でのデフォルト)
  1. takeout.google.com から連絡先をエクスポートします(Contacts と CSV 形式を選択)。または、contacts.google.com から[エクスポート]→[Google CSV]を選択して直接エクスポートします。
  2. CSV を解析します。各行には、名前、メールアドレス、電話番号、組織、メモが含まれています。
  3. 以下の処理ルールに従って各行を処理し、people/ ページを作成します。
ClawVisor 経由(ClawVisor 統合ホストのみ、擬似コード)
// Fetch all contacts
const contacts = await clawvisor('google.contacts', 'list_contacts', {
  limit: 1000,
  fields: 'names,emailAddresses,phoneNumbers,organizations,biographies'
});
処理ルール

連絡先ごとに、次の処理を行います。

  1. 不要なデータを除外する — 名前もメールアドレスもない連絡先、または自動送信であることが明らかな連絡先(noreply@、no-reply@、support@、notifications@)はスキップします
  2. まず brain を確認する — 重複を避けるため、gbrain search "name" を実行します
  3. people/ ページを作成する — 次の情報を含めます。
    • 名前、メールアドレス、電話番号、会社、役職
    • ソースの帰属情報:[Source: Google Contacts, YYYY-MM-DD]
    • 連絡先に登録されているメモを初期コンテキストとして追加
  4. 会社にリンクする — 連絡先に組織が登録されている場合は、会社のページを作成または更新し、その人物をリンクします
品質ゲート

連絡先を5件インポートしたら、一時停止してサンプルページをユーザーに表示します。次のように尋ねます。

「連絡先ページの例はこちらです。残りも続けますか、それとも先に形式を調整しますか?」

フェーズ 3:Google Calendar(過去90日間)

参加者のコンテキストを含む会議履歴。 カレンダーの予定から、ユーザーが誰と、どのくらいの頻度で、どのような状況で会っているかが分かります。連絡先情報と組み合わせることで、豊かな人間関係のマップを構築できます。

イベントの取得

Google Takeout 経由(ClawVisor のないハーネスでのデフォルト): takeout.google.com から Calendar をエクスポートします(ICS 形式、カレンダーごとに1ファイル)。各イベント(タイトル、開始/終了時刻、参加者)を解析し、過去90日分に絞り込み、以下の脳の構造に保存します。

ClawVisor 経由(ClawVisor 統合済みのホストのみ。擬似コード):

// Via ClawVisor — query ALL calendar accounts
const accounts = ['[email protected]', '[email protected]'];
for (const account of accounts) {
  const events = await clawvisor(`google.calendar:${account}`, 'list_events', {
    timeMin: new Date(Date.now() - 90 * 86400000).toISOString(),
    timeMax: new Date().toISOString(),
    singleEvents: true,
    orderBy: 'startTime'
  });
}
脳の構造

次の3層のカレンダーアーキテクチャに従います。

brain/daily/calendar/
├── calendar-log.md              ← compiled truth (patterns, key people)
├── YYYY/
│   ├── YYYY-MM.md               ← monthly summary
│   └── YYYY-MM-DD.md            ← daily event log
エンティティの拡充

参加者がいる各イベントについて:

  1. 脳の中から各参加者を検索します(フェーズ2で登録済みのはずです)。完全一致のみを使用します(gbrain whois <email or name> --json) (本人確認ルール)
  2. 参加者のページにタイムライン項目を追加します: [イベントタイトル] に [日付] に出席
  3. 脳にページがない参加者が3件以上のイベントに登場する場合は、ページを作成します
  4. 同じ会議に登場する参加者同士をリンクします

フェーズ 4:Gmail(最近のスレッド)

人間関係のコンテキストと進行中のスレッド。 メールから、組織内の人間関係、進行中の会話、コミュニケーションのパターンが分かります。

ClawVisor 統合のないハーネスでは、データソースは Google Takeout からエクスポートした Gmail の mbox ファイルです。以下のサンプリングとフィルタリングのルールは、同じように適用されます。

方針:一括インポートではなく、スマートサンプリング

すべてのメールをインポートしないでください。インポートするのは有用な情報です。

  1. 送信済みメール(過去30日間) — ユーザーが積極的にやり取りしている相手
  2. スター付き/重要なメール — ユーザーが選別した情報
  3. 返信が3件以上あるスレッド — 追跡する価値のある進行中の会話
  4. すでに脳に登録されている人からのメール — 新規インポートではなく情報の拡充
処理

各メールスレッドについて:

  1. エンティティの検出 — 言及された人物や企業を抽出します
  2. 人物ページの更新 — タイムラインにコミュニケーションのコンテキストを追加します
  3. 会議ページの作成 — メールが会議の要約またはフォローアップである場合
  4. 不要な情報を除外 — ニュースレター、自動通知、マーケティング
フィルタリングルール

自動スキップ(インポートしない):

  • noreply@、no-reply@、notifications@、support@、mailer-daemon@
  • 配信停止の案内が多い送信者(マーケティング)
  • GitHub/Jira/Linear の通知メール
  • カレンダーの招待(フェーズ3で取得済み)

必ずインポート:

  • 脳に登録されている人からの直接のメール
  • スター付き/フラグ付きのメール
  • ユーザーが送信したメール(ユーザー自身の言葉は最も価値の高い情報です)

フェーズ 5:会話のエクスポート(ChatGPT / Claude / Perplexity)

思考を記録します。 AI との会話のエクスポートから、ユーザーが何を調査し、構築し、考えていたかが分かります。これは対話形式で保存された、独自の思考です。

対応形式
  • ChatGPT: Settings → Data Controls → Export → conversations.json
  • Claude: claude.ai の会話履歴からダウンロード
  • Perplexity: 設定からエクスポート
処理

各会話について:

  1. 重要度を評価(1~5段階):
    • 1 = 純粋な実用目的(手順、簡単な検索)→ スキップするか、最小限のページを作成します
    • 2 = わずかなコンテキスト → 1段落のメモ
    • 3 = 注目に値する(関心事や、何かを構築していることが分かる)→ 完全なページ
    • 4 = 重要(深い個人的な思考の整理、戦略的な思考)→ 詳細なページ
    • 5 = 決定的(アイデンティティに関わる取り組み、画期的な洞察)→ 十分な情報を含めて記録
  2. エンティティの抽出 — 話題になった人物、企業、概念
  3. 独自の思考を記録 — ユーザーの正確な言い回しが重要な情報です。決して言い換えないでください。
  4. 主題に基づいて保存 — 「conversations/」にまとめて放り込まないでください。人物に関する会話は people/ に、概念に関する会話は concepts/ に保存するなど、内容に応じて保存します。
品質ルール

評価が3以上の会話のみをインポートします。ブレインはノイズではなく、シグナルを蓄積するためのものです。

フェーズ 6:X/Twitter アーカイブ

公開されている見解や交流のパターンです。 Twitter からは、ユーザーの考え、交流している相手、公開の場で発展させているアイデアが分かります。

データソース
  1. Twitter データのエクスポート(Settings → Your Account → Download Archive)
    • すべてのツイート、いいね、DM、ブックマークが含まれます
  2. ライブ API(利用可能な場合) — 最近のツイートや交流
  3. ブックマーク — 厳選されたシグナルで、価値が高いものです
ブレインの構造
brain/media/x/{handle}/
├── x-log.md                     ← compiled truth (themes, voice, key threads)
├── daily/YYYY-MM-DD.md          ← daily tweet log
├── monthly/YYYY-MM.md           ← monthly rollup
└── bookmarks/                   ← saved/bookmarked content
処理
  • オリジナルのツイート → 全文脈を含めて保存し、エンティティを抽出します
  • 引用ツイート → ユーザーのコメントと元のツイートを保存します
  • スレッド → 1つのストーリーとして再構成します
  • ブックマーク → シグナルの高いキュレーション情報として、タグを付けてインポートします
  • いいね — シグナルが弱いため、ユーザーが希望しない限りスキップします

フェーズ 7:ファイルアーカイブ

過去の文書、昔の文章、メタデータ付きの写真です。 これは長い裾野にあたる情報で、 構造化されていない一方、非常に価値が高い可能性があります(昔の日記、手紙、初期の文章など)。

archive-crawler スキルに委任します。以下を処理します。

  • ディレクトリ構造のクロール
  • 価値の高いコンテンツ(インストーラーではなく、ユーザー自身の文章)への絞り込み
  • PDF、画像(OCR)、文書からのテキスト抽出
  • エンティティの抽出とブレインページの作成

安全確認: アーカイブのクロールには時間がかかり、多数のページが作成される場合があります。 archive-crawler はスキルであり、CLI コマンドではありません。gbrain.yml に明示的な archive-crawler.scan_paths: 許可リストがない場合、実行を拒否します。アーカイブのパスを 許可リストに追加し、まずスキルのスキャン処理を実行してから、完全な取り込みに進む前に マニフェストをユーザーに提示してください。

サポート対象のソース:

  • ローカルディレクトリ(Dropbox の同期フォルダー、Google Drive、古いハードドライブ)
  • マウントされたパス経由のクラウドストレージ(Backblaze B2、S3)
  • メールアーカイブ(PST、mbox、EML、Google Takeout)
  • データエクスポート(LinkedIn、Facebook など)

フェーズ 8:会議のトランスクリプト

録音された通話から得られる、関係性に関する深い文脈です。 ユーザーが会議録音サービス (Circleback、Otter、Fireflies、Read.ai)を利用している場合は、最近の トランスクリプトをインポートします。

meeting-ingestion スキルに委任します。主なルール:

  • AI の要約だけでなく、必ず完全なトランスクリプトを取得します
  • エンティティへの反映は必須です — すべての参加者のタイムラインを更新します
  • すべてのエンティティページが更新されるまで、会議の取り込みは完了していません

ブートストラップ後のチェックリスト

利用可能なフェーズの完了後:

  1. ブレインの健全性を確認する:

    gbrain doctor --json
    gbrain stats
    
  2. 検索をテストする:

    gbrain query "who do I meet with most often?"
    gbrain query "what am I working on?"
    gbrain search "<person from contacts>"
    
  3. ライブ同期を設定する(未設定の場合):

    • カレンダー:毎日実行する cron
    • メール:定期的な確認(4〜8時間ごと)
    • X:毎日取り込み
    • ブレインリポジトリ:5〜30分ごとに gbrain sync --repo <path> を実行します。管理対象のブレイン (gbrain sources writer status --json で "mode": "managed" と表示される場合)は、 このコマンドを拒否します。その場合は skills/cron-scheduler/SKILL.md (「Managed brain」)にある管理対象向けの手順を --source <id> とともに使用します。例: gbrain sources refresh <id>; gbrain sync --source <id> --no-pull --hard-deadline 13m をオーナーのホストで15分ごとに実行します。
  4. 状態を記録する:

    // ~/.gbrain/cold-start-state.json
    {
      "started": "2026-01-15T10:00:00Z",
      "credential_gateway": "clawvisor",
      "phases_completed": [1, 2, 3, 4],
      "phases_skipped": [6, 7],
      "total_pages_created": 847,
      "total_entities_linked": 1203,
      "next_phase": 5
    }
    
  5. 次に行うことをユーザーに伝える:

    「ブレインには、人物、カレンダー、メール、会話に関するページが N 件あります。 [sources] のライブ同期を設定しました。今後は次のことができます。

    • signal-detector がすべての会話からエンティティを取得します
    • briefing スキルで毎日のコンテキストをまとめられます
    • daily-task-prep スキルで1日の計画を立てられます
    • 「[person] を詳しく調べて」と言えば、任意の連絡先を深掘りできます」

失敗した場合

gbrain のエラー code、終了コード、[AGENT] ブロック、通知ブロックについては、エージェントオペレータープロトコルに従ってください。このスキル固有の内容は次のとおりです。

  • すべてのインポートフェーズはユーザーが選択します。コマンドが 3(confirmation_required)で終了するか、[AGENT] の確認要求を出力した場合は、[SHOW USER] ブロックをそのまま伝えて待機してください。--yes でフェーズを連続実行してはいけません。
  • gbrain google setup は [SHOW USER] の手順を出力します。そのまま伝え、ユーザーが同意ボタンをクリックするまで待ってください。認証情報のエラーには、それぞれ独自の fix が記載されています。それに従ってください。
  • インポート後、最初の gbrain query は、縮退状態を示す通知とともに空の結果を返します。埋め込みが無効であるか、バックフィル中のため、インポート自体は成功している可能性があります。インポートに失敗したとユーザーに伝える前に、gbrain doctor --json を確認してください。

避けるべきパターン

  • エージェントに未加工の OAuth トークンを渡す。 これは最も避けるべきパターンです。未加工の Gmail/Calendar トークンを持つエージェントは、制御不能な攻撃対象領域になります。プロンプトインジェクションが 1 回起きれば、Google アカウント全体が漏えいします。ClawVisor を使用してください。ユーザーが ClawVisor を利用しない場合は、オフラインインポートに進んでください。代替策として直接 OAuth を提案してはいけません。
  • フィルタリングせずにすべてを一括インポートする。 ナレッジベースに必要なのはノイズではなく、有益な情報です。自動送信者、マーケティングメール、実用的な会話は除外してください。
  • エンティティの相互リンクを行わずにインポートする。 すべてのインポートでエンティティを検出し、既存のナレッジベースページを更新してください。個別に切り離されたインポートでは、情報が蓄積されません。
  • ユーザーの同意を確認しない。 各フェーズは選択肢として提示してください。ユーザーは DM やセラピーの会話をインポートしたくない場合があります。
  • すべてを重要度 1 でインポートする。 すべての会話にナレッジベースページを作成する価値があるわけではありません。重要度スケールを使い、実用的な内容はスキップしてください。
  • 自動送信者の人物ページを作成する。 Sentry、GitHub の通知、ニュースレタープラットフォームは人物ではありません。フェーズ 4 のルールに従ってフィルタリングしてください。

再開プロトコル

セッションが中断された場合:

  1. ~/.gbrain/cold-start-state.json を読み込む
  2. 完了済みのフェーズをスキップする
  3. next_phase から再開する
  4. ユーザーは認証情報の設定や、完了済みのソースの再インポートを繰り返す必要はありません

出力形式

各フェーズの後:

PHASE N COMPLETE: [source name]
================================

Pages created: N
Pages updated: N
Entities linked: N
Time elapsed: N min

Sample pages:
- people/jane-smith.md (created — 3 emails, 5 meetings)
- companies/acme-corp.md (updated — 2 new employees linked)

Next: Phase N+1 — [description]. Ready to proceed?

使用するツール

  • search — 作成前に既存のページを確認する
  • query — エンティティの重複排除にハイブリッド検索を使用する
  • get_page — 統合を判断するために既存のページを読む
  • put_page — ナレッジベースのページを作成・更新する
  • add_link — エンティティを相互参照する
  • add_timeline_entry — エンティティのタイムラインにイベントを記録する
  • sync_brain — 各フェーズの後に変更をインデックスに同期する

コメント