← 작업일지

2026-05-13 · v1.0.4

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.json 430B 0600
  • gmail-mcp auth → 브라우저 OAuth 흐름 → ~/.gmail-mcp/credentials.json 552B (scope: gmail.modify + gmail.settings.basic)
  • Gmail REST API self-send verify: POST /gmail/v1/users/me/messages/send HTTP 200, msg id 19e21d136e47d8bc, labelIds SENT + INBOX + UNREAD

Phase B’ — Obsidian vault 본진 clone

  • gh repo clone ssamssae/openclaw_macmini-vault → ~/Documents/openclaw_macmini/
  • HEAD 713522f Codex→Claude Code Handoff doc
  • 3.6M (Attachments/Insights/Issues/Worklog/)
  • 자동 commit/push 는 기존 /worklog /done /goodnight 스킬 활용

Phase D — OpenClaw 7단계 삭제 (비가역, step-by-step ack)

Step내용결과
1Codex 영구 종료 ack봇 채팅 미완료 task 0 확인 후 진행
2launchd 4개 unload + plist 삭제agent-mesh-watcher / gateway / oauth-monitor / daily-weather
3process killlaunchd unload 가 자동 처리
4mac mini ~/.openclaw rm -rf2.1G 삭제
5npm uninstall -g openclaw559 packages removed
6본진 ~/.openclaw rm -rf76K (identity/plugins/state mirror)
7SSH config oc aliasN/A (없음)

@openai/codexcodexbar 는 강대종 결정으로 유지. 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/cc wrapper scp + chmod +x
  • ~/.zshrcexport PATH="$HOME/bin:/opt/homebrew/bin:$PATH" 추가 (이후 bun PATH 도)
  • ~/.claude/channels/telegram/.env scp (본진 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.json scp
  • ~/.claude/settings.json 갱신 — enabledPlugins 4개 / extraKnownMarketplaces / permissions.defaultMode: bypassPermissions
  • ~/.claude/channels/telegram/{inbox,approved} mkdir
  • curl -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 --channel mode 가 OpenClaw stack 의존 (openclaw channels add). Phase D 에서 openclaw CLI 삭제됨 → mode dead path
  • 회수: --alert mode 로 다시 rotate → .env 갱신 → 본진 sync → claude session restart
  • Forcing function: --channel mode 폐지 또는 --alert alias (Phase F 처리)

Codex 운영 task 5개 본진 todos 인계

~/.openclaw rm -rf 직전 본진 ~/daejong-page/todos/2026-05-13.md 진행중 섹션에 추가 + push (commit 288ee47):

  1. agent-fleet-state ahead 4 + untracked claims/task_ack_invalid_73062/ 정리 (D09 sweep 잔여)
  2. D10 시작 전 scope read-only 확인
  3. WSL PR #14/#34 merge + 4기기 recall (본진 ack hold)
  4. D07 system install ack 미진행
  5. 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 ~/.zshrc oc() function cleanup + rotate-token.sh --channel mode 처리
  • 본진 Claude Code npm → brew 전환 (옵션 1 후반부)
  • mac mini 본진/WSL 동기화 — CLAUDE.md symlink / hooks / automations / settings.json 통합

관련 커밋

repoSHA메시지
daejong-page288ee47todos: Codex 운영 task 5개 본진 인계
daejong-page2302055todos: 본진 Claude Code npm → brew 전환 todo
daejong-pagef2d2928issue: macmini bot token grep leak 공개본
daejong-page94b31b4issue: rotate-token —channel dead path 공개본
claude-skills9434320openclaw-handoff: Codex → Claude Code 인수인계 doc
claude-skills91fdd5aissue: macmini bot token grep leak
claude-skillsc2293a5issue: rotate-token.sh —channel mode dead path