refactor: GPU 서버 재구성 + ChromaDB→Qdrant 마이그레이션
- embed_to_chroma.py → embed_to_qdrant.py 리라이트 (bge-m3 + Qdrant REST API) - auto_classify.scpt: embed_to_qdrant.py 경로 변경 + sourceChannel 덮어쓰기 버그 수정 - requirements.txt: chromadb/schedule 제거, qdrant-client/flask/gunicorn 추가 - credentials.env.example: GPU_SERVER_IP 항목 추가 - GPU 서버 재구성 계획서 (docs/gpu-restructure.md) + dev-roadmap/commands 통합 - CLAUDE.md, README.md, deploy.md 현행화 GPU 서버 변경사항 (이미 적용됨): - Ollama: qwen3.5:9b, id-9b 제거 → bge-m3 + bge-reranker-v2-m3 - Surya OCR 서비스 (:8400, systemd) - Docker + NFS + Komga 이전 (:25600) - tk-ai-service: Ollama API → OpenAI API 전환 (MLX 35B) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
114
README.md
114
README.md
@@ -1,23 +1,91 @@
|
||||
# DEVONThink PKM System
|
||||
|
||||
Mac mini M4 Pro 기반 개인 지식관리 자동화 시스템
|
||||
Mac mini M4 Pro 기반 개인 지식관리(PKM) 자동화 시스템
|
||||
|
||||
## 구성 요소
|
||||
## 시스템 구성
|
||||
|
||||
- **DEVONthink 4** — 중앙 지식 허브 (13개 DB)
|
||||
- **Ollama** — AI 자동 분류/태깅 (Qwen3.5-35B-A3B)
|
||||
- **법령 모니터링** — 산업안전보건법 등 변경 추적
|
||||
- **일일 다이제스트** — PKM 전체 변화 요약
|
||||
- **OmniFocus 연동** — 액션 아이템 자동 생성
|
||||
```
|
||||
┌─────────────────── Mac mini M4 Pro (허브) ───────────────────┐
|
||||
│ │
|
||||
│ DEVONthink 4 ◄── DEVONagent Pro │
|
||||
│ (13개 DB) (자동 검색) │
|
||||
│ │ │
|
||||
│ ┌────┴─────── 자동화 레이어 ────────────────────────┐ │
|
||||
│ │ auto_classify.scpt 법령 모니터링 이메일 수집 │ │
|
||||
│ │ omnifocus_sync.scpt 일일 다이제스트 PKM API │ │
|
||||
│ └──────────────────────────────────────────────────┘ │
|
||||
│ │ │
|
||||
│ OmniFocus 4 MLX Qwen3.5-35B-A3B (AI 분류/번역) │
|
||||
│ (작업 관리) localhost:8800 │
|
||||
│ │
|
||||
└──────────────────────────┬─────────────────────────────────────┘
|
||||
│ Tailscale VPN
|
||||
┌────────────────┼────────────────┐
|
||||
┌─────────▼──────────┐ ┌────────────▼─────────────┐
|
||||
│ Synology DS1525+ │ │ GPU 서버 (RTX 4070 Ti S) │
|
||||
│ Gitea · MailPlus │ │ 임베딩 · OCR · 리랭킹 │
|
||||
│ WebDAV 동기화 │ │ Plex │
|
||||
└────────────────────┘ └──────────────────────────┘
|
||||
```
|
||||
|
||||
## 설치
|
||||
## 핵심 기능
|
||||
|
||||
**AI 자동 분류** — DEVONthink Inbox에 들어온 문서를 MLX Qwen3.5가 분석하여 13개 DB 중 적합한 곳으로 자동 이동, 태그와 메타데이터를 자동 부여
|
||||
|
||||
**법령 모니터링** — 산업안전보건법, 중대재해처벌법 등 7개 한국 법령 + US OSHA, JP 厚労省, EU-OSHA 해외 법령 변경을 매일 자동 추적
|
||||
|
||||
**이메일 아카이브** — Synology MailPlus에서 IMAP으로 이메일을 수집하여 DEVONthink Archive DB에 자동 보관
|
||||
|
||||
**일일 다이제스트** — DEVONthink 변화, OmniFocus 진행 상황, 법령 변경 등을 종합한 일일 보고서 자동 생성
|
||||
|
||||
**OmniFocus 연동** — Projects DB의 TODO 패턴을 감지하여 OmniFocus에 작업 자동 생성, DEVONthink 역링크 포함
|
||||
|
||||
**REST API** — DEVONthink/OmniFocus 상태를 HTTP로 조회 (내부 모니터링용)
|
||||
|
||||
## 디렉토리 구조
|
||||
|
||||
```
|
||||
scripts/ Python 스크립트
|
||||
pkm_utils.py 공통 유틸 (로깅, 인증, LLM 호출)
|
||||
law_monitor.py 법령 변경 모니터링 (한국+US/JP/EU)
|
||||
mailplus_archive.py MailPlus 이메일 수집
|
||||
pkm_daily_digest.py 일일 다이제스트 생성
|
||||
pkm_api_server.py REST API 서버 (Flask, 포트 9900)
|
||||
embed_to_chroma.py ChromaDB 벡터 임베딩
|
||||
prompts/ AI 프롬프트 템플릿
|
||||
|
||||
applescript/ DEVONthink/OmniFocus 연동
|
||||
auto_classify.scpt Inbox 자동 분류 Smart Rule
|
||||
omnifocus_sync.scpt OmniFocus 작업 생성 Smart Rule
|
||||
|
||||
launchd/ macOS 스케줄 실행
|
||||
net.hyungi.pkm.law-monitor.plist 매일 07:00
|
||||
net.hyungi.pkm.mailplus.plist 매일 07:00, 18:00
|
||||
net.hyungi.pkm.daily-digest.plist 매일 20:00
|
||||
|
||||
docs/ 문서
|
||||
architecture.md 시스템 아키텍처
|
||||
deploy.md 배포 가이드 + 트러블슈팅
|
||||
claude-code-commands.md 개발 작업 지시서
|
||||
dev-roadmap.md 개발 로드맵
|
||||
devonagent-setup.md DEVONagent 검색 세트 가이드
|
||||
industrial-safety-blueprint.md 산업안전 DB 설계
|
||||
|
||||
data/ 데이터
|
||||
laws/ 수집된 법령 문서
|
||||
law_last_check.json 마지막 확인 시점
|
||||
|
||||
tests/ 테스트
|
||||
test_classify.py AI 분류 정확도 테스트
|
||||
```
|
||||
|
||||
## 빠른 시작
|
||||
|
||||
```bash
|
||||
# Mac mini에서
|
||||
git clone [gitea-repo-url]
|
||||
cd DEVONThink_my\ server
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
git clone https://git.hyungi.net/hyungi/devonthink_home.git "DEVONThink_my server"
|
||||
cd "DEVONThink_my server"
|
||||
python3 -m venv venv && source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 인증 정보 설정
|
||||
@@ -29,12 +97,22 @@ chmod 600 ~/.config/pkm/credentials.env
|
||||
|
||||
자세한 배포 방법은 `docs/deploy.md` 참조
|
||||
|
||||
## 디렉토리 구조
|
||||
## 실행 환경
|
||||
|
||||
| 구성 요소 | 요구사항 |
|
||||
|-----------|---------|
|
||||
| macOS | 14+ (Sonoma) |
|
||||
| Python | 3.11+ |
|
||||
| DEVONthink | 4.x, GUI 실행 중 |
|
||||
| OmniFocus | 4.x, GUI 실행 중 |
|
||||
| MLX 서버 | Qwen3.5-35B-A3B, localhost:8800 |
|
||||
| Tailscale | NAS/GPU 서버 접근용 |
|
||||
|
||||
## 개발
|
||||
|
||||
```
|
||||
scripts/ Python 스크립트 (법령모니터, 메일수집, 다이제스트)
|
||||
applescript/ DEVONthink/OmniFocus 연동 AppleScript
|
||||
launchd/ macOS 스케줄 실행 plist
|
||||
docs/ 설계 문서, 가이드
|
||||
tests/ 테스트 코드
|
||||
개발 흐름:
|
||||
MacBook Pro (또는 Cowork) → git push → Gitea (NAS) → Mac mini에서 git pull
|
||||
```
|
||||
|
||||
개발 현황과 다음 작업은 `docs/dev-roadmap.md` 참조
|
||||
|
||||
Reference in New Issue
Block a user