# スコープ

クライアントやエージェントがプロジェクトとセッションの間を移動しても、ユーザー所有メモリの境界を明確に保ちます。

- Canonical: https://docs.xmemo.dev/ja/docs/concepts/scopes
- Locale: ja-JP
- Content-Locale: ja-JP
- Canonical-Content-Digest: 4f379b3876aebec1fc076f80ef4f0a7d3e5380ae604a81c3738b73f9f0b96014
- Edition-Digest: 666aa9eece39bd8c2203fcb2f0470c63e7c53dd7e783948134aa98331dafba15
- Source-Revision: sha256:089b330ed72fcdfbd82d9f260a10b5a4b898c74d5792d268a6626bfd647790b1

## Bucketとscopeは異なる境界です

Bucketはストレージのnamespaceです。Scopeは取得時に使うプロジェクト、セッション、またはチームの境界です。両者を分けることで、1つのアカウントに複数のプロジェクトを保持しても、メモリが互いに混ざりません。

- bucket — ストレージnamespace。通常はagent process memoryのworkです。
- scope — 取得時に適用する、明示的なproject/session/teamのグループです。
- path — scope内の論理的位置。ILIKE patternでフィルタリングします。
- team_id — 呼び出し元がすでにアクセスできる1つのteamに取得を制限します。

## 1つのscope内で取得する

searchにscopeを渡すと、結果を1つのプロジェクト境界内に保てます。Scopeは認証済みtokenに対して検証されるため、アクセス範囲を広げることはできません。

```http
GET /v1/memories/search?query=MCP%20token%20context&scope=memory-os&memory_type=semantic&limit=5
X-API-Key: <your-assigned-api-key>
```

## SDKからscopeを指定する

TypeScript clientも同じ境界引数を受け取るため、captureとrecallは呼び出し元が認可されたプロジェクト内にとどまります。

```ts
const search = await client.search('MCP token context', {
  scope: 'memory-os',
  memoryType: 'semantic',
  candidateCount: 20,
  explain: true,
});
```

## ChatGPT ユーザー

bearer token をチャットに貼り付けずに、ChatGPT が XMemo の設定、プロジェクト事実、意思決定、TODO に永続的にアクセスできるようにします。

ChatGPT/OpenAI app の OAuth フローで hosted XMemo MCP server に接続し、XMemo アカウントに memory:read と memory:write の許可を承認します。

合成の設定またはプロジェクトメモを保存し、新しいチャットを開始してから、作業を続ける前に ChatGPT に XMemo 経由でそれを呼び出させます。

OAuth が失敗する、またはツールが表示されない場合は、direct token を作成する前に、ホストアプリで MCP server からサインアウトし、XMemo server URL を再接続して再試行します。

## Copilot / Codex 開発者

リポジトリの判断、コーディング規約、バグ修正メモ、タスク履歴を IDE と CLI エージェント間で持ち運べます。

利用可能な場合は、VS Code / GitHub Copilot および Gemini CLI に OAuth を使用してください。Copilot CLI、Codex、Cursor、またはその他の直接 MCP クライアントの場合は、XMEMO_KEY をローカル環境またはシークレットストアに保持し、安定した XMEMO_AGENT_INSTANCE_ID を設定してください。

コードベースの判断またはバグ修正を記録し、次の IDE または CLI エージェントに、編集前に関連する XMemo コンテキストを呼び出させます。

呼び出し結果が空の場合は、選択した MCP 設定パス、direct client 用の XMEMO_KEY 環境変数、ホストアプリ内の古い OAuth 認証情報を確認します。

## チーム / エンタープライズ pilot owner

アカウント制御、ソース attribution、エクスポート/削除ワークフロー、レビュー担当者向けに安全な設定証跡で共有メモリを評価します。

保護された XMemo workspace を作成または開き、承認済みユーザーを招待してから、readiness badges に従って OAuth またはスコープ付き direct credential で各クライアントを接続します。

pilot メンバーに合成のチームメモリを保存してもらい、XMemo でソース attribution を確認し、削除/エクスポートとサポート経路をレビューします。

メンバーが接続できない場合は、新しい token を発行する前に、ロール権限、OAuth 承認、クライアント readiness 状態、サポートガイダンスを確認します。

## 自律エージェント operator

headless またはスケジュール済みエージェントが進捗を記録し、過去の判断を取得し、安定した非秘密のインスタンス ID を保持できるようにします。

/api/v1/mcp/config/autonomous-agent を取得します。runner が OAuth + custom headers をサポートする場合は auth_modes.oauth を優先し、完全 headless runner の場合のみ secret store の XMEMO_KEY で auth_modes.xmemo_key を使います。

XMemo に進捗を書き込む合成タスクを 1 つ実行し、runner を再起動して、同じ XMEMO_AGENT_INSTANCE_ID でその進捗を呼び出せることを確認します。

attribution が変わる、または呼び出し結果がインスタンス間で分かれる場合は、XMEMO_AGENT_INSTANCE_ID を git の外に永続化し、runner が起動ごとに再生成していないことを確認します。
