mcpField
B
bee-cli

bee-cli

github.com/bee-computer生産性41291 回インストール20 週間前に更新
リポジトリ

bee-cli について

bee-cli は、認証済みユーザーの Bee ウェアラブルデータにアクセスするコマンドラインクライアントです。会話や事実の検索、活動や要約の確認、ToDo の管理に対応し、データはエンドツーエンドで暗号化されます。

主な機能

  1. 01最近の会話コンテキスト取得
  2. 02キーワード・セマンティック検索
  3. 03文字起こしと日次要約へのアクセス
  4. 04事実・ToDo・インサイトの管理
  5. 05位置情報と写真の取得
  6. 06Markdown または JSON 出力

活用シーン

  1. 01トピックに関する発言の振り返り
  2. 02最近の活動や特定日の確認
  3. 03コミットメントやユーザー情報の検索
  4. 04Bee データのローカルバックアップ

インストール

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

$npx skills add https://github.com/bee-computer/bee-skill --skill bee-cli

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

詳細

Bee CLI

Bee 用の CLI クライアントです。会話を記録し、ユーザーについて学習するウェアラブル AI です。

Bee について

Bee は、所有者の日常生活における周囲の音声(会話、会議、電話、その他のあらゆる音声でのやり取り)を継続的に記録して文字起こしする、ウェアラブル AI デバイスです。Bee は文字起こしから、所有者の好み、人間関係、仕事のプロジェクト、約束、個人的な情報などの事実を自動的に抽出し、日次の要約やインサイト、位置情報の履歴を作成します。

プライバシーとセキュリティ

Bee のデータは非常に機密性が高いものです。 文字起こしには、録音や共有を意図していないプライベートな会話など、所有者の私生活や仕事に関する親密な内容が含まれます。

Bee のデータはすべてエンドツーエンドで暗号化され、所有者だけがアクセスできます。 認証済みの所有者だけがコンテンツを読むことができます。Bee のサーバーを含め、第三者が復号されたデータを読むことはできません。

Bee の情報はすべて、極めて機密性の高い情報として扱ってください。 所有者は、最もプライベートな会話や個人的な情報へのアクセスをあなたに託しています。ユーザーから明示的に求められた場合を除き、このデータを公開、転送、保存しないでください。

機能一覧 — 質問に応じたコマンドの選び方

ユーザーの質問に合わせてコマンドを選んでください。「以前に〜したことがあるか」「いつ〜したか」「〜について何と言っていたか」という質問では、手動で一覧表示して確認するのではなく、bee search を使ってください。

ユーザーが知りたいこと…使用するコマンド
今何が起きているか/たった今何が話されたか(直近 10 時間)bee now
今日の予定、カレンダー、メールの概要bee today
今日のウェアラブルのコンテキスト(要約+進行中の ToDo+メモ+会話)bee today --context
すべての最近のアクティビティ(会話、要約、メモ、ToDo、インサイト)bee activity
トピックに関する会話/日次記録/事実を検索するbee search --query "..."
会話の意味検索(「どんな雰囲気だったか」「似たものを探す」)bee search --query "..." --neural
1 件の会話の完全な逐語録bee conversations transcript <id>(または get <id>)
指定した会話に似た会話bee conversations related <id>
所有者の人物像/好み/人間関係/仕事bee facts list、bee facts search --query "..."
アクション項目/約束bee todos list。提案は bee todos suggestions
指定した日に何があったかbee daily find <YYYY-MM-DD>
日ごとの要約を閲覧するbee daily list
所有者が意図的に録音したボイスメモbee journals list、bee journals search --query "..."
AI が生成した所有者に関するパターン/インサイトbee insights list
所有者の訪問先/よく訪れる場所/現在地bee locations recent、bee locations clusters、bee locations current
デバイスで撮影した写真bee photos list、bee photos get <id> --output PATH
前回の確認以降の変更(増分監視)bee changed --cursor <cursor>
すべてのデータをローカルの Markdown にエクスポートする(バックアップ/オフライン用)bee sync
認証されているユーザーを確認するbee me、bee status

