← 리포트 목록
OpenClaw 루트 데이터 디렉토리 Hermes 이전 매핑
2026-04-15
migrate
[phase17-followup, hermes-migration, data-dirs, openclaw]
OpenClaw 루트 데이터 디렉토리 매핑
스냅샷 시각: 2026-04-15 KST
결론
Hermes 코드/활성 cron이 필요로 하는 OpenClaw 루트 데이터 중 개별 운영 파일만 선별 이전했다. 전체 디렉토리 복사는 하지 않았다.
bot_tokens.json: 이미~/.hermes/bot_tokens.json존재, OpenClaw 원본과 sha256 동일 → 추가 복사 없음auth/: workspace scripts 직접 의존은 없음. 단, Copilot 호환 프로필은 소형 파일이라~/.hermes/auth/profiles/에 복사data/:ops_multiagent.db중심으로 코드 참조 다수 → 필요한 DB 4개만 복사secrets/: Notion/KIS 코드가 직접 찾는 credential 2개만 복사memory/,agents/,logs/,monitoring/: 활성 cron 직접 의존 없음 또는 히스토리/스냅샷 성격 → 복사하지 않음- 코드 경로 rewrite: 필요 없음. 확인한 핵심 공유 경로는 이미
~/.hermes/...를 보고 있음
참조 매핑
대상 범위: /Users/ron/.hermes/workspace/scripts 내부, backup/pyc/log/db/binary 제외.
| 루트 대상 | 참조 수 | 파일 수 | 대표 진입/사용 파일 | 판단 |
|---|---|---|---|---|
bot_tokens.json |
3 | 3 | claude_telegram_listener.py, codex_telegram_listener.py, shared/telegram_multibot.py |
~/.hermes/bot_tokens.json 직접 참조. 파일 이미 존재/동일 |
auth/, github-copilot.json |
0 직접 의존 | 0 | workspace scripts 내 auth/profiles/github-copilot.json 직접 로드 없음 |
현재 우회 상태. 호환 보관용으로 프로필만 복사 |
data/ops_multiagent.db |
185 | 115 | shared/db.py, shared/vault_paths.py, shared/telegram.py, server.py, queue/ops 스크립트 다수 |
필수. 복사 완료 |
data/etf_weights.db |
19 | 4 | morning_briefing.py, data_analyst.py, overnight/portfolio_insights.py, server.py |
운영 소형 DB. 복사 완료 |
data/n8n_pipeline.db |
1 | 1 | server.py |
소형 DB. 복사 완료 |
data/approvals.db |
4 | 3 | server.py, agent_queue_worker.py |
소형 DB. 복사 완료 |
data/otel_metrics.db |
4 | 4 | monitoring/otel_db_maintenance.py, pipeline/webapp/blueprints/admin.py, pipeline/blueprint_updater.py |
1.4GB 모니터링 히스토리. 활성 cron 직접 의존 아님 → 미복사 |
root memory/ |
4 | 4 | collect_readonly_logs.sh, error_validator.py, run-cycle-diagnostic.py, run_cycle_diagnosis.py |
활성 Hermes cron 직접 의존 아님 → 미복사 |
workspace memory/ |
237 | 83 | pipeline/webapp/collector 다수 | 이미 ~/.hermes/workspace/memory로 이전된 영역 |
secrets/ |
7 | 5 | pipeline/notion_publisher.py, pipeline/notion_analyst_sync.py, pipeline/vault_technical_bridge.py, shared/kis_client.py, pipeline/nepcon_collector.py |
Notion/KIS 파일만 복사. naver_browser_profile은 비활성/대용량 가능성으로 미복사 |
활성 Hermes cron 진입점 확인
현재 Hermes active cron 8개를 확인했다.
vault-analyst-feedback— prompt job,~/knowledge/500→~/knowledge-agent/200-atomicocPH-SPY-price-history-refresh—~/.hermes/workspace/scripts/pipeline/price_history_collector.pyocAK-AK000-bond-daily-dry-run—~/.hermes/workspace/scripts/pipeline/bond_daily_report.py --notifyocAO-AO003-bond-morning-command—~/.hermes/workspace-root-scripts/gmail_credit_monitor.py --fixed-income-onlymacro-series-collector—~/.hermes/workspace/scripts/pipeline/macro_series_collector.pyfed-liquidity-aggregator—~/.hermes/workspace/scripts/pipeline/fed_liquidity_aggregator.pyocM-M019-blog-monitor—~/.hermes/workspace/scripts/pipeline/blog_monitor.py --notifyocAQ-AQ004-gmail-newsletter-command—~/.hermes/workspace/scripts/pipeline/gmail_newsletter_collector_dual.sh --days 2
검증 결과:
- active cron command 내
/Users/ron/.openclaw참조: 0개 - active entry script 직접
.openclaw참조: 0개 gmail_credit_monitor.py에는github-copilot/gpt-5-mini문자열이 남아 있으나 루트 데이터 디렉토리 참조가 아니라 모델명 상수다. Copilot 403 우회 이슈와 별도.
복사 내역
전체 디렉토리 복사 대신 아래 파일만 rsync -a로 복사했다. 민감값 내용은 열람/기록하지 않았다.
| 원본 | 대상 | 크기 | 검증 |
|---|---|---|---|
~/.openclaw/auth/profiles/github-copilot.json |
~/.hermes/auth/profiles/github-copilot.json |
106B | sha256 match, JSON key 구조 확인 |
~/.openclaw/data/ops_multiagent.db |
~/.hermes/data/ops_multiagent.db |
56M | sha256 match, SQLite integrity ok |
~/.openclaw/data/etf_weights.db |
~/.hermes/data/etf_weights.db |
9.7M | sha256 match, SQLite integrity ok |
~/.openclaw/data/n8n_pipeline.db |
~/.hermes/data/n8n_pipeline.db |
12K | sha256 match, SQLite integrity ok |
~/.openclaw/data/approvals.db |
~/.hermes/data/approvals.db |
4K | sha256 match, SQLite integrity ok |
~/.openclaw/secrets/notion_credentials.json |
~/.hermes/secrets/notion_credentials.json |
185B | sha256 match, JSON key 구조 확인 |
~/.openclaw/secrets/kis_credentials.json |
~/.hermes/secrets/kis_credentials.json |
254B | sha256 match, JSON key 구조 확인 |
~/.hermes/bot_tokens.json은 이미 존재했고 ~/.openclaw/bot_tokens.json과 sha256이 동일했다.
복사하지 않은 항목
| 항목 | 이유 |
|---|---|
~/.openclaw/data/otel_metrics.db |
1.4GB 모니터링 히스토리 DB. 현재 active cron 직접 의존이 아니며 루트 monitoring/ 성격에 가까움 |
~/.openclaw/secrets/naver_browser_profile |
nepcon_collector.py가 ~/.hermes/secrets/naver_browser_profile 경로를 갖지만 현재 active cron 아님. secrets/ 전체가 109MB라 무조건 복사하지 않음 |
~/.openclaw/memory/ |
root memory 직접 참조는 소수 legacy/진단 스크립트. active cron 직접 의존 없음 |
~/.openclaw/agents/ |
이번 grep 대상 코드에서 active cron 직접 의존 확인 안 됨 |
~/.openclaw/logs/, ~/.openclaw/monitoring/ |
역사/스냅샷 데이터. 지시대로 이전 제외 |
~/.openclaw/cron/ |
Hermes는 ~/.hermes/cron 사용 중. 이미 별도 이전됨 |
경로 rewrite 판단
수정 필요 없음.
확인한 핵심 경로:
shared/db.py: canonical DB =~/.hermes/data/ops_multiagent.dbshared/vault_paths.py:_OPENCLAW_DB = ~/.hermes/data/ops_multiagent.dbshared/telegram.py: 알림센터 로그 DB =~/.hermes/data/ops_multiagent.dbshared/llm.py:~/.hermes/.env,~/.hermes/openclaw.json,~/.hermes/logs/llmshared/kis_client.py:~/.hermes/secrets/kis_credentials.json→~/.hermes/openclaw.jsonfallback
참고: ~/.hermes/workspace-root-scripts/ops/* 쪽에는 비활성/미등록 스크립트 기준 .openclaw 문자열이 13개 남아 있다. 현재 Hermes active jobs에서는 쓰이지 않아 이번 범위에서는 건드리지 않았다.
검증 커맨드 결과 요약
sqlite3 ~/.hermes/data/ops_multiagent.db 'PRAGMA integrity_check;'
# ok
sqlite3 ~/.hermes/data/etf_weights.db 'PRAGMA integrity_check;'
# ok
sqlite3 ~/.hermes/data/n8n_pipeline.db 'PRAGMA integrity_check;'
# ok
sqlite3 ~/.hermes/data/approvals.db 'PRAGMA integrity_check;'
# ok
python3 - <<'PY'
import sys
sys.path.insert(0, '/Users/ron/.hermes/workspace/scripts')
from shared import db, vault_paths
print(db.resolve_ops_db_path())
print(db.resolve_ops_db_path().exists())
print(vault_paths._OPENCLAW_DB)
print(vault_paths._OPENCLAW_DB.exists())
PY
# /Users/ron/.hermes/data/ops_multiagent.db
# True
# /Users/ron/.hermes/data/ops_multiagent.db
# True
# active cron command 내 .openclaw 참조
# count 0
# active entry script 직접 .openclaw 참조
# 0개
변경 파일 목록
새로 생성/복사된 Hermes 파일:
/Users/ron/.hermes/auth/profiles/github-copilot.json/Users/ron/.hermes/data/ops_multiagent.db/Users/ron/.hermes/data/etf_weights.db/Users/ron/.hermes/data/n8n_pipeline.db/Users/ron/.hermes/data/approvals.db/Users/ron/.hermes/secrets/notion_credentials.json/Users/ron/.hermes/secrets/kis_credentials.json
보고서:
/Users/ron/knowledge-agent/400-reports/260415_migrate_s4_data_dirs.md
코드 파일 변경 없음.
잔존 리스크
otel_metrics.db는 미복사 상태라 admin telemetry/monitoring 계열을 Hermes 단독으로 돌릴 때 별도 판단이 필요하다.nepcon_collector.py의 브라우저 프로필(~/.hermes/secrets/naver_browser_profile)은 미복사 상태다. 해당 cron 이전 시 별도 복사/로그인 상태 검증이 필요하다.workspace-root-scripts/ops/*의 미등록 스크립트에는.openclaw문자열이 남아 있다. 현재 active cron 영향은 없지만, 해당 ops 스크립트들을 Hermes로 활성화할 때 rewrite 대상이다.
자체 평가
- 정확성: 4.7/5 — 요청한 루트 데이터 참조 매핑, 선택 복사, 활성 cron 검증 완료
- 완성도: 4.6/5 — 대용량/비활성 항목은 명시적으로 제외하고 잔존 리스크 기록
- 검증: 4.8/5 — sha256, SQLite integrity, Python path resolution, active cron
.openclaw참조 검증 완료 - 최소 변경: 4.9/5 — 코드 변경 없이 필요한 개별 파일만 복사
종합: 4.75/5