second-brain マニュアル
トラブルシューティング
問題と対処の一覧です。まず sb doctor を実行してください。ほとんどの問題を見つけて、対処を示します。
ホームディレクトリがセットアップされていないと言われる
メッセージ: ... is not set up; run sb setup (or sb setup home)
原因: ホームディレクトリがないか、SECOND_BRAIN_HOME が間違ったフォルダーを指しています。
対処:
sb setup homeを実行します。- 別のフォルダーを使っているときは、
SECOND_BRAIN_HOMEを設定するか、sb setup envを実行します。
アカウントに再ログインが必要
症状: sb doctor や sb auth status が needs_reauth を表示します。sb sync はそのアカウントを飛ばします。
原因: Google または Slack が、ログインを終了させました。OAuth クライアントの種類が外部で、ステータスがテストの Google では、7 日ごとに起こります。
対処: sb auth login <id> を実行します。
ほかの同期が実行中
症状: コマンドが、終了コード 75 とエラー sync.locked で止まります。
対処: ほかの同期が終わるのを待ってから、もう一度実行します。同期が実行中でないときは、ロックが古くなっています。ツールは、6 時間 (sync.lock_stale_hours) 後にロックを解除します。
要約が pending のまま
| 原因 | 対処 |
|---|---|
| summarizer がない | sb setup llm を実行します。 |
| 週または月の上限を使い切った | sb budget を実行します。次の期間を待つか、上限を上げます。要約とコストを参照してください。 |
モデルの価格が不明 (llm.unpriced) |
llm.prices に価格を設定するか、上限をなくします。 |
ローカルサーバーが起動していない (llm.local_unreachable) |
サーバーを起動します。エントリーは pending のままで、ツールは再試行します。 |
テキストが summary.min_chars より短い |
正常です。テキストは検索できます。状態は skipped です。 |
保留中の要約を書くには、sb summarize を実行します。
要約に失敗した
症状: エントリーの状態が failed です。
対処:
sb doctorを実行して、問題llm.failedまたはllm.bad_outputを確認します。- 原因を直します。たとえば、API キーや CLI のログインを確認します。
sb summarize --retry-failedを実行します。
3 回失敗すると、ツールは試すのをやめます。--retry-failed は、カウンターをリセットします。
検索しても何も見つからない
| 原因 | 対処 |
|---|---|
| データが最初の同期より古い | sb sync --since 90d (またはより長い期間) を実行します。同期を参照してください。 |
| 単語が多すぎる | 検索は、すべての単語を必要とします。単語を減らして、より具体的にします。 |
| 単語が別のセクションにある | --section を付けずに検索します。 |
| 同期が実行されていない | sb sync を実行して、出力を読みます。 |
| 検索インデックスが正しくない | sb doctor を実行します。問題が報告されたら、sb index rebuild を実行します。 |
Slack の同期が遅い
原因: Slack アプリが配布されています。配布されたアプリは、conversations.history のリクエストが 1 分に 1 回に制限されます。
対処: マニフェストで内部アプリを作り、Distribute App を有効にしません。Slack アカウントを参照してください。
Meet のメモがない
| 原因 | 対処 |
|---|---|
| ミーティングに Gemini のメモがない | ツールは、Gemini が書いたメモだけを読みます。 |
| メモが、カレンダーの予定にも「Meet Recordings」フォルダーにもない | Google ドライブでメモを開き、リンクをコピーして、sb ingest <link> を実行します。 |
| ミーティングが最初の同期より古い | sb sync --since 90d を実行します。 |
| Google のログインが切れた | sb auth login <id> を実行します。 |
sb ingest が失敗する
| メッセージまたは状態 | 対処 |
|---|---|
Web ページで HTTP 403 または 401 |
ページにログインが必要です。ページをファイルとして保存して、ファイルを追加します。 |
no extractable text |
ファイルにテキストレイヤーがないか、ページに JavaScript が必要です。別の形式を使います。 |
path is not allowed |
ツールは、このファイルを読みません。ドキュメントの追加を参照してください。 |
Google のリンクで not found or no access |
どの Google アカウントも、ファイルを開けません。正しいアカウントを追加するか、アクセス権を依頼します。 |
| プライベートアドレスが拒否された | ページを信頼できるときだけ、ingest.web.allow_private を true にします。 |
folders are not supported |
フォルダーの中のファイルを、一つずつ追加します。 |
Slack content is ingested by sb sync |
Slack のリンクには、sb sync を使います。 |
スケジュールされた同期が実行されない
sb doctorを実行し、点検schedule.registeredとruns.recentを確認します。- スケジュールがないときは、
sb setup scheduleを実行します。 - Windows では、タスクはログオンしている間だけ実行されます。
- ホームディレクトリの
logs/フォルダーのログファイルを読みます。 - 既定以外のホームディレクトリを使っているときは、
sb setup envを実行します。
CLI の summarizer が見つからない
症状: sb doctor が、claude などのプログラムが PATH にないと報告します。
対処: プログラムをインストールするか、そのフォルダーを PATH に追加します。そのあとで sb setup schedule をもう一度実行して、スケジュールされたジョブに正しい PATH を渡します。
Antigravity の summarizer が実行を拒否する
原因: ~/.gemini/antigravity-cli/settings.json の permissions.allow リストが空でないか、ツールがファイルを読めません。安全のため、この場合ツールは実行を拒否します。
対処: ファイルから allow のルールを削除するか、別の summarizer を使います。
さらに助けが必要なとき
-vvを付けて、コマンドをもう一度実行し、より多くの出力を見ます。sb doctor --onlineを実行します。- 問題をプロジェクトに報告します。トークンや非公開のテキストを含めないでください。