384t.net

← second-brain

second-brain マニュアル

トラブルシューティング

問題と対処の一覧です。まず sb doctor を実行してください。ほとんどの問題を見つけて、対処を示します。

ホームディレクトリがセットアップされていないと言われる

メッセージ: ... is not set up; run sb setup (or sb setup home)

原因: ホームディレクトリがないか、SECOND_BRAIN_HOME が間違ったフォルダーを指しています。

対処:

  1. sb setup home を実行します。
  2. 別のフォルダーを使っているときは、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 です。

対処:

  1. sb doctor を実行して、問題 llm.failed または llm.bad_output を確認します。
  2. 原因を直します。たとえば、API キーや CLI のログインを確認します。
  3. 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 を使います。

スケジュールされた同期が実行されない

  1. sb doctor を実行し、点検 schedule.registered と runs.recent を確認します。
  2. スケジュールがないときは、sb setup schedule を実行します。
  3. Windows では、タスクはログオンしている間だけ実行されます。
  4. ホームディレクトリの logs/ フォルダーのログファイルを読みます。
  5. 既定以外のホームディレクトリを使っているときは、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 を使います。

さらに助けが必要なとき

  1. -vv を付けて、コマンドをもう一度実行し、より多くの出力を見ます。
  2. sb doctor --online を実行します。
  3. 問題をプロジェクトに報告します。トークンや非公開のテキストを含めないでください。