# プロジェクト

承認済みのクライアント間でプロジェクトの事実、決定事項、引き継ぎメモを共有し、チャット間でコピーする必要をなくします。

- Canonical: https://docs.xmemo.dev/ja/docs/concepts/projects
- Locale: ja-JP
- Content-Locale: ja-JP
- Canonical-Content-Digest: e82c162591e96921f73cb208323c4238c42240cf414ab2fbfcb253a4c872a206
- Edition-Digest: af73391283ac28ddaeea50ebd651e5c5bce560b97e5890cc5cd2905ff7e7489e
- Source-Revision: sha256:d8d00f958675bca9a3263744deaa85017c659638f29847b5dc3b83ba37f78fc5

## Memory Console のプロジェクトワークスペース

プロジェクトワークスペースは、クライアントセッション間で記憶のグループ化、運用決定の追跡、およびアクティブなタスクの管理を行うための構造化されたコンテキスト境界を提供します。https://xmemo.dev/me#projects の Memory Console では、ワークスペースナビゲーションセクションに「Browse project workspaces, context, and project memories.」を目的としたプロジェクトパネルが配置されています。

- ワークスペースのメトリクス: コンソールには、Total Projects、Active、Attention Needed、Archived など、ワークスペース全体の最上位の統計情報が表示されます。
- ワークスペースのプロビジョニング: Create New Project を選択すると、Project Name（「Required, 1-128 characters.」）を必要とするガイド付きモーダルが開きます。インターフェースはリアルタイムの Project Identifier Preview（「Non-authoritative preview. The backend server assigns the authoritative project key.」）をレンダリングし、最大 2000 文字のオプションの Description を受け付けます。
- 個人境界: プロジェクトは現在、個人専用です。バックエンドサービスは team_id を含むワークスペース作成を拒否します（HTTP 400）。ドキュメントにはチームプロジェクトに関する約束はありません。
- 数値制限なし: プロジェクトワークスペースには数値的なプラン割り当てや人為的な作成上限はありません。アカウントはプランの上限ではなく、ワークフローのニーズに基づいてワークスペースをプロビジョニングします。

## 記憶の関連付け、ライフサイクル状態、および非破壊的な削除

記憶をプロジェクトに割り当てることで、接続された agent とダッシュボードレビューにスコープ付きのコンテキストが提供されます。プロジェクト詳細ビューは、プロジェクトの健全性メトリクスを集約し、リンクされたレコードの詳細な検査を提供します。

- プロジェクトヒーロー統計: 各ワークスペースのヒーローバーは、Memories:、Open TODOs:、および Decisions: のライブ集計を強調表示します。
- 記憶のライフサイクルフィルタリング: 記憶エクスプローラーは、レコードをライフサイクルステータス（Active、Superseded、Expired、および Archived）別に分類します。
- 非破壊的な関連付け解除: プロジェクトワークスペースから記憶レコードを削除すると、基盤となる記憶を破棄することなく関連付けが解除されます。確認ダイアログには、「This memory will be disassociated from this project workspace. The memory content remains in your personal memory archive, but will no longer appear in this project context.」と明記されています。
- 診断の隔離: カノニカル参照が欠落しているか名前空間の競合がある item は、Unindexed - Troubleshooting Only バッジが付いた Diagnostic Isolated Items の下に隔離され、破損したコンテキストが agent の recall に漏洩するのを防ぎます。

## Knowledge と Working のパーティションおよび Attention Needed ビュー

プロジェクトワークスペースは、アカウントで有効になっている場合、コンテキスト記憶のパーティショニングをサポートします（コンバージェンス評価モードはデフォルトでオフです）:

- Knowledge パーティション: 永続的な想起を目的とした、永続的な参照事実、長期的なアーキテクチャの決定事項、およびプロジェクトの規約を保持します。
- Working 記憶パーティション: 一時的なタスク状態、進行中の作業セッション、およびマイルストーンの完了時に破棄できるスクラッチパッドコンテキストを含みます。
- Attention Needed ビュー: アカウントでパーティション分割されたキュレーションがアクティブな場合に、未割り当ての候補、重複の疑いがあるレコード、または帰属保留中のレコードを強調表示します。
- Knowledge Base との違い: プロジェクトの Knowledge パーティションは、プロジェクト境界内のエピソード的な対話型記憶を分類します。対照的に、Knowledge Base は、独立したストレージを通じて管理される、精選された複数リビジョンの参照ドキュメントを提供します。精選されたドキュメントについては、/docs/concepts/knowledge-bases にある Knowledge Bases コンセプトガイドを参照してください。

## プロジェクトはscopeとpathの規約です

ベースラインの記憶スコープ設定について、XMemo は個別のプロジェクトオブジェクトを必要としません。プロジェクトは記憶が書き込まれるスコープとその内部の論理パス名前空間によって表現されるため、同一アカウントで相互干渉することなく多数のプロジェクトを保持できます。その記憶境界の上に、Project Workspaces はクライアント間のコラボレーションのために構造化されたプロジェクト状態（Project API、TODO 追跡、記録された決定事項）を階層化します。

- projects/<name>/decisions などの安定したパスの下にプロジェクトの事実を書き込みます。
- 検索が制限された状態を維持するために、書き込みと読み取りの両方でプロジェクトの scope を渡します。
- Project Workspaces は、基盤となる記憶境界の上に、Project API、永続的な TODO、記録された決定事項を含む構造化されたプロジェクト状態を階層化します。
- プロジェクトは現在、個人専用のままです。チームスコープのプロジェクトワークスペースは API によって拒否されます。

## プロジェクトの決定事項を書き込む

書き込み時にレコードをプロジェクトの path と scope に関連付けます。事前に他の設定を行う必要はありません。

```ts
await client.recordDecision(
  "Remote agents should use network MCP, not SSH stdio",
  { source: "codex", scope: "memory-os" },
);
```

## 別のクライアントでプロジェクトを続ける

2 番目のクライアントが同じ scope を呼び出すと、ユーザーが再度説明することなくプロジェクトコンテキストが復元されます。

```ts
const context = await client.recallContext("recent agent integration progress", {
  scope: "memory-os",
  maxItems: 6,
  maxTokens: 1200,
});
```

## Agent ツールとクライアントプロファイルアクセス

認可された agent は、config/mcp-documentation-contract.json で定義されたツールを通じて、特定のクライアントプロファイル全体でプロジェクトと対話します。

- chatgpt-public、generic-public、および public-only: project、get_project_summary、および open_project_workspace を公開します。
- claude-plugin: project および get_project_context を公開します。
- cursor-plugin および ordinary-full: get_project_context、update_project_todo、および update_project_decision を公開します。
- チャット内ウィジェットの違い: open_project_workspace を介して開かれる ChatGPT Project Workspace ウィジェットは、対話型のチャット内カードインターフェースです。https://xmemo.dev/me#projects にある完全な Web ベースの Memory Console とは異なります。

## 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 が起動ごとに再生成していないことを確認します。