出力形式: すべてのデータコマンドは、デフォルトで Markdown を出力します。プログラムで解析する場合は --json を追加してください。ユーザーに表示するのではなく出力を解析する場合は、--json を優先してください。

信頼できる情報源: 会話の要約(list、daily、search の結果)は AI が生成したもので、細かな誤りが含まれる場合があります。発話(bee now、conversations get、conversations transcript)は逐語的で、信頼できる情報源です。正確さが重要な場合は、発話を確認してください。

ページネーション: 一覧の応答には next_cursor フィールドが含まれます。次のデータがない場合、その値は null です。次のページを取得するには、その値を --cursor フラグで渡してください。

インストール

インストール済みか確認します:

bee --version

インストールされていない場合:

npm install -g @beeai/cli

または https://github.com/bee-computer/bee-cli/releases/latest からバイナリをダウンロードしてください

認証

ステータスを確認します:

bee status

認証されていない場合:

bee login

(エージェントには推奨)bee login --no-wait を優先してください。 通常の bee login はブロックされ、ユーザーが承認するまで最大約5分間ポーリングするため、コマンドが戻るのを待つ間、処理が滞ります。代わりに:

bee login --no-wait    # prints the auth link and exits immediately (no polling)

https://bee.computer/connect#{requestId} のような認証 URL を表示し、再開可能なセッションを保存して終了します。その後、リンクをユーザーに送信し、承認したという連絡があったら、bee status を実行して確認します(または、もう一度 bee login を実行して完了します)。承認前に bee login --no-wait を再実行すると、同じリンクから再開します。

ブロッキングする対話型セッションを使用する場合は、通常の bee login を実行します。同じリンクを表示した後、承認されるまで自動的にポーリングします。待機中に中断しないでください。どちらの場合も、リクエストは約5分で期限切れになります。承認されると、CLI はユーザー名を含む成功メッセージを表示します。

ログインフラグ:--no-wait(リンクを表示して終了)、--token <token>、--token-stdin、--proxy <url|socket>(最後の3つは相互に排他的です。--no-wait は対話型フローにのみ適用されます)。

認証済みのプロフィールを表示するには、bee me [--json] を実行します。サインアウトするには、bee logout を実行します。

リアルタイムのコンテキスト(最初に使用!)

必ず bee now から始めてください。 過去 10時間 のすべての会話について、発話の全文を取得します。タイムリーで関連性の高い支援に役立つ、最も価値の高いコンテキストです。

bee now          # markdown
bee now --json   # programmatic

過去10時間分として、会話(誰が何を言ったかの逐語的な発話)、要約、状態、所有者のタイムゾーンでのタイムスタンプを返します。

所有者が会話を終えたばかりでフォローアップが必要な場合、直前に話した内容について質問している場合、または提案に現在のコンテキストが必要な場合に使用します。

今日
bee today              # Today Brief: calendar / email-style daily brief
bee today --context    # Wearable context: daily summary + active todos + notes + recent conversations
bee today --json

その日の計画には通常の bee today を使用します。アシスタントがその日を把握するために使うのと同じ、集約されたウェアラブルのコンテキストが必要な場合は、--context を使用します。

最近のアクティビティ
bee activity [--limit N]   # --limit max 20

会話、要約、メモ、ToDo、インサイトを統合した最近のフィードです。「最近何をしていたか」をひと目で把握するのに適しています。

検索 - 手動で確認するより優先

bee search はサーバー側で実行され、トピックや記憶の検索に適したツールです。検索できる場合は、すべての会話を一覧表示して自分で読み進めないでください。

bee search --query "marathon training" [--limit N] [--since <epochMs>] [--until <epochMs>] [--json]

