docs: replace rb10508_test -> rb10508_micro across docs (partial sweep)
This commit is contained in:
parent
1ec58c2fb0
commit
5e6de41ed5
@ -2,12 +2,12 @@
|
||||
|
||||
**날짜**: 2025-07-30
|
||||
**작성자**: Claude (51124 서버)
|
||||
**관련 프로젝트**: rb10508_test, rb8001, rb10408_test
|
||||
**관련 프로젝트**: rb10508_micro, rb8001, rb10408
|
||||
|
||||
## 배경
|
||||
|
||||
### 현재 문제 상황
|
||||
- rb10508_test 컨테이너에서 ChromaDB 초기화 실패
|
||||
- rb10508_micro 컨테이너에서 ChromaDB 초기화 실패
|
||||
- 오류: `The sentence_transformers python package is not installed`
|
||||
- 원인: 빌드 시간 단축을 위해 requirements.txt에서 sentence-transformers 제거 (1GB+ 절약)
|
||||
|
||||
@ -171,4 +171,4 @@ sentence-transformers>=2.2.0
|
||||
3. 장기적 유지보수 관점에서의 선호도
|
||||
|
||||
현재 프론트엔드 연결은 정상 작동하며, Gemini API를 통한 응답 생성도 가능합니다.
|
||||
단지 대화 기록이 벡터 DB에 저장되지 않는 상황이므로, 긴급도는 중간 수준입니다.
|
||||
단지 대화 기록이 벡터 DB에 저장되지 않는 상황이므로, 긴급도는 중간 수준입니다.
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
- "Processing message from U0925SXQFDK"
|
||||
- "[메모리] 검색: 6개 → LLM 선택: 4개"
|
||||
- "[대화] 2개 메모리 저장 완료"
|
||||
- **ChromaDB 저장**: rb10508_test_episodic에 5개 문서
|
||||
- **ChromaDB 저장**: rb10508_micro_episodic에 5개 문서
|
||||
|
||||
## 2. 현재 문제점
|
||||
|
||||
@ -349,7 +349,7 @@ workspace_members에서 robeing_id 확인
|
||||
↓
|
||||
해당 로빙으로 라우팅
|
||||
↓
|
||||
ChromaDB: rb10508_test_{user_id}_episodic
|
||||
ChromaDB: rb10508_micro_{user_id}_episodic
|
||||
```
|
||||
|
||||
### 11.3 초기 매핑 데이터
|
||||
|
||||
@ -85,7 +85,7 @@ x_user_id: Optional[str] = Header(None) # X-User-Id 헤더만 확인
|
||||
```python
|
||||
# rb10508_micro/app/core/memory/storage.py
|
||||
collection_name = f"{settings.ROBEING_ID}_{username if username else 'default'}_{memory_type}"
|
||||
# 현재: rb10508_test_default_episodic (모든 사용자 공유!)
|
||||
# 현재: rb10508_micro_default_episodic (모든 사용자 공유!)
|
||||
|
||||
# 문제: endpoints.py에서 username 전달하지 않음
|
||||
# endpoints.py:22 - 기본값: "default_user"
|
||||
@ -115,8 +115,8 @@ collection_name = f"{settings.ROBEING_ID}_{username if username else 'default'}_
|
||||
- endpoints.py에서 username 파라미터를 storage.py로 전달하지 않음
|
||||
- user_id는 받지만 username으로 변환하지 않음
|
||||
- **채널별 다른 컬렉션 사용 문제**:
|
||||
- Slack: `rb10508_test_happybell80_episodic` (Auth 서버 매핑 제공)
|
||||
- Frontend: `rb10508_test_default_episodic` (모든 사용자 공유)
|
||||
- Slack: `rb10508_micro_happybell80_episodic` (Auth 서버 매핑 제공)
|
||||
- Frontend: `rb10508_micro_default_episodic` (모든 사용자 공유)
|
||||
- **동일 사용자(happybell80)가 두 채널에서 다른 메모리 공간 사용**
|
||||
- 대화 내용 분리로 연속성 상실
|
||||
|
||||
@ -275,7 +275,7 @@ X-Username: happybell80 // 명확한 이름
|
||||
#### 1. Auth 서버 JWT 활용 (권장) 🌟
|
||||
```
|
||||
Frontend 로그인 → JWT(username 포함) → Gateway 검증 → Robeing username 추출
|
||||
→ Slack과 동일한 컬렉션 사용 (rb10508_test_happybell80_episodic)
|
||||
→ Slack과 동일한 컬렉션 사용 (rb10508_micro_happybell80_episodic)
|
||||
```
|
||||
|
||||
#### 2. Frontend user_id 전달 개선
|
||||
@ -394,4 +394,4 @@ collection_name = f"{settings.ROBEING_ID}_{username if username else 'default'}_
|
||||
## 문서 작성자
|
||||
- 작성일: 2025-08-16
|
||||
- 작성자: 51123 서버 관리 Claude
|
||||
- 목적: 인증 시스템 통합을 위한 현황 분석
|
||||
- 목적: 인증 시스템 통합을 위한 현황 분석
|
||||
|
||||
@ -169,7 +169,7 @@ GET /api/health # 헬스체크
|
||||
### Phase 1
|
||||
1. robeing-gateway 기본 구조 생성
|
||||
2. 인증 흐름 연결
|
||||
3. 단순 라우팅 (모든 사용자 → rb10508_test)
|
||||
3. 단순 라우팅 (모든 사용자 → rb10508_micro)
|
||||
|
||||
### Phase 2
|
||||
1. robeing-monitor 구현
|
||||
|
||||
@ -290,9 +290,9 @@ for col in collections:
|
||||
print(f"{col.name}: {col.count()}개")
|
||||
|
||||
# 예상 결과:
|
||||
# rb10508_test_aaaaaaaa_episodic: N개
|
||||
# rb10508_test_bbbbbbbb_episodic: M개
|
||||
# rb10508_test_default_user_episodic: K개
|
||||
# rb10508_micro_aaaaaaaa_episodic: N개
|
||||
# rb10508_micro_bbbbbbbb_episodic: M개
|
||||
# rb10508_micro_default_user_episodic: K개
|
||||
```
|
||||
|
||||
## 7. 배포 순서
|
||||
@ -349,4 +349,4 @@ for col in collections:
|
||||
|
||||
---
|
||||
|
||||
*이 문서는 24서버팀의 분석을 기반으로 로컬 개발자가 작성한 구현 계획입니다.*
|
||||
*이 문서는 24서버팀의 분석을 기반으로 로컬 개발자가 작성한 구현 계획입니다.*
|
||||
|
||||
@ -41,7 +41,7 @@ docker network create appnet
|
||||
|
||||
# 컨테이너들을 공유 네트워크에 연결
|
||||
docker network connect appnet frontend-backend-1
|
||||
docker network connect appnet rb10508_test
|
||||
docker network connect appnet rb10508_micro
|
||||
```
|
||||
|
||||
**결과**: Container-to-container 직접 통신 가능
|
||||
@ -62,7 +62,7 @@ SERVICES = {
|
||||
SERVICES = {
|
||||
"frontend": {"url": "http://frontend:5173"}, # 컨테이너 DNS
|
||||
"backend": {"url": "self"}, # Self-check 최적화
|
||||
"test-api": {"url": "http://rb10508_test:10508"} # 컨테이너 DNS
|
||||
"test-api": {"url": "http://rb10508_micro:10508"} # 컨테이너 DNS
|
||||
}
|
||||
```
|
||||
|
||||
@ -160,4 +160,4 @@ docker network inspect bridge | grep Gateway
|
||||
2. **외부 서비스 접근**: Docker bridge IP 사용
|
||||
3. **Self-check**: 특별한 로직으로 처리
|
||||
4. **네트워크 설계**: 통신이 필요한 컨테이너는 같은 네트워크에 배치
|
||||
5. **테스트**: 네트워크 변경 시 항상 연결성 테스트 수행
|
||||
5. **테스트**: 네트워크 변경 시 항상 연결성 테스트 수행
|
||||
|
||||
@ -64,7 +64,7 @@ services:
|
||||
sudo -u postgres psql
|
||||
CREATE USER robeings WITH PASSWORD 'robeing2025!';
|
||||
GRANT ALL PRIVILEGES ON DATABASE rb8001_db TO robeings;
|
||||
GRANT ALL PRIVILEGES ON DATABASE rb10508_test_db TO robeings;
|
||||
GRANT ALL PRIVILEGES ON DATABASE rb10508_micro_db TO robeings;
|
||||
\q
|
||||
```
|
||||
|
||||
@ -171,6 +171,6 @@ curl -X POST http://localhost:8001/api/test/db
|
||||
|
||||
## 다음 단계
|
||||
|
||||
1. rb10508_test도 동일한 방식으로 설정
|
||||
1. rb10508_micro도 동일한 방식으로 설정
|
||||
2. 운영 환경에서의 네트워크 보안 검토
|
||||
3. 로그 모니터링을 통한 연결 안정성 확인
|
||||
3. 로그 모니터링을 통한 연결 안정성 확인
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
```bash
|
||||
# 실제 컨테이너 이름
|
||||
frontend-base (backend가 아님)
|
||||
rb10508_test
|
||||
rb10508_micro
|
||||
rb8001
|
||||
auth-server
|
||||
|
||||
@ -45,7 +45,7 @@ gitea
|
||||
1. systemd 체크 코드 완전 제거
|
||||
2. Docker 컨테이너 이름을 실제 이름으로 수정
|
||||
3. Docker API로 체크할 서비스 목록 하드코딩:
|
||||
- rb10508_test, backend(frontend-base), rb8001, auth-server
|
||||
- rb10508_micro, backend(frontend-base), rb8001, auth-server
|
||||
4. nginx, gitea는 HTTP 체크 유지 (172.17.0.1 통해 호스트 접근)
|
||||
|
||||
**코드 변경 내용**:
|
||||
@ -57,7 +57,7 @@ gitea
|
||||
|
||||
# Docker 서비스 목록 수정
|
||||
docker_services = {
|
||||
"rb10508_test": "rb10508_test",
|
||||
"rb10508_micro": "rb10508_micro",
|
||||
"backend": "frontend-base", # 실제 컨테이너 이름으로 수정
|
||||
"rb8001_8001": "rb8001",
|
||||
"auth-server_9000": "auth-server",
|
||||
@ -118,4 +118,4 @@ BASE_SERVICES = {
|
||||
**결과**:
|
||||
- PostgreSQL과 Neo4j가 기본 서비스로 표시
|
||||
- 삭제 불가능한 핵심 서비스로 보호
|
||||
- HTTP health check로 상태 확인 (PostgreSQL은 TCP 연결만 체크)
|
||||
- HTTP health check로 상태 확인 (PostgreSQL은 TCP 연결만 체크)
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
**날짜**: 2025-07-29
|
||||
**작업자**: Claude (51124 서버)
|
||||
**관련 프로젝트**: rb10508_test
|
||||
**관련 프로젝트**: rb10508_micro
|
||||
|
||||
## 오후 8시 30분
|
||||
|
||||
@ -27,4 +27,4 @@
|
||||
- 51124 서버에서는 단순한 해결책을 우선 고려할 것
|
||||
|
||||
---
|
||||
**작성 완료**: 2025-07-29 20:51
|
||||
**작성 완료**: 2025-07-29 20:51
|
||||
|
||||
@ -229,7 +229,7 @@ Claude가 세션 시작 시 규칙을 제대로 따르지 않음. CLAUDE.md 재
|
||||
- 로그 API에서 빈 결과 반환
|
||||
|
||||
2. **코드 검토 및 수정**:
|
||||
- `docker-compose.yml`: rb10508_test와 동일한 구조로 수정
|
||||
- `docker-compose.yml`: rb10508_micro와 동일한 구조로 수정
|
||||
- `network_mode: host` 적용
|
||||
- `SKILL_EMAIL_URL` 환경변수 추가
|
||||
- logs 볼륨 마운트 방식 통일
|
||||
@ -270,7 +270,7 @@ Claude가 세션 시작 시 규칙을 제대로 따르지 않음. CLAUDE.md 재
|
||||
- uvicorn LOG_LEVEL은 소문자만 허용
|
||||
- 방어적 프로그래밍으로 `.lower()` 적용 권장
|
||||
|
||||
3. **rb10508_test와 rb8001 구조 통일**:
|
||||
3. **rb10508_micro와 rb8001 구조 통일**:
|
||||
- 성공한 설정을 다른 서비스에 적용하는 것이 효과적
|
||||
- docker-compose.yml, requirements.txt 일관성 중요
|
||||
|
||||
@ -278,4 +278,4 @@ Claude가 세션 시작 시 규칙을 제대로 따르지 않음. CLAUDE.md 재
|
||||
- 코드 수정 → git push → Actions → 배포 → 서비스 확인까지 전체 플로우 점검 필요
|
||||
|
||||
---
|
||||
**작성 완료**: 2025-07-29 21:45
|
||||
**작성 완료**: 2025-07-29 21:45
|
||||
|
||||
@ -11,7 +11,7 @@ ChromaDB에서 각 로빙의 메모리를 저장할 때, 컬렉션 이름 생성
|
||||
self.collection_name = f"robeing_{robeing_id}_memories"
|
||||
```
|
||||
|
||||
각 로빙은 고유한 ID를 가지고 있어 (`rb10408_test`, `rb10508_test` 등), 컬렉션 이름이 중복될 가능성이 없었습니다.
|
||||
각 로빙은 고유한 ID를 가지고 있어 (`rb10408`, `rb10508_micro` 등), 컬렉션 이름이 중복될 가능성이 없었습니다.
|
||||
|
||||
## 추가 확인 사항
|
||||
메모리 ID 생성 로직:
|
||||
@ -28,4 +28,4 @@ def generate_id(self, content: str, timestamp: str) -> str:
|
||||
이미 적절한 UUID 충돌 방지 메커니즘이 구현되어 있어 추가 조치가 필요하지 않았습니다.
|
||||
|
||||
## 관련 파일
|
||||
- `/home/heejae/rb10408_test/app/state/memory_manager.py`
|
||||
- `/home/heejae/rb10408_test/app/state/memory_manager.py`
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
|
||||
## 배경
|
||||
- rb10408_test는 경량화 버전으로 명령어 미구현 상태
|
||||
- rb10508_test는 일부 명령어 구현됨
|
||||
- rb10508_micro는 일부 명령어 구현됨
|
||||
- 공통 명령어를 경량화를 유지하면서 구현해야 함
|
||||
|
||||
## 구현된 명령어 (rb10508_test)
|
||||
## 구현된 명령어 (rb10508_micro)
|
||||
- `/memory` - 메모리 통계 조회
|
||||
- `/digest` - 요약 생성
|
||||
- `/news` - 뉴스 검색
|
||||
@ -89,5 +89,5 @@ except Exception as e:
|
||||
|
||||
## 관련 파일
|
||||
- `/home/heejae/rb10408_test/app/commands/handler.py` (생성 필요)
|
||||
- `/home/heejae/rb10508_test/app/commands/` (참고용)
|
||||
- `/home/heejae/DOCS/skills-and-commands.md`
|
||||
- `/home/heejae/rb10508_micro/app/commands/` (참고용)
|
||||
- `/home/heejae/DOCS/skills-and-commands.md`
|
||||
|
||||
@ -179,10 +179,10 @@ docker exec rb10508_micro ls -la /code/chroma_db
|
||||
#### 3. storage.py 모듈 테스트 ✅
|
||||
```python
|
||||
# 컬렉션 4개 확인:
|
||||
- rb10508_test_happybell80: 0개
|
||||
- rb10508_test_episodic: 1개 # 테스트 데이터 저장됨
|
||||
- rb10508_test_procedural: 0개
|
||||
- rb10508_test_semantic: 0개
|
||||
- rb10508_micro_happybell80: 0개
|
||||
- rb10508_micro_episodic: 1개 # 테스트 데이터 저장됨
|
||||
- rb10508_micro_procedural: 0개
|
||||
- rb10508_micro_semantic: 0개
|
||||
```
|
||||
|
||||
#### 4. 메모리 저장 테스트 ✅
|
||||
@ -212,4 +212,4 @@ docker inspect rb10508_micro | grep -A 5 Mounts
|
||||
- ✅ ChromaDB 메모리 손실 문제 해결
|
||||
- ✅ 디렉토리명 불일치 수정
|
||||
- ✅ Gitea Actions 동기화 완료
|
||||
- ✅ 데이터 영속성 확보
|
||||
- ✅ 데이터 영속성 확보
|
||||
|
||||
@ -10,7 +10,7 @@ happybell80, Claude
|
||||
- Gmail 통합 작업 중 사용자 이름→이메일 변환 로직 구현 필요
|
||||
- 로빙이 개인 연락처를 저장할 공간 설계 논의 중
|
||||
- 기존 auth_db가 인증 전용 DB처럼 보여 혼란 야기
|
||||
- 51123 서버에서 rb10508_test_db 삭제 및 auth_db → main_db 변경 완료
|
||||
- 51123 서버에서 rb10508_micro_db 삭제 및 auth_db → main_db 변경 완료
|
||||
|
||||
## 문제점
|
||||
1. auth_db라는 이름이 인증 전용 DB로 오해 소지
|
||||
@ -107,4 +107,4 @@ CREATE INDEX idx_conversations_robeing ON robeing.conversations(robeing_id);
|
||||
- 데이터베이스 이름은 용도를 명확히 반영해야 함
|
||||
- 하드코딩된 DB 이름은 환경변수로 관리
|
||||
- 로빙의 개인 데이터는 격리된 스키마/테이블로 관리
|
||||
- JSONB 필드로 확장성 확보
|
||||
- JSONB 필드로 확장성 확보
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user