second-brain マニュアル
要約とコスト
ツールが要約を書く仕組み、summarizer の選び方、コストの管理を説明します。
要約の仕組み
各エントリーは、要約を持てます。要約は overview、decisions、action_items のセクションで構成します。ミーティングには details もあります。
- Slack とドキュメント。 選んだ summarizer が要約を書きます。
- Google Meet。 既定では、Gemini が書いたメモをそのまま使います。Meet のエントリーに summarizer は使いません。
- summarizer がないとき。 選んでいなければ、エントリーは要約を待つ状態 (
pending) になります。すぐに検索はできます。
どのモデルが各要約を書いたかを記録します。sb show と sb stats で確認できます。要約は、エントリーのテキストが変わったときだけ、書き直します。
summarizer を選ぶ
sb setup llm
summarizer を選びます。短い呼び出しで、テストもします。質問を省くには、--preset を使います。sb setup の Summarizer セクションからも設定できます。
| プリセット | summarizer | 必要なもの |
|---|---|---|
anthropic |
Anthropic API (Claude Haiku 4.5) | API キー |
openai |
OpenAI API | API キー |
claude_cli |
Claude Code (claude -p) |
claude コマンドとログイン |
copilot_cli |
GitHub Copilot CLI (copilot -p) |
copilot コマンドとログイン |
codex_cli |
OpenAI Codex CLI (codex exec) |
codex コマンドとログイン |
antigravity_cli |
Google Antigravity CLI (agy) |
agy コマンドとログイン |
local |
OpenAI 互換のローカルサーバー (例: Ollama) | 起動中のサーバーとモデル |
sb setup llm --preset anthropic
sb setup llm --preset claude_cli
sb setup llm --preset local --base-url http://127.0.0.1:11434/v1 --model <model>
| オプション | 内容 |
|---|---|
--preset <name> |
このプリセットを使います。 |
--name <name> |
プロファイルの名前。既定は、プリセットの名前です。 |
--model <model> |
使うモデル |
--base-url <url> |
ローカルサーバーのアドレス |
--no-default |
このプロファイルを既定にしません。 |
--no-test |
テストの呼び出しを行いません。 |
API キー
セットアップのコマンドが API キーを尋ねて、保存します。あとで保存や置き換えをするには、次を実行します。
sb config set-secret anthropic.api_key
非表示の入力欄でキーを入力します。キーの名前は、anthropic.api_key、openai.api_key、google.api_key です。
キーが保存されていないときは、環境変数 (ANTHROPIC_API_KEY、OPENAI_API_KEY、GEMINI_API_KEY) から読みます。
ローカルモデル
警告: 小さなローカルモデルは推奨しません。パラメーター数が 50 億から 100 億程度のモデルが書く要約は、品質が低いです。検索とエージェントは要約を信頼するので、間違った要約は、要約がないことより悪い結果になります。品質が Claude Haiku と同程度以上のときだけ、ローカルモデルを使ってください。
ソースごとに違うプロファイルを使う
ソースの種類ごとに、別のプロファイルを使えます。
sb config set summary.profile.default fast
sb config set summary.profile.slack.thread best
個別の設定がないソースには、summary.profile.default を使います。予約された名前 native は、「ソースのメモをそのまま使い、要約しない」という意味です。google.meet の既定です。
コストを管理する
ツールは、有料の要約に使う金額を制限します。既定の上限は次のとおりです。
| 上限 | 既定値 |
|---|---|
| 週 (月曜日に始まる) | $2 |
| 月 (1 日に始まる) | $10 |
週と月は、自分のタイムゾーンの 00:00 に始まります。設定 summary.budget.timezone でタイムゾーンを変えられます。
上限に達したとき:
sb syncとsb summarizeは、エラーなしで止まります。終了コードは 0 です。- 残りのエントリーは
pendingのままです。検索はできます。 - 次の週または月に、ツールは自動で続きを行います。
sb doctorがllm.budget_exhaustedの警告を表示します。
注意: 金額は見積もりです。トークン数と公式の価格から計算しており、請求額ではありません。プロバイダーのコンソールでも、利用額の上限を設定してください。
上限を表示、変更する
sb budget
sb budget --by-model
sb config set summary.budget.weekly_usd 5
sb config set summary.budget.monthly_usd 20
上限をなくすには、0 に設定します。
sb budget は、今週と今月の利用額、履歴、合計、呼び出しの回数を表示します。--weeks <n> と --months <n> で履歴の長さを、--by-model でモデルごとの利用額を表示できます。
ローカルモデルは無料なので、上限は適用されません。CLI の summarizer のうち、Claude Code はコストを報告します。codex_cli と antigravity_cli はコストを報告しないので、上限は適用されません。
有料の API モデルの価格が不明なときは、上限が有効な間は、そのモデルを使いません。llm.unpriced の問題を表示します。設定 llm.prices で価格を設定するか、上限をなくしてください。
先に見積もる
sb sync --estimate
sb summarize --estimate
保留中の要約のトークン数とコストの見積もりを表示します。残りの予算に収まるかも表示します。
コストを減らす
短いスレッドは、要約してもあまり得るものがありません。テキストが短く、検索インデックスにも入っているためです。短い項目の要約を省くには、最小の長さを上げます。
sb config set summary.min_chars 2000
メッセージ数が summary.min_messages (既定は 3) より少ない項目も、要約を省きます。
保留中のエントリーを要約する
sb summarize
状態が pending または failed のすべてのエントリーの要約を書きます。
| オプション | 内容 |
|---|---|
--max-summaries <n> |
要約を最大でこの数だけ書きます。 |
--max-cost <usd> |
見積もりのコストがこの額に達したら止まります。 |
--time-limit <time> |
この時間が過ぎたら止まります。 |
--retry-failed |
3 回失敗したエントリーも再試行します。 |
--profile <name> |
この実行では、このプロファイルを使います。 |
--estimate |
見積もりを表示します。要約は書きません。 |
要約に失敗したときは、次の実行で再試行します。3 回失敗 (summary.max_attempts) すると、--retry-failed を使うまで再試行しません。
別のモデルで要約を書き直す
一部のエントリーの要約を、より良いモデルで置き換えられます。生データを使います。
sb resummarize --source slack.thread --where-model claude-haiku-4-5 --profile best --estimate
sb resummarize --source slack.thread --where-model claude-haiku-4-5 --profile best
必ず先に --estimate を付けて実行してください。
| オプション | 内容 |
|---|---|
--profile <name> |
新しい要約を書くプロファイル |
--native |
Google Meet のエントリーの、Gemini のメモを復元します。 |
--where-model <model> |
このモデルが要約したエントリーだけを選びます。 |
--where-provider <name> |
このプロバイダーが要約したエントリーだけを選びます。 |
--account、--source、--since、--until、--entry |
エントリーを選びます。 |
--estimate |
見積もりを表示して止まります。 |
--dry-run |
実行する内容を表示します。 |
--limit <n> |
最大でこの数のエントリーを処理します。 |
--max-cost <usd>、--time-limit <time> |
実行の上限 |
--force |
すでに対象のプロファイルで書かれたエントリーも処理します。 |
--yes |
確認を求めません。 |
20 件より多くのエントリーを変更するときは、確認を求めます。生データのないエントリーは飛ばします。生データを取得するには、先に sb refetch を実行してください。
コマンドは止めて、もう一度実行できます。完了したエントリーは飛ばします。
注意: プロファイルのモデルを変更しても、ツールは変更を検知しません。
--forceを付けるか、新しい名前のプロファイルを作ってください。
インポートした要約
インポートバンドルの要約は、元のモデル名を保持します。バンドルにモデル名がないときは、sb stats はモデルを unknown と表示します。