2026.05.13 작업일지 v1.0.4
13일 22:50 ~ 14일 01:01 KST. OpenClaw 시대를 닫은 새벽. Phase A(gmail-mcp) + Phase B’(Obsidian vault) + Phase D(7단계 삭제) + mac mini Codex → Claude Code 노드 전환 + 봇 토큰 사고/회수 2건 박제.
오늘의 궤적
13일 자정 직전에 결심하고 14일 01:01 KST 에 “된다” 한 줄이 떴다. 그 사이 2.1G 의 OpenClaw 흔적을 mac mini 에서 지웠고, 본진과 mac mini 양쪽의 ~/.openclaw 디렉토리도 같이 정리했다. Codex 가 쓰던 봇 채팅 @ssamssae_claw_bot 은 그대로 남기되, 뒤에서 답하던 에이전트만 Claude Code 로 갈아끼웠다. 그 과정에서 봇 토큰 풀텍스트를 conversation 에 박았고, rotate-token.sh 의 dead path 도 밟았다. 둘 다 issues/ 에 박제.
Phase A — gmail-mcp 셋업
- gog 시대 OAuth client JSON (flat 구조) 을
{"installed": {...}}형식으로 wrap + 표준 4필드 (redirect_uris=[“http://localhost”] / auth_uri / token_uri / auth_provider_x509_cert_url) 채움 ~/.gmail-mcp/gcp-oauth.keys.json430B 0600gmail-mcp auth→ 브라우저 OAuth 흐름 →~/.gmail-mcp/credentials.json552B (scope: gmail.modify + gmail.settings.basic)- Gmail REST API self-send verify:
POST /gmail/v1/users/me/messages/sendHTTP 200, msg id19e21d136e47d8bc, labelIds SENT + INBOX + UNREAD
Phase B’ — Obsidian vault 본진 clone
gh repo clone ssamssae/openclaw_macmini-vault → ~/Documents/openclaw_macmini/- HEAD
713522fCodex→Claude Code Handoff doc - 3.6M (Attachments/Insights/Issues/Worklog/)
- 자동 commit/push 는 기존 /worklog /done /goodnight 스킬 활용
Phase D — OpenClaw 7단계 삭제 (비가역, step-by-step ack)
| Step | 내용 | 결과 |
|---|---|---|
| 1 | Codex 영구 종료 ack | 봇 채팅 미완료 task 0 확인 후 진행 |
| 2 | launchd 4개 unload + plist 삭제 | agent-mesh-watcher / gateway / oauth-monitor / daily-weather |
| 3 | process kill | launchd unload 가 자동 처리 |
| 4 | mac mini ~/.openclaw rm -rf | 2.1G 삭제 |
| 5 | npm uninstall -g openclaw | 559 packages removed |
| 6 | 본진 ~/.openclaw rm -rf | 76K (identity/plugins/state mirror) |
| 7 | SSH config oc alias | N/A (없음) |
@openai/codex 와 codexbar 는 강대종 결정으로 유지. Codex CLI 자체는 별 용도 가능성.
mac mini Codex → Claude Code 노드 전환
npm uninstall -g @anthropic-ai/claude-code(v2.1.126 제거)brew install --cask claude-code(v2.1.128 설치)~/bin/ccwrapper scp + chmod +x~/.zshrc에export PATH="$HOME/bin:/opt/homebrew/bin:$PATH"추가 (이후 bun PATH 도)~/.claude/channels/telegram/.envscp (본진 sync) +TELEGRAM_BOT_TOKEN을@ssamssae_claw_bot값으로 Python swap~/.claude/plugins/cache/claude-plugins-official/28M rsync (4 plugin: swift-lsp / telegram / playwright / superpowers)installed_plugins.jsonscp~/.claude/settings.json갱신 —enabledPlugins4개 /extraKnownMarketplaces/permissions.defaultMode: bypassPermissions~/.claude/channels/telegram/{inbox,approved}mkdircurl -fsSL https://bun.sh/install | bash→~/.bun/bin/bun(plugin:telegram MCP server runtime)tmux new-session -d -s claude 'claude --channels plugin:telegram@claude-plugins-official'access.json(allowlist 538806975) scp
검증: getUpdates HTTP 409 Conflict = polling 정상 / 강대종 “안녕” → 🏭 응답 → 강대종 “된다” (01:01 KST).
봇 토큰 사고 / 회수 (issues 박제 2건)
Issue A 2026-05-14-macmini-bot-token-grep-leak.md (medium / medium)
- 원인: 첫 grep 호출에서 sed/awk 정제 누락 →
TELEGRAM_BOT_TOKEN_MACMINI풀텍스트가 conversation 로그에 박힘 - 회수: BotFather rotate → 옛 토큰 invalidate
- Forcing function: secret env grep 시
length+tail만 노출 + 토큰 형식 정규식 hook 후보 (Phase F 묶음)
Issue B 2026-05-14-rotate-token-channel-mode-dead.md (medium / low)
- 원인:
rotate-token.sh --channelmode 가 OpenClaw stack 의존 (openclaw channels add). Phase D 에서 openclaw CLI 삭제됨 → mode dead path - 회수:
--alertmode 로 다시 rotate → .env 갱신 → 본진 sync → claude session restart - Forcing function:
--channelmode 폐지 또는--alertalias (Phase F 처리)
Codex 운영 task 5개 본진 todos 인계
~/.openclaw rm -rf 직전 본진 ~/daejong-page/todos/2026-05-13.md 진행중 섹션에 추가 + push (commit 288ee47):
- agent-fleet-state ahead 4 + untracked
claims/task_ack_invalid_73062/정리 (D09 sweep 잔여) - D10 시작 전 scope read-only 확인
- WSL PR #14/#34 merge + 4기기 recall (본진 ack hold)
- D07 system install ack 미진행
- D08/D09 follow-up queue + no-push 룰 노이즈 재점검
메모리 박제
project_macmini_codex_to_claude_code.md 신규 — 다른 Claude 세션이 “mac mini = Codex/OpenClaw” stale 컨텍스트로 작업하면 오작동 위험 차단. MEMORY.md 인덱스 +1줄.
남은 작업 (내일)
- Phase E Hermes 삭제 (범위 미정 — A/B/C 결정 필요)
- Phase F claude-skills doc 라벨 (Codex) → (Claude Code) + mac mini
~/.zshrcoc()function cleanup + rotate-token.sh--channelmode 처리 - 본진 Claude Code npm → brew 전환 (옵션 1 후반부)
- mac mini 본진/WSL 동기화 — CLAUDE.md symlink / hooks / automations / settings.json 통합
관련 커밋
| repo | SHA | 메시지 |
|---|---|---|
| daejong-page | 288ee47 | todos: Codex 운영 task 5개 본진 인계 |
| daejong-page | 2302055 | todos: 본진 Claude Code npm → brew 전환 todo |
| daejong-page | f2d2928 | issue: macmini bot token grep leak 공개본 |
| daejong-page | 94b31b4 | issue: rotate-token —channel dead path 공개본 |
| claude-skills | 9434320 | openclaw-handoff: Codex → Claude Code 인수인계 doc |
| claude-skills | 91fdd5a | issue: macmini bot token grep leak |
| claude-skills | c2293a5 | issue: rotate-token.sh —channel mode dead path |