# 프로젝트

승인된 클라이언트 간에 프로젝트 사실, 결정, 인수인계 메모를 전달하되 채팅 사이에서 복사하지 않습니다.

- Canonical: https://docs.xmemo.dev/ko/docs/concepts/projects
- Locale: ko-KR
- Content-Locale: ko-KR
- Canonical-Content-Digest: e82c162591e96921f73cb208323c4238c42240cf414ab2fbfcb253a4c872a206
- Edition-Digest: b9176f64915e605ddf4565a1305560b681957a867f51187543c4e0816905fa6e
- 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). 문서에서는 팀 프로젝트를 약속하지 않습니다.
- 숫자 제한 없음: 프로젝트 워크스페이스에는 숫자 플랜 할당량이나 인위적인 생성 제한이 없습니다. 계정은 플랜 할당량이 아닌 워크플로 요구 사항에 따라 워크스페이스를 프로비저닝합니다.

## 메모리 연결, 수명 주기 상태 및 비파괴적 제거

메모리는 연결된 에이전트 및 대시보드 검토를 위해 범위가 지정된 컨텍스트를 제공하도록 프로젝트에 할당됩니다. 프로젝트 세부정보 뷰는 프로젝트 상태 메트릭을 집계하고 연결된 레코드에 대한 세분화된 검사를 제공합니다.

- 프로젝트 히어로 통계: 각 워크스페이스 히어로 바는 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 아래에 격리되어 손상된 컨텍스트가 에이전트 recall로 유출되는 것을 방지합니다.

## Knowledge 대 Working 파티션 및 Attention Needed 뷰

계정에 활성화된 경우 프로젝트 워크스페이스는 컨텍스트 메모리 파티셔닝을 지원합니다(수렴 평가 모드는 기본적으로 꺼져 있음):

- Knowledge 파티션: 지속적인 검색을 위한 영구 참조 사실, 장기적인 아키텍처 결정 및 프로젝트 규칙을 유지합니다.
- Working 메모리 파티션: 마일스톤 완료 시 폐기할 수 있는 일시적인 작업 상태, 진행 중인 작업 세션 및 스크래치패드 컨텍스트를 포함합니다.
- Attention Needed 뷰: 계정에 파티션별 큐레이션이 활성화된 경우 할당되지 않은 후보, 중복 의심 항목 또는 귀속 보류 중인 레코드를 강조 표시합니다.
- Knowledge Base와의 차이점: 프로젝트 Knowledge 파티션은 프로젝트 경계 내에서 에피소드 대화 메모리를 분류합니다. 반면 Knowledge Base는 독립적인 스토리지를 통해 관리되는 정선된 다중 리비전 참조 문서를 제공합니다. 정선된 문서는 /docs/concepts/knowledge-bases 의 Knowledge Bases 개념 가이드를 참조하세요.

## 프로젝트는 scope와 path 규칙의 조합입니다

기본 메모리 범위 지정을 위해 XMemo는 별도의 프로젝트 객체를 요구하지 않습니다. 프로젝트는 메모리가 작성되는 scope와 그 내부의 논리적 경로 네임스페이스로 표현되므로 동일한 계정에서 상호 오염 없이 여러 프로젝트를 전달할 수 있습니다. 해당 메모리 경계 위에 Project Workspaces는 클라이언트 간 협업을 위해 구조화된 프로젝트 상태(Project API, TODO 추적 및 기록된 결정)를 계층화합니다.

- projects/<name>/decisions 와 같은 안정적인 경로 아래에 프로젝트 사실을 작성합니다.
- 검색이 바인딩된 상태를 유지하도록 쓰기와 읽기 모두에서 프로젝트 범위를 전달합니다.
- 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" },
);
```

## 다른 클라이언트에서 프로젝트 계속하기

두 번째 클라이언트가 동일한 scope를 recall하면 사용자가 다시 설명하지 않아도 프로젝트 컨텍스트를 다시 가져옵니다.

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

## 에이전트 도구 및 클라이언트 프로필 액세스

승인된 에이전트는 특정 클라이언트 프로필 전반에서 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 의 전체 웹 기반 Memory Console과는 다릅니다.

## ChatGPT 사용자

채팅에 전달자 토큰을 붙여넣지 않고도 XMemo 기본 설정, 프로젝트 사실, 결정 및 TODO에 대한 지속 가능한 액세스를 ChatGPT에 부여하세요.

ChatGPT/OpenAI 앱 OAuth 흐름을 통해 호스팅된 XMemo MCP 서버를 연결한 다음 XMemo 계정에 대한 메모리:읽기 및 메모리:쓰기 권한을 승인합니다.

종합 기본 설정이나 프로젝트 노트를 저장하고 새 채팅을 시작한 다음 작업을 계속하기 전에 XMemo를 통해 ChatGPT에 이를 불러오도록 요청하세요.

OAuth가 실패하거나 도구가 표시되지 않으면 호스트 앱의 MCP 서버에서 로그아웃하고 XMemo 서버 URL을 다시 연결한 후 직접 토큰을 생성하기 전에 다시 시도하세요.

## 부조종사/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 구성 경로, 직접 클라이언트용 XMEMO_KEY 환경 변수 및 호스트 앱의 오래된 OAuth 자격 증명을 확인하세요.

## 팀/엔터프라이즈 파일럿 소유자

계정 제어, 소스 속성, 내보내기/삭제 워크플로, 검토자에게 안전한 설정 증거를 통해 공유 메모리를 평가합니다.

보호된 XMemo 작업 공간을 생성하거나 입력하고 승인된 사용자를 초대한 다음 준비 배지에 따라 OAuth 또는 범위가 지정된 직접 자격 증명을 통해 각 클라이언트를 연결합니다.

파일럿 멤버에게 가상 팀 메모리를 저장하고 XMemo에서 소스 속성을 확인한 다음 삭제/내보내기 및 지원 경로를 검토하도록 합니다.

구성원이 연결할 수 없는 경우 새 토큰을 발급하기 전에 역할 권한, OAuth 승인, 클라이언트 준비 상태 및 지원 지침을 확인하세요.

## 자율 에이전트 운영자

헤드리스 또는 예약 에이전트가 진행 상황을 기록하고, 이전 결정을 검색하고, 안정적이고 비밀이 아닌 인스턴스 ID를 유지하도록 합니다.

/api/v1/mcp/config/autonomous-agent를 가져옵니다. 실행기가 OAuth + 사용자 정의 헤더를 지원하는 경우 auth_modes.oauth를 선호합니다. 완전 헤드리스 러너에 대해서만 비밀 저장소의 XMEMO_KEY와 함께 auth_modes.xmemo_key를 사용하십시오.

XMemo에 진행 상황을 기록하는 하나의 합성 작업을 실행하고 실행기를 다시 시작한 다음 동일한 XMEMO_AGENT_INSTANCE_ID를 사용하여 해당 진행 상황을 호출하는지 확인합니다.

속성이 변경되거나 인스턴스 간에 분할된 경우 git 외부에서 XMEMO_AGENT_INSTANCE_ID를 유지하고 실행기가 시작할 때마다 이를 다시 생성하지 않는지 확인하세요.
