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