장기기억 2계층 시스템 문서화 (Obsidian + OpenMemory)
- claude-code-setup.md: 2계층 메모리 아키텍처 문서 추가 - Obsidian(구조화 지식) + OpenMemory(시맨틱 메모리) 역할 분리 정의 - 저장/읽기 규칙, 세션 시작 절차 업데이트
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Claude Code 설정 및 인스트럭션
|
||||
updated: 2026-03-14
|
||||
tags: [claude-code, setup]
|
||||
tags: [claude-code, setup, memory, openmemory]
|
||||
---
|
||||
|
||||
## 기본 설정
|
||||
@@ -46,37 +46,69 @@ tags: [claude-code, setup]
|
||||
- 마운트된 엔진: `secret/` (KV), `ssh-client-signer/` (SSH)
|
||||
- 주요 용도: 시크릿 관리, PKI 인증서 발급, SSH 서명
|
||||
|
||||
## 장기기억 (Obsidian Vault)
|
||||
## 장기기억 (2계층 시스템)
|
||||
|
||||
Obsidian Vault가 장기기억 저장소 역할. Gitea 저장소: `gitea.anvil.it.com/kaffa/obsidian`
|
||||
Obsidian + [[openmemory|OpenMemory]]를 조합한 2계층 장기기억 시스템.
|
||||
|
||||
### 세션 시작 시
|
||||
### 계층 구조
|
||||
|
||||
1. `~/obsidian`이 있으면 `git -C ~/obsidian pull --rebase`로 최신화
|
||||
2. 없으면 [[vault]](`secret/gitea`)에서 토큰을 읽어 clone
|
||||
```
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ 장기기억 시스템 │
|
||||
├──────────────────┬──────────────────────────┤
|
||||
│ Obsidian │ OpenMemory (Mem0) │
|
||||
│ ~/obsidian │ MCP @ :8765 │
|
||||
├──────────────────┼──────────────────────────┤
|
||||
│ 구조화된 지식 정본 │ 대화형 시맨틱 메모리 │
|
||||
│ 마크다운 + git │ 벡터 DB (Qdrant) │
|
||||
│ 사람 + AI 소비 │ AI 전용 소비 │
|
||||
│ 키워드/경로 검색 │ 시맨틱 유사도 검색 │
|
||||
│ Gitea 동기화 │ 로컬 전용 │
|
||||
└──────────────────┴──────────────────────────┘
|
||||
```
|
||||
|
||||
### Vault 구조
|
||||
### Obsidian (1계층: 구조화된 지식)
|
||||
|
||||
Gitea 저장소: `gitea.anvil.it.com/kaffa/obsidian`
|
||||
|
||||
**Vault 구조**:
|
||||
- `infra/` — 인프라 설정, 네트워크, 서비스 운영 정보
|
||||
- `products/` — 제품 기획, 요금, 법률/세무
|
||||
- `services/` — 외부 서비스 연동 ([[gitea]], [[telegram-bot]], [[twilio]], [[aws-ses]])
|
||||
- `openclaw/` — OpenClaw 에이전트 시스템
|
||||
- `dev/` — 개발 환경, 도구 설정
|
||||
|
||||
### 읽기 규칙
|
||||
**저장 대상**: 인프라 변경, 서비스 설정, 운영 절차, 제품 기획, 트러블슈팅 솔루션
|
||||
|
||||
- 인프라/서비스/제품 관련 질문 → **Vault에서 관련 파일을 먼저 읽을 것**
|
||||
- Vault에 있는 정보를 추측하지 말고 실제 파일 확인
|
||||
- CLAUDE.md의 인프라 토폴로지는 요약본, Vault가 정본
|
||||
**작성 규칙**:
|
||||
- frontmatter: `title`, `updated` (YYYY-MM-DD), `tags`
|
||||
- 위키링크 `[[파일명]]`, `##` 섹션 헤더
|
||||
- git workflow: `pull --rebase` → `add` → `commit` → `push`
|
||||
- conflict 시 자동 해결 금지
|
||||
|
||||
### 쓰기 규칙 (Obsidian 컨벤션)
|
||||
### OpenMemory (2계층: 시맨틱 메모리)
|
||||
|
||||
- **frontmatter**: `title`, `updated` (YYYY-MM-DD), `tags` (선택)
|
||||
- **위키링크**: 관련 문서 참조 시 `[[파일명]]` 사용
|
||||
- **섹션**: `##` 헤딩으로 주제별 구분
|
||||
- 새 정보 학습 시 해당 Vault 파일에 추가/수정, `updated` 갱신
|
||||
- 변경 후: `git pull --rebase` → `git add` → `git commit` → `git push`
|
||||
- conflict 발생 시 자동 해결 금지, 사용자에게 알릴 것
|
||||
엔드포인트: `100.115.154.78:8765` (MCP SSE)
|
||||
|
||||
**저장 대상**: 결정사항과 이유, 사용자 선호도, 시스템 quirks, 프로젝트 맥락, 패턴
|
||||
|
||||
**작성 규칙**:
|
||||
- 한 메모리 = 하나의 핵심 정보 (검색 정확도 향상)
|
||||
- 컨텍스트 포함: "X를 했다" → "Y 때문에 X를 했다"
|
||||
- 날짜 중요 시 절대 날짜 포함 (예: "2026-03-14 기준")
|
||||
- 저장 전 `search_memory`로 중복 확인
|
||||
|
||||
### 읽기 우선순위
|
||||
|
||||
1. **Obsidian** — 인프라/서비스/제품 정보 (구조화된 정본)
|
||||
2. **OpenMemory** — 결정 맥락, 선호도, 과거 인사이트 (시맨틱 검색)
|
||||
3. **HashiCorp Vault** — 시크릿, 인증 정보
|
||||
|
||||
### 세션 시작 시
|
||||
|
||||
1. `~/obsidian` git pull --rebase로 최신화
|
||||
2. 없으면 [[vault]](`secret/gitea`)에서 토큰 읽어 clone
|
||||
3. 현재 작업 관련 OpenMemory `search_memory` 조회
|
||||
|
||||
### 기억 저장 시점
|
||||
|
||||
@@ -84,6 +116,7 @@ Obsidian Vault가 장기기억 저장소 역할. Gitea 저장소: `gitea.anvil.i
|
||||
- 새로운 인프라/서비스 정보를 알게 되었을 때
|
||||
- 사용자가 "기억해" 요청 시
|
||||
- 기존 정보 변경 시 (IP, 포트, 설정값 등)
|
||||
- 아키텍처 결정 시 → Obsidian에 상세 + OpenMemory에 요약
|
||||
|
||||
## 주의사항
|
||||
|
||||
|
||||
Reference in New Issue
Block a user