Skip to main content

Mind Key vs JWT — どちらを使うべきか

判断ガイド:エージェントのデータアクセスには Mind Key、アカウント管理には JWT。


Mind Key vs JWT — どちらを使うべきか

Synapse には 2 つの認証トークンがあります。誤った方を選ぶと 401 エラーになります。本ガイドは明確な判断基準を提供します。

クイック判断表

やりたいこと 使用するもの
メモリの保存/再取得 Mind Key
チャットメッセージの送信/ポーリング Mind Key
タスク管理 Mind Key
スクリプトの保存 Mind Key
Webhook の登録 Mind Key
コンピュータの制御 Mind Key(ユーザー側)/ Computer Token(エージェント側)
ユーザーアカウントの登録 なし(パブリック)
ログイン なし(パブリック)
mind の作成/一覧/削除 JWT
他のユーザーとの mind 共有 JWT
Web Push 通知の購読 JWT
監査ログの閲覧 Mind Key

シンプルなルール

**単一 mind のデータに触れる場合 → Mind Key。** **アカウントや mind メタデータを管理する場合 → JWT。**

Mind Key — データアクセス権

Mind Key は1 つの mind のデータへのアクセスを許可します。期限切れにならない長期間のトークンです(mind が削除されるまで)。以下に最適です。

  • セッションをまたいでメモリを永続化する LLM エージェント
  • バックグラウンド cron ジョブ
  • MCP サーバー設定
  • Webhook 連携
  • メモリを読むモバイルアプリ

Mind Key でできること

  • GET /memory/recall — この mind の全メモリを読む
  • POST /memory — メモリの保存/更新
  • GET /chat/poll — チャットメッセージの読み取り
  • POST /chat/reply — チャットメッセージの送信
  • GET /mind/tasks — タスクの一覧
  • POST /mind/task — タスクの作成
  • POST /script — スクリプトの保存
  • POST /webhooks — Webhook の登録
  • POST /computers/:id/commands — コンピュータコマンドのキューイング

Mind Key でできないこと

  • mind の作成/一覧/削除(JWT が必要)
  • 他のユーザーとの mind 共有(JWT が必要)
  • ユーザーアカウント情報の閲覧(JWT が必要)
  • Web Push の購読(JWT が必要)

JWT — アカウント管理トークン

JWT はユーザーアカウントを認証します。7 日後に期限切れとなり、複数の mind にまたがる、または他のユーザーを含むアカウントレベルの操作に使用されます。

JWT でできること

  • POST /minds — 新しい mind の作成(新しい Mind Key を返す)
  • GET /minds — このユーザーの全 mind の一覧
  • DELETE /minds/:id — mind の削除
  • POST /sharing — 他のユーザーとの mind 共有
  • POST /push/subscribe — Web Push 通知の購読
  • GET /sharing — mind 共有の一覧

JWT でできないこと

  • メモリの読み書き(Mind Key が必要)
  • チャットメッセージの送信(Mind Key が必要)
  • タスク管理(Mind Key が必要)
  • Webhook の登録(Mind Key が必要)

特殊ケース:Computer Token

/computers/me/* エンドポイント(エージェント向け、screen-remote-agent 用)は第 3 のトークン種別である Computer Token を使用します。このトークンはインストールコードを引き換える際に POST /computers/register が返し、1 つの登録済みコンピュータに固有です。

エンドポイント 認証
GET /computers/me/poll Computer Token
POST /computers/me/commands/:cid/result Computer Token
GET /computers/list Mind Key または JWT
POST /computers/:id/commands Mind Key または JWT

よくあるパターン

パターン 1:単一 LLM エージェント

  1. 一度登録 → JWT を取得
  2. 1 つの mind を作成 → Mind Key を取得
  3. LLM はすべてに Mind Key を使用

パターン 2:マルチプロジェクトエージェント

  1. 一度登録 → JWT を取得
  2. 複数の mind を作成(work、personal、project-x)→ 複数の Mind Key を取得
  3. LLM はコンテキストに応じて異なる Mind Key を読み込み

パターン 3:チーム共有

  1. ユーザー A が mind を作成 → Mind Key A を取得
  2. ユーザー A が JWT でユーザー B と共有(POST /sharing
  3. ユーザー B は自身の JWT でアクセス可能
  4. LLM アクセスには、ユーザー B は自身の Mind Key を作成する必要がある(または A のものを使用)

パターン 4:MCP サーバー

MCP サーバーは常に Mind Key を使用します(SYNAPSE_MIND_KEY 環境変数で設定)。1 つの MCP サーバーインスタンス = 1 つの mind。マルチ mind アクセスには、複数の MCP インスタンスを動かすか、クライアント側で mind 切り替えを実装してください。

トークン形式のチートシート

トークン 形式
Mind Key mk_ + 36 文字 mk_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789
JWT eyJ + base64 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Computer Token ct_ + 36 文字 ct_xYzAbCdEfGhIjKlMnOpQrStUvWxYz0123456789

次のステップ