- ChromaDB metadata None 값 필터링 해결 완료 - conversation_logs channel_id 구분 문제 문서화 - Slack DM이 'web'으로 저장되는 문제 발견 - Frontend/Slack 채널 구분 개선안 제시
48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
# conversation_logs 채널 구분 개선
|
|
|
|
**날짜**: 2025-08-28
|
|
**테이블**: conversation_logs
|
|
**상태**: 🔴 해결 필요
|
|
|
|
## 현재 상황 (DB 확인)
|
|
| channel_id | 건수 | 실제 내역 |
|
|
|------------|------|-----------|
|
|
| web | 55 | Frontend(46) + Slack DM(9) 혼재 ❌ |
|
|
| C0920L68267 | 10 | Slack 채널 ✅ |
|
|
| dm_summary | 3 | 시스템 ✅ |
|
|
|
|
**문제**: Slack DM이 "D..."로 저장되지 않고 "web"으로 저장됨
|
|
|
|
## 코드 위치
|
|
- **Frontend**: `rb8001/main.py:73` → `channel="web"` 하드코딩
|
|
- **Slack**: `rb8001/app/router/slack_handler.py:169` → `event.get("channel")`
|
|
|
|
## 해결 방안
|
|
|
|
### Phase 1: 즉시 수정
|
|
```python
|
|
# rb8001/main.py:73
|
|
channel = "frontend" # "web" → "frontend"
|
|
|
|
# Slack은 event['channel'] 그대로 사용 (C/D/G 프리픽스 자동 구분)
|
|
```
|
|
|
|
### Phase 2: DB 스키마 개선 (선택)
|
|
```sql
|
|
ALTER TABLE conversation_logs
|
|
ADD COLUMN thread_ts VARCHAR(20), -- 쓰레드 구분
|
|
ADD COLUMN channel_type VARCHAR(20); -- public_channel/private_channel/im/mpim
|
|
```
|
|
|
|
## Slack 채널 ID 체계
|
|
- **C로 시작**: 공개/비공개 채널
|
|
- **D로 시작**: 1:1 DM
|
|
- **G로 시작**: 그룹 DM/MPIM
|
|
- **쓰레드**: 같은 channel_id + thread_ts로 구분
|
|
|
|
## 예상 결과
|
|
- Frontend: `"frontend"`
|
|
- Slack 채널: `"C..."`
|
|
- Slack DM: `"D..."` (현재 "web"으로 잘못 저장 중)
|
|
|
|
**근본 원인**: Slack DM event['channel']이 중간에 "web"으로 덮어씌워짐 (조사 필요) |