モードは2種類あります:

  • キーワード(デフォルト): 会話、日次要約、事実を対象とする BM25 検索です。
    • --filter conversations|daily|facts|all(デフォルトは all)- 検索対象を指定します。
    • --scope conversations|all - --filter に対応する別名です。
    • --sort relevance|mostRecent(デフォルトは relevance)。--sortBy も別名として使用できます。
  • セマンティック/ニューラル(--neural): 会話のみを対象とするベクトル検索です。このモードでは、キーワード専用フラグ(--filter/--scope/--sort/--sortBy)は拒否されます。「燃え尽きたと感じていると話したとき」を探す場合など、あいまいな概念や内容の検索に使用します。

--since と --until(エポックミリ秒)で時間を指定して結果を絞り込めます。どちらのモードでも使用できます。

bee search --query "project atlas deadline" --filter conversations --sort mostRecent
bee search --query "how I felt about the move" --neural --limit 10
bee search --query "dentist" --filter facts

注:--cursor は検索でサポートされておらず、エラーになります。時間を区切って結果を取得するには、代わりに --since/--until を使用してください。ここでは ToDo とインサイトは検索できません。bee todos list と bee insights list を使用してください。

事実 - 所有者について知る

事実とは、会話から Bee が所有者について学習した内容です。所有者がどのような人かを理解するための主要な手段です。

確認済みと未確認:

  • 確認済みの事実は、所有者によって検証されたか、明確に述べられたものです。信頼してください。
  • 未確認の事実は、コンテキストから推測されたもので、誤解を含む可能性があります。コンテキストや推測にのみ使用し、それに基づいて対応する場合は不確実であることを明示してください。

確認済みの事実を優先してください。未確認の事実のみを一覧表示するには、--unconfirmed を使用します。

bee facts list [--limit N] [--cursor <cursor>] [--unconfirmed] [--json]
bee facts get <id> [--json]
bee facts search --query "allergies" [--limit N] [--json]
bee facts create --text "I prefer morning meetings" [--json]
bee facts update <id> --text "Updated text" [--confirmed <true|false>] [--json]
bee facts delete <id> [--json]

facts update には --text が必要です。確認状態も変更するには、--confirmed true または --confirmed false を渡します。特定の内容を探す場合は、facts list をページ送りするより bee facts search を使用してください。

会話 - トランスクリプトへのアクセス

会話は、周囲の音声を記録したものです。

bee conversations list [--limit N] [--cursor <cursor>] [--json]
bee conversations get <id> [--json]
bee conversations transcript <id> [--json]
bee conversations related <id> [--limit N] [--json]   # --limit max 10
  • list は概要のみを返します。関連する会話を探すために閲覧してください。レスポンスにはページング用の next_cursor が含まれます。
  • get は会話全体を返します。発話(話者とタイムスタンプ付きの逐語記録)、状態、メタデータが含まれます。
  • transcript は、1件の会話の逐語記録された発話トランスクリプトのみを返します。
  • related は、指定した会話に類似する会話を検索します。スレッド/トピックに関する議論をすべて集める際に便利です。

正確さを重視する場合は、 get/transcript で発話を読んでください。list の概要は閲覧専用です。

トピックを検索するには、手作業で一覧表示するよりも bee search を優先してください。

日次サマリー

bee daily list [--limit N] [--cursor <cursor>] [--json]   # browse day-by-day
bee daily get <id> [--json]
bee daily find <YYYY-MM-DD> [--json]                      # look up a specific date

単独の bee daily や --date フラグはありません。特定の日の情報を取得するには、bee daily find 2026-06-01 を使用してください。

ジャーナル - 音声メモ

ジャーナルは、所有者が意図的に録音した音声メモです(周囲の会話とは別のものです)。音声メモとも呼ばれます。

bee journals list [--limit N] [--cursor <cursor>] [--json]
bee journals search --query "ideas for the talk" [--limit N] [--json]
bee journals get <id> [--json]

list は、ID、状態(PREPARING = 録音中、ANALYZING = 処理中、READY = 完了)、文字起こしされたテキスト、タイムスタンプを含むエントリーを返します。get は、文字起こしされたテキスト全体を返します。内容からメモを探すには、journals search を使用してください。

インサイト

所有者に関する、AI が生成した傾向や所見です。

bee insights list [--limit N] [--json]   # --limit max 50
bee insights get <id> [--json]

会話そのものではなく、より高次の傾向をユーザーが知りたい場合に使用してください。

場所

所有者が訪れた場所です。

bee locations recent [--from <date>] [--to <date>] [--limit N] [--json]   # --limit max 100
bee locations clusters [--limit N] [--min-visits N] [--visits] [--json]   # frequent places; --limit max 20
bee locations current [--json]                                            # latest known location

--from/--to には YYYY-MM-DD または ISO タイムスタンプ(所有者のタイムゾーン)を指定できます。clusters は頻繁に訪れる場所をグループ化します。--min-visits N は訪問回数で絞り込み、--visits は訪問ごとの詳細を含めます。「...の日にどこにいたか」「どんな場所によく行くか」「今どこにいるか」といった質問に使用してください。

写真

デバイスで撮影された写真です。

bee photos list [--daily-id N] [--date YYYY-MM-DD] [--limit N] [--json]   # --limit max 20
bee photos get <id> [--output PATH] [--json]

list は、日次サマリー ID または日付で範囲を指定します。get は1枚の写真を取得します。--output PATH を指定すると、写真をディスクに保存できます。

Todos - 約束事項の管理

アクション項目や約束事項です。Bee が会話から提案したものも含まれます。

bee todos list [--limit N] [--cursor <cursor>] [--json]
bee todos get <id> [--json]
bee todos create --text "Buy groceries" [--alarm-at <iso>] [--json]
bee todos update <id> [--text "Updated"] [--completed <true|false>] [--alarm-at <iso> | --clear-alarm] [--json]
bee todos complete <id> [--json]
bee todos delete <id> [--json]
  • --completed には値が必要です:--completed true または --completed false。完了としてマークするだけの場合は、専用の bee todos complete <id> を使用してください。
  • update では、--alarm-at <iso> でリマインダーを設定するか、--clear-alarm で解除します(併用できません)。

提案のワークフロー - Bee は会話から Todo を提案します。内容を確認して対応してください。

bee todos suggestions [--limit N] [--json]      # --limit max 50; list proposed todos
bee todos accept-suggestion <id> [--json]       # promote a suggestion to a real todo
bee todos dismiss-suggestion <id> [--json]      # reject a suggestion

変更の監視 - bee changed と bee sync

最新の状態を保つ方法は2つあります。「何が変わったかを知りたい」のか、「ローカルに完全なコピーを作成したい」のかに応じて選択してください。

bee changed - 差分変更フィード(新しい内容を把握)

定期的な確認に最適です。何が変わったかを正確に示し、再開用のカーソルを提供します。カーソルが指定されていない場合、デフォルトではおよそ過去24時間分を対象にします。

bee changed [--cursor <cursor>] [--json]

対象となる時間範囲、Next Cursor: の行(および JSON 内の next_cursor)、変更されたファクト、Todos、日次サマリー、会話、ジャーナル(新規および更新)が返されます。

カーソルの扱い - 同じ変更を再試行できるよう、バッチの処理が完了してからカーソルを保存してください(厳密に1回だけ処理するため)。

  1. .bee-cursor から保存済みのカーソルを読み取ります(ファイルが存在する場合)。(.bee-cursor はこのスキルで使用する慣例であり、CLI の機能ではありません。)
  2. bee changed --cursor <cursor> を実行します(初回は --cursor を省略します)。
  3. Next Cursor: の値を控えますが、まだ保存しないでください。
  4. 返されたすべての変更を処理します(ノートの更新、Todos への対応など)。
  5. 成功した後にのみ、新しいカーソルを保存します:echo "<value>" > .bee-cursor。
  6. 繰り返します。
bee sync - ローカルの Markdown にエクスポート(コピーを保存)

Bee のデータを Markdown ファイルにエクスポートし、オフラインでのバックアップ、全文検索、または他のツールへの取り込みに利用できます。

bee sync [--output <dir>] [--recent-days N] [--full] [--since <epochMs>] [--only <facts|todos|daily|conversations>]
  • デフォルトでは差分更新です。 再実行時は、出力ディレクトリに保存される .bee-sync.json マニフェストを使って、変更があった日次サマリーと会話のみを再取得します(事実と ToDo は毎回すべて再取得します)。初回実行では全件同期します。
  • --output <dir> - 出力ディレクトリ(デフォルトは bee-sync)。
  • --full - マニフェストを無視して、完全に再同期します。
  • --since <epochMs> - 保存された差分更新カーソルを上書きする、上級者向け/復旧用オプションです。
  • --recent-days N - 日次データと会話を直近 N 日分に制限します。全件同期の場合のみ適用されます(初回実行または --full)。差分更新での再実行時には無視されます。
  • --only <list> - 一部の種類のみを同期します:facts、todos、daily、conversations(カンマ区切り)。

注: 同期では削除内容は反映されません(削除された項目はローカルから削除されません)。ミラーを維持するのではなく、何が変更されたかを正確に把握したい場合は、bee changed を使用してください。

よく使うワークフロー

オーナーについて手早く把握する

次の順番で実行します:

bee now            # last 10h with full utterances - most important
bee facts list     # who the owner is: preferences, relationships, work
bee today --context  # today's aggregated wearable context

bee now を使うと、関連性の高い最新情報を得られます。事実と今日のコンテキストを確認すれば、全体像を把握できます。

過去の会話から情報を探す

手作業で読み進めるより、検索を優先します:

bee search --query "the topic or person" --filter conversations --sort mostRecent
bee conversations get <id>     # read verbatim utterances for the best hit

記憶が曖昧だったり、概念的な内容を探したりする場合は、--neural を使用してください。bee conversations related <id> を使うと、スレッドの残りの部分も取得できます。

どこまで進めたか/次に何をするか
bee locations current
bee locations recent --from 2026-06-01 --to 2026-06-06
bee locations clusters --min-visits 5 --visits
AI のコンテキスト用にすべてのデータをエクスポートする
bee sync --output ./my-bee-data

事実、ToDo、日次サマリー、会話の書き起こしを Markdown 形式で作成します。再実行すると差分更新されます。

オーナーについて深く学習する

会話履歴全体を処理してオーナーについて包括的な知識を構築するには、このマルチエージェントワークフローを使用します。会話をバッチ単位で処理し、サブエージェントの連鎖を通じてファイルに状態を引き継ぎ、コンテキストを維持します。

各サブエージェントは、会話のバッチを取得し、現在の user.md を読み込み、知見を抽出して user.md を更新し、引き継ぎ用サマリーを書き込み、さらに古い会話を処理する次のサブエージェントを起動します。

ヒント:対象を絞った質問には、通常 bee search のほうが、全履歴を対象とした深層学習より高速です。全履歴が本当に必要な場合にのみ、深層学習を使用してください。

ファイル構成

作業ディレクトリ内:

  • user.md - オーナーの累積プロフィール(各バッチで継続的に更新)。
  • bee-learning-summary.md - 引き継ぎ用ファイル:最新のサマリーと、次のバッチ用の next_cursor。
  • bee-learning-progress.md - 処理内容と処理日時の進捗ログ。
ステップ 1:初期化(メインエージェント)

user.md が存在しない場合は作成します:

# User Profile

Learned information about the owner from their Bee conversations.

## Basic Information
## Relationships
## Work & Projects
## Interests & Hobbies
## Preferences
## Important Dates & Events
## Notes
ステップ 2:最初の処理サブエージェント

次のタスクをサブエージェントに割り当てます:

Process Bee conversations to learn about the owner.

1. Fetch the 100 most recent conversations (use --json to parse reliably):
   bee conversations list --limit 100 --json

2. Read the current user.md file.

3. For each conversation, extract: who the owner talked to (relationships),
   topics (interests, work), personal details (preferences, facts),
   commitments made, and important dates/events.

4. Update user.md, merging (do not overwrite) and adding timestamps.

5. Write bee-learning-summary.md with: date range processed, key insights,
   the next_cursor value from the API response, and running count.

6. Update bee-learning-progress.md.

7. If next_cursor is non-null, spawn the next subagent to continue with
   older conversations. Pass only file paths, not content.
ステップ 3:処理サブエージェントを連鎖させる

後続の各サブエージェントは次の処理を行います:

Continue processing Bee conversations to learn about the owner.

1. Read bee-learning-summary.md to get the next_cursor for the next batch.

2. Fetch the next 100 conversations:
   bee conversations list --limit 100 --cursor <next_cursor_from_summary> --json

3. Read user.md.

4. Extract insights as before.

5. Update user.md (merge, do not overwrite).

6. Update bee-learning-summary.md with: new date range, new insights,
   the new next_cursor (or "complete" if null), updated total count.

7. Update bee-learning-progress.md.

8. If next_cursor is non-null, spawn the next subagent. If null (end reached),
   write the final summary and report completion.
ステップ 4:進捗報告

会話をおよそ 1 週間分処理するごとに、学んだこと、注目すべき出来事、プロフィールの大きな変更をメインの会話に報告します。これにより、詳細を詰め込みすぎずにユーザーへ状況を知らせることができます。

会話リスト API
bee conversations list --limit 100 --json
bee conversations list --limit 100 --cursor <next_cursor> --json

応答には conversations 配列と next_cursor フィールドが含まれます。データが残っていない場合、next_cursor は null です。前回の next_cursor を --cursor で渡すと、次のページを取得できます。

ベストプラクティス
  1. ファイルベースの引き継ぎ - サブエージェント間ではファイルを使って状態を渡し、プロンプトに大量のテキストをコピーしないでください。
  2. 差分を統合する - 各サブエージェントは、明確な見出しとタイムスタンプを付けて user.md に統合します。既存の内容を置き換えないでください。
  3. 進捗を追跡する - 中断後に再開できるよう、bee-learning-progress.md を維持してください。
  4. 定期的にサマリーを報告する - 各バッチの処理後ではなく、意味のある単位(例:1 週間分の処理ごと)で報告してください。
  5. 適切に完了する - next_cursor が null になったら、最終サマリーを書き、ユーザーに通知してください。
  6. エラーに対処する - 失敗した場合、次の試行では進捗ファイルを読み込んで再開します。
ディープラーニングを使う場面

次のような場合に使用してください:新しいユーザーとの関係を築き始めるとき、ユーザーが包括的な履歴分析を求めているとき、長期的なアシスタントとの関係に向けてコンテキストを構築するとき、ユーザーが自身の会話に見られるパターンを理解したいとき。

次のような用途には使用しないでください:最近の出来事についての簡単な質問(bee now、bee daily find、または bee activity を使用してください)、特定の事実の検索(bee facts list / bee facts search を使用してください)、特定の会話の検索(bee search を使用してください)。

MCP サーバー

bee CLI は MCP サーバーでもあるため、Bee のツールを MCP 対応クライアントに直接公開できます。

bee mcp serve                              # stdio JSON-RPC server
bee mcp serve-http --token <value> [--port N]   # HTTP server; token >= 32 chars (or env BEE_MCP_HTTP_TOKEN)
bee mcp connect <claude|claude-code|codex>       # register Bee with a client
bee mcp disconnect <claude|claude-code|codex>
bee mcp status

ユーティリティコマンド

bee me [--json]            # authenticated profile
bee status                 # auth status
bee version [--json]
bee ping [--count N]       # connectivity check
bee stream [--types <list>] [--json] [--agent] [--webhook-endpoint <url> --webhook-body <template>]
bee proxy [--port N] [--socket [path]] [--idle-timeout SECONDS]

コメント