feat: DEVONthink 제거 + 모닝 브리핑 추가

- DEVONthink 의존성 제거 → kb_writer 전환 (news_digest, inbox_processor, mail pipeline)
- devonthink_bridge.py, plist 삭제
- morning_briefing.py 신규 (매일 07:30, 일정·메일·보고·뉴스 → Synology Chat)
- intent_service.py 분류기 프롬프트 개선 + 키워드 fallback
- migrate-v5.sql (news_digest_log kb_path 컬럼)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-03-19 14:12:38 +09:00
parent fd8925637d
commit 782caf5130
15 changed files with 479 additions and 240 deletions

View File

@@ -36,7 +36,6 @@ curl -s http://192.168.1.186:11434/api/generate -d '{"model":"id-9b:latest","pro
| chat_bridge | http://localhost:8091 |
| HEIC converter | http://localhost:8090 |
| caldav_bridge | http://localhost:8092 |
| devonthink_bridge | http://localhost:8093 |
## Docker 명령어
@@ -89,7 +88,6 @@ echo "=== 네이티브 서비스 ===" && \
curl -s http://localhost:8090/health && echo && \
curl -s http://localhost:8091/health && echo && \
curl -s http://localhost:8092/health && echo && \
curl -s http://localhost:8093/health && echo && \
./manage_services.sh status && \
echo "=== n8n ===" && \
curl -s -o /dev/null -w ' HTTP %{http_code}' http://localhost:5678 && echo && \
@@ -109,9 +107,9 @@ syn-chat-bot/
├── heic_converter.py ← HEIC→JPEG 변환 API (macOS sips, port 8090)
├── chat_bridge.py ← DSM Chat API 브릿지 (사진 폴링/다운로드, port 8091)
├── caldav_bridge.py ← CalDAV REST 래퍼 (Synology Calendar, port 8092)
├── devonthink_bridge.py ← DEVONthink AppleScript 래퍼 (port 8093)
├── inbox_processor.py ← OmniFocus Inbox 폴링 (LaunchAgent, 5분)
├── news_digest.py ← 뉴스 번역·요약 (LaunchAgent, 매일 07:00)
├── morning_briefing.py ← 모닝 브리핑 (LaunchAgent, 매일 07:30)
├── manage_services.sh ← 네이티브 서비스 관리 (start/stop/status)
├── deploy_workflows.sh ← n8n 워크플로우 자동 배포 (REST API)
├── start-bridge.sh ← 브릿지 서비스 시작 헬퍼
@@ -180,14 +178,14 @@ tail -50 /tmp/chat-bridge.err
# caldav_bridge 상태 확인
curl -s http://localhost:8092/health | python3 -m json.tool
# devonthink_bridge 상태 확인
curl -s http://localhost:8093/health | python3 -m json.tool
# inbox_processor 로그
tail -50 /tmp/inbox-processor.log
# news_digest 로그
tail -50 /tmp/news-digest.log
# morning_briefing 로그
tail -50 /tmp/morning-briefing.log
```
## n8n 접속 정보
@@ -248,11 +246,10 @@ NAS에서 Outgoing Webhook 설정 필요:
- [x] /보고서 월간 보고서 생성 구현
- [x] report_cache 캐시 + --force 재생성
### Phase 6: 캘린더·메일·DEVONthink·OmniFocus·뉴스
### Phase 6: 캘린더·메일·OmniFocus·뉴스
- [x] mail_logs, calendar_events 테이블
- [x] 분류기 v3 (calendar, reminder, mail, note intent 추가)
- [x] caldav_bridge.py — CalDAV REST 래퍼 (Synology Calendar)
- [x] devonthink_bridge.py — DEVONthink AppleScript 래퍼
- [x] inbox_processor.py — OmniFocus Inbox 폴링 (LaunchAgent, 5분)
- [x] news_digest.py — 뉴스 번역·요약 (LaunchAgent, 매일 07:00)
- [x] manage_services.sh — 네이티브 서비스 관리
@@ -264,7 +261,6 @@ NAS에서 Outgoing Webhook 설정 필요:
### 서비스 기동 전제조건
- Synology Calendar (CalDAV) — NAS에서 활성화 필요
- Synology MailPlus — NAS에서 활성화 + 계정 설정 필요
- DEVONthink 4 — 맥미니에 설치 필요 (AppleScript 접근)
- OmniFocus — 맥미니에 설치 필요 (Inbox 폴링)
## 검증 체크리스트
@@ -281,4 +277,4 @@ NAS에서 Outgoing Webhook 설정 필요:
10. 10초 내 6건 → rate limit
11. "내일 회의 잡아줘" → calendar intent → CalDAV 이벤트 생성
12. "최근 메일 확인" → mail intent → 메일 요약 반환
13. "이거 메모해둬" → note intent → DEVONthink 저장
13. "이거 메모해둬" → note intent → KB Writer 저장