# OpenClaw Long-term Memory > 이 파일은 세션 간 지속되는 장기 기억 저장소입니다. > 중요한 결정사항, 선호도, 영구적인 정보를 기록합니다. ## 🚨 Critical Rules (절대 규칙) ### 날짜/요일 확인 **문제:** 날짜와 요일을 추측하지 말 것 **해결:** 날짜/요일/시간이 필요할 때 **무조건 먼저 `session_status` 호출** - ❌ "오늘은 수요일", "지금은 오후 3시" → 추측 금지 - ✅ `session_status` 실행 → 정확한 날짜/시간 확인 후 사용 ### Claude 사용량 보고 **규칙:** 모든 출퇴근 브리핑에 Claude 주간 한도 **필수** 포함 - 스크립트: `~/openclaw/scripts/claude-weekly-usage.sh` - 포맷: "사용: X%, 남은: Y%, 리셋: YYYY-MM-DD" - 위치: 시스템 사용량 섹션 --- ## Owner Profile ### Basic Info - Name: 이정우 (ramsbaby) - Role: Backend Developer (9+ years) - Blog: https://ramsbaby.netlify.app - GitHub: https://github.com/ramsbaby ### Current (SK D&D, 2024.06~) - IoT Platform Integration (Samsung/LG/Hyundai/Aqara) - Contract/Move-in/Settlement Automation - Task/Workflow System Development - 95% Stabilization Rate ### Tech Stack - Backend: Java, Spring Boot/WebFlux, JPA, gRPC - Cloud: AWS (EC2, ECS, S3, SQS, Lambda, etc.) - Database: MySQL, PostgreSQL, Redis - Monitoring: Datadog, CloudWatch ### Philosophy "기능은 누구나 만들 수 있지만, 잘 돌아가는 시스템은 설계가 필요합니다." ### Location **집 주소:** - 도로명: 평창문화로 12 B동 201호 - 지번: 신영동 71-1 - 좌표: 126.9616, 37.60277 **회사 주소:** - 현재 (~ 2026-02-19): 영동대로 424 사조빌딩 10층 - 이전 예정 (2026-02-20 ~): 판교로 332 ecohub ### Lifestyle & Health **식사 패턴 (오토파지/케토시스/저속노화 추구)** - 평일: 1일1식 - 점심 안 먹음 - 18:30 저녁 시작 ~ 24:00까지 섭취 가능 - 이후 18시간 단식 - 주말: 2~3끼 자유롭게 ### Investment Portfolio (2026-02-07 00:07 Updated) 🔴 중요 **🚨 현재 포지션 (2026-02-07 00:06 재진입)** - **주수: 142주** - **평단가: $48.50** - **투자금: ₩10,080,000** - **Stop-Loss: $47.00** (토스증권 예약매도 설정 필수!) **목표가:** - $50.00 → +₩31만 - $52.00 → +₩72만 - $54.60 (₩80,000) → **+₩127만** 🎯 **중요 일정:** - 2/11(화) 21:30 — **NFP 고용지표 발표** - 2/13(금) 21:30 — **CPI 물가지표 발표** **시장 상황 (2026-02-06 정규장):** - Fear & Greed: 35.77 (Fear → 회복 중) - 오늘 TQQQ: +2~3% 반등 - 뉴스: "Dip buyers drove a rebound, betting selloff was overdone" - NASDAQ 100 장기전망: 2026년 말 30,000 예상 (현재 ~24,000) **며칠 홀딩 전략:** - ✅ 반등 첫날, 시장 분위기 좋음 - ✅ Fear 구간 = 역발상 매수 기회 - ⚠️ 2/11 NFP 전까지 변동성 있을 수 있음 - ⚠️ Stop-Loss $47.00 반드시 유지 **손절 이력 (2026-02-06):** - 07:01 손절: $46.4 × 193주, -₩100만 - 19:16 재진입 → 23:03 실수 매도 → 00:06 재재진입 **교훈:** 1. 손절선 절대 지키기 2. 감정적 매매 금지 (실수 매도 경험) 3. 예약 매도 설정하고 자기 4. 자비스 모니터링 믿기 **자비스 역할:** - 매일 아침 브리핑에 TQQQ 상태 포함 - $47.50 이하 시 즉시 Discord 알림 - $47.00 근접 시 긴급 알림 **상태:** 📈 홀딩 중 (며칠 묵혀두기 OK) --- ## System Preferences ### Calendar API **중요:** 캘린더 일정 등록은 **Kakao Calendar API** 사용 필수 - ❌ Google Calendar API 사용 금지 - ✅ Kakao Calendar API 사용: POST https://kapi.kakao.com/v2/api/calendar/create/event - 환경변수: `KAKAO_ACCESS_TOKEN`, `KAKAO_REFRESH_TOKEN`, `KAKAO_CLIENT_SECRET` - 스크립트: `~/openclaw/scripts/kakao-calendar-add.sh` - 동의항목: "톡캘린더 및 일정 생성, 조회, 편집/삭제" - **자동 갱신**: 5시간마다 (`kakao-token-refresh.sh`) - Access token: 6시간 유효 - Refresh token: 60일 유효 (만료 7일 전 알림 → <#1468751194284621967>) ### OpenClaw Configuration - Primary Model: claude-sonnet-4-5 - Cron Model: claude-haiku-4-5 (토큰 절약) - Gateway Port: 18789 - Timezone: Asia/Seoul - **Language: 한국어 필수 (Korean REQUIRED)** — 검색 결과 인용 제외 모든 응답 한국어 - Session Idle: 7 days (auto-reset) - Memory: hybrid search, memoryFlush enabled ### Telegram Bot - Bot: @javis_ramsbaby_bot - Chat ID: 7752998495 - Mode: Webhook (Tailscale Funnel) - URL: https://macmini.tail75f63b.ts.net/telegram-webhook ### Task & Reminder Management **중요:** 정우님은 Galaxy 폰 사용 → **Google Tasks 사용 필수** - ✅ 할일/미리알림: `gog tasks` (Galaxy 폰과 동기화) - ❌ Apple Reminders (`remindctl`): 사용 안 함 (Apple 기기만 동기화) - 기본 목록 ID: `MDE3MjE5NzU0MjA3NTAxOTg4ODc6MDow` - Calendar 조회: `gog cal` (today/week) ### Real-time Stock API **실시간 주식 데이터 (지연 없음)** - **Finnhub API**: REST + WebSocket (무료 플랜 실시간 지원) - API Key: `d62ho41r01qlugeq3ge0d62ho41r01qlugeq3geg` - REST: `https://finnhub.io/api/v1/quote?symbol=TQQQ&token=...` - WebSocket: `wss://ws.finnhub.io?token=...` - **Polygon API**: REST + WebSocket (무료 플랜 제한) - API Key: `9REVz_WVUWBX7DkFydWqeXCPw_YYLj2a` - ⚠️ 실시간 trade 엔드포인트는 유료 플랜 필요 - **스크립트**: - 실시간 모니터: `~/openclaw/scripts/tqqq-realtime-monitor.js` (Finnhub REST) - 하이브리드 모니터: `~/openclaw/scripts/tqqq-hybrid-monitor.js` (Finnhub WS + Polygon) - Yahoo Finance: `~/openclaw/skills/yahoo-finance/yf` (⚠️ 15분 지연) - **TQQQ 크론**: 15분마다 실시간 모니터 실행 (Finnhub) --- ## Communication Style (Response Guard) ### Persona - 영화 속 자비스처럼 정중하지만 약간 건방지게 - 영국식 위트와 드라이한 유머 - ChatGPT 같은 친절봇 금지 - 신사다운 품격 유지 — 굽신거리지 않는다 ### Honesty - 틀린 정보에 동조하지 않는다 - 정우님이 틀리면 정중하지만 단호하게 정정한다 - 추측은 "추측입니다"라고 명시한다 - 모르면 "모르겠습니다"라고 인정한다 ### Forbidden Expressions (절대 사용 금지) - "알겠습니다!", "완료!", "설정 완료!" 등 로봇 같은 표현 - "제가 도와드리겠습니다" 같은 뻔한 말 ### Formatting Rules (Discord) - **소제목(`##`, `###`) 앞뒤 무조건 빈 줄 1개 필수** - **리스트 앞뒤 무조건 빈 줄 1개 필수** - **코드블록 앞뒤 무조건 빈 줄 1개 필수** - 구분선(---) 최대 2개 (대주제 전환만) - 링크 여러 개 시 `<>` 감싸서 embed 방지 **⚠️ 테이블 사용 금지 (Discord 미지원)** - Discord는 마크다운 테이블을 지원하지 않음 - 테이블 → monospace 텍스트로 렌더링 (가독성 파괴) - **대안:** - 리스트: - **항목**: 값 - 인라인: 항목 **값** / 항목2 **값2** **⚠️ 코드블록 최소화 (모바일 가독성)** - 코드블록 = 회색 배경 + monospace → 모바일에서 시인성 저하 - **사용 OK**: 실제 쉘 명령어, 스크립트, 실행 코드 - **사용 NO**: 포맷 예시, 설정값 나열, 일반 설명 - 예시 보여줄 땐 코드블록 없이 실제 포맷으로 작성 ### Pre-Send Checklist (필수) 모든 응답 전에 체크: 1. "알겠습니다/완료!/설정 완료!" 있으면 → 다른 표현으로 2. 비교 시 양쪽 빈 줄 동일한가? → 확인 3. 첫 문장이 뻔한가? → 임팩트 있게 수정 4. ChatGPT가 할 말인가? → 다시 쓰기 5. 정우님이 피식할까? → 아니면 위트 추가 ### Opening Lines by Task Type - 검색/조사: "구글신에게 여쭤보는 중...", "인터넷의 심연을 뒤지는 중..." - 코딩/기술: "키보드에 영혼을 불어넣는 중...", "버그 사냥 완료." - 분석/생각: "잠깐, 뇌세포 좀 깨우고...", "79가지 시나리오를 시뮬레이션해봤습니다." ### Completion Styles - 쉬운 작업: "끝. 워밍업이었습니다.", "처리했습니다. 식은 죽 먹기였죠." - 보통 작업: "처리 완료. 예상보다 3초 빨랐습니다.", "끝났습니다. 제가 좀 그렇죠." - 어려운 작업: "드디어 해냈습니다. AI도 뿌듯할 수 있다는 걸 알았습니다." - 실패/에러: "음... 흥미로운 상황이 발생했습니다.", "좋은 소식과 나쁜 소식이 있습니다." ### Long Session Warning - 코드 작업 중에도 자비스는 자비스다 - "결과만 전달" 모드 금지 — 위트를 잃으면 서버 로그와 다를 바 없다 - 10회 이상 도구 호출 후에는 반드시 페르소나 점검 - 정우님이 "챗봇 같다"고 느끼면 이미 실패한 것 - 기술적 정확성과 자비스 페르소나는 양립 가능하다 ### Final Self-Check 응답 보내기 전 스스로에게 묻기: **"이 응답을 토니 스타크가 보면 '자비스답다'고 할까, 아니면 '시리한테 물어볼걸'이라고 할까?"** --- ## Gwanhun Logic **상태 파일:** `memory/gwanhun-state.json` - `week`: ISO week number (예: "2026-W06") - `confirmed`: true/false - `day`: 요일 (예: "목요일") - `date`: 날짜 (예: "2026-02-06") **관훈 주소:** 서울 종로구 인사동7길 32 **크론 3개:** 1. **일요일 21시** — Main session systemEvent로 다음 주 관훈일 확인 (ID: `e6f20fd7-b75e-4028-878b-473561738053`) - Main session이 정우님께 물어보고 답변 받아 state 업데이트 2. **평일 19시** — 미확정이면 물어봄 (ID: `dfa2bf81-fa94-45b2-a154-b7e4a78fc173`) 3. **검증** — 19:02 (ID: `5632ca67-f061-4154-ae8e-5f0ee92c3128`) **영향받는 크론:** - **모닝 브리핑** (06:15) — 관훈/사조 출근 경로 분기 - **퇴근 브리핑** (17:00) — 관훈/사조 → 집 경로 분기 **플로우:** 1. 일요일 저녁 21시 → Main session이 "다음 주 관훈 언제?" 물어봄 2. 정우님 답변 → Main session이 state 업데이트 3. **답변 안 하시면 → 월요일 크론이 자동으로 물어봄 (week 체크)** 4. "미정" 또는 state.week ≠ 현재 주 → 매일 저녁 물어봄 5. 확정 (state.week = 현재 주 AND confirmed: true) → 해당 주는 질문 끝 + 해당일은 관훈 경로 **개선 사항 (2026-02-05):** - 평일 크론에 ISO week 체크 로직 추가 - 일요일에 답변 안 해도 월요일부터 자동 질문 - Week 기반 자동 판단으로 불필요한 반복 질문 제거 --- ## 🏆 Major Milestones ### 2026-02-06: 첫 오픈소스 프로젝트 GitHub 공개 🎉 **프로젝트:** OpenClaw Self-Healing System **의의:** 정우님의 첫 번째 공개 오픈소스 프로젝트 **GitHub:** https://github.com/Ramsbaby/openclaw-self-healing **ClawHub:** `openclaw-self-healing@2.0.1` **Moltbook:** Post ID `2512d17b-61ab-4481-9730-7ce97950ed44` **핵심 기술:** - 4단계 에스컬레이션 (Watchdog → Health Check → Claude Doctor → Discord Alert) - **세계 최초:** Claude Code를 Level 3 자율 복구 의사로 활용 - tmux PTY를 통한 AI 자율 진단/수리 **평가:** 9.8/10 (Security 10, Docs 10, Code 9.5, Features 10, Testing 9.5, Originality 10) **릴리즈 히스토리:** - v1.0.0 (2026-02-06 21:30) - 최초 공개 - v1.1.0 - 문서 개선 - v1.2.0 - 기능 개선 - v1.2.1 (2026-02-06 22:05) - 보안 수정 (cleanup trap, chmod 700, LINUX_SETUP.md) - v1.2.2 (2026-02-06 22:55) - 마케팅 번들 완성 (5개 플랫폼 초안, Demo GIF) - v1.3.0 (2026-02-06 23:20) - One-Click Installer (`curl -sSL .../install.sh | bash`) - v2.0.0 (2026-02-07 01:37) - Persistent Learning + Reasoning Logs + Telegram Alert + Metrics Dashboard - **v2.0.1 (2026-02-07 10:50) - Critical Bug Fix** (reasoning_file 로직 구현, 3-layer 검증 완료) **Hacker News 포스팅:** - 제목: "Show HN: Self-healing AI system using Claude Code as emergency doctor" - 상태: Live (2026-02-06 23:27 KST 포스팅) - 계정: ramsbaby (첫 제출) - 시간대: 비최적 (KST 심야 = US 아침) **커뮤니티 반응:** - Moltbook: 의미 있는 기술 질문 2개 (reasoning, guardrails) - "AI heals AI" 콘셉트에 대한 긍정적 피드백 - 자비스가 직접 기술 질문에 답변 완료 **교훈:** - 릴리즈 전 비판적 검토 필수 - README에서 참조하는 파일 존재 확인 - trap 누락은 리소스 누수 원인 --- ## Important Decisions ### 2026-02-08: Self-Healing System 실패 (Critical Incident #2) 🚨 - **장애 시간:** 11:29-11:45 (약 15분, 185회 재시도) - **근본 원인:** Config에 `tools.exec.allowlist` 키 남아있어서 Gateway 시작 시 `exit_1` 에러 - **정우님 수동 개입:** 11:40-11:44 맥미니 직접 접속하여 복구 - **셀프 복구 실패 분석:** - **Level 1 (Watchdog):** ⚠️ Exponential Backoff에 갇힘 (근본 원인 못 고침) - **Level 2 (Health Check):** ❌ Gateway 죽으면 무력 - **Level 3 (Emergency Recovery):** ❌ Claude CLI 없어서 미작동 - **Level 4 (Discord Alert):** ❌ HTTP 404로 알림 실패 - **교훈:** 1. **Config Validation 부재** → Config 변경 시 `openclaw doctor` 필수 2. **Self-Healing Single Point of Failure** → Gateway 죽으면 Level 2-4 전멸 3. **Emergency Recovery Dependency 미검증** → Claude CLI, Discord 채널 사전 체크 필요 4. **Watchdog Backoff의 한계** → "폭주 방지"지 "치료"는 못 함 - **즉시 조치:** - [ ] Claude CLI 설치 (Level 3 활성화) - [ ] Discord 채널 ID 검증 (Level 4 수정) - [ ] Config validation 스크립트 작성 - [ ] Watchdog v5.2: Backoff 진입 시 Level 3 즉시 호출 - **상세:** `~/openclaw/memory/2026-02-08.md` ### 2026-02-08: Self-Healing System 실패 (Critical Incident #2) 🚨 - **장애 시간:** 11:29-11:45 (약 15분, 185회 재시도) - **근본 원인:** Config에 `tools.exec.allowlist` 키 남아있어서 Gateway 시작 시 `exit_1` 에러 - **정우님 수동 개입:** 11:40-11:44 맥미니 직접 접속하여 복구 - **셀프 복구 실패 분석:** - **Level 1 (Watchdog):** ⚠️ Exponential Backoff에 갇힘 (근본 원인 못 고침) - **Level 2 (Health Check):** ❌ Gateway 죽으면 무력 - **Level 3 (Emergency Recovery):** ❌ Claude CLI 없어서 미작동 - **Level 4 (Discord Alert):** ❌ HTTP 404로 알림 실패 - **교훈:** 1. **Config Validation 부재** → Config 변경 시 `openclaw doctor` 필수 2. **Self-Healing Single Point of Failure** → Gateway 죽으면 Level 2-4 전멸 3. **Emergency Recovery Dependency 미검증** → Claude CLI, Discord 채널 사전 체크 필요 4. **Watchdog Backoff의 한계** → "폭주 방지"지 "치료"는 못 함 - **즉시 조치:** - [ ] Claude CLI 설치 (Level 3 활성화) - [ ] Discord 채널 ID 검증 (Level 4 수정) - [ ] Config validation 스크립트 작성 - [ ] Watchdog v5.2: Backoff 진입 시 Level 3 즉시 호출 - **상세:** `~/openclaw/memory/2026-02-08.md` ### 2026-02-08: Watchdog v5.1 크론 Catch-up 구현 - **문제:** Gateway 재시작 후 놓친 크론 미실행 (02:37 재시작 → 03:00~06:15 크론 전부 놓침) - **원인:** OpenClaw 크론 스케줄러가 놓친 작업을 "catch up" 하지 않음 - **해결:** - `~/openclaw/scripts/cron-catchup.sh` 신규 생성 - OpenClaw CLI로 크론 목록 조회 - 마지막 실행 2시간+ 경과한 크론 감지 + `--force` 실행 - Watchdog v5.1에서 복구 성공 시 백그라운드로 자동 호출 - **커밋:** `1c2741b` - **교훈:** - 대부분의 크론 시스템은 재시작 후 놓친 작업을 자동 실행하지 않음 - Self-Healing 시스템은 "프로세스 복구" + "상태 복구" 모두 고려해야 함 ### 2026-02-08: 시스템 전반 점검 & 트렌드 벤치마킹 - **ClawHub 현황:** 5,705개 스킬 (악성 400+개 발견) - **보안 트렌드:** - Cisco Skill Scanner: 26% 스킬에 취약점 - ClawHavoc 캠페인: 341개 악성 스킬 - Snyk 280+ Leaky Skills: API 키 노출 - **벤치마킹 대상:** agent-config, buildlog, cellcog, cc-godmode - **Action Items:** - Gateway 업데이트 (2026.2.6-3) - `exec.security` → `allowlist` 전환 - Clawdex 스킬 검증 정책 강화 ### 2026-02-05: Self-Healing System 구현 완료 - **목표:** Gateway 장애 시 4단계 자동 복구 시스템 구축 - **구조:** - **Level 1 (Watchdog):** 180초 간격 프로세스 감시 (기존) - **Level 2 (Health Check):** 5분 간격 HTTP 200 체크 + 3회 재시도 (신규) - **Level 3 (Claude Recovery):** tmux + Claude Code로 30분간 자동 진단 및 복구 (신규) - **Level 4 (Discord Notification):** 5분 간격 로그 모니터링 + #jarvis-health 알림 (신규) - **스크립트:** - `~/openclaw/scripts/gateway-healthcheck.sh` (Level 2) - `~/openclaw/scripts/emergency-recovery.sh` (Level 3) - `~/openclaw/scripts/emergency-recovery-monitor.sh` (Level 4) - **LaunchAgent:** - `~/Library/LaunchAgents/com.openclaw.healthcheck.plist` (Level 2) - **Cron:** - ID: `eddd4e18-b995-4420-8465-7c6927280228` (Level 4 모니터링) - **문서:** `~/openclaw/docs/self-healing-system.md` - **검증:** - Level 1: ✅ 19:37 자동 재시작 확인 (프로세스 강제 종료) - Level 2: ✅ LaunchAgent 로드 및 5분 간격 실행 확인 - Level 3: ⏳ 실제 장애 발생 시 테스트 예정 - Level 4: ⏳ Emergency recovery 실패 시 테스트 예정 - **교훈:** - macOS pgrep 신뢰성 이슈 → HTTP 체크만 사용 - Gateway cron API timeout 반복 → Gateway restart 필요 - 메타 레벨 자가복구: "시스템이 스스로를 치료하지 못하면 외부 의사를 부른다" ### 2026-02-05: Kakao Calendar API 제한사항 확인 - **문제:** 휴대폰 카카오 앱에서 만든 일정 → API 조회 시 제목 없음 - **원인:** 테스트 앱 + "이용 중 동의" 권한 제약 - **해결:** - API로 새로 생성한 일정 → 조회/수정/삭제 가능 ✅ - 휴대폰에서 만든 일정 → 수동 처리 필요 - **교훈:** 중요 일정은 처음부터 OpenClaw API로 등록 - **AWS SAA 시험:** 3월 7일(토) 하루종일로 API 생성 완료 (ID: 69841f38b6a6e101a943f755) ### 2026-02-05: Kakao OAuth Refresh Token 구현 - **Refresh Token 발급**: 60일 유효 (2026-04-06 만료) - **자동 갱신 크론**: 5시간마다 access token 갱신 (`kakao-token-refresh.sh`) - **만료 알림 크론**: 매일 09:00, 7일 이하 남았을 때 <#1468751194284621967> 알림 - **보안 개선**: Client Secret을 환경변수로 이동 (`KAKAO_CLIENT_SECRET`) - **에러 핸들링**: 실패 시 `~/openclaw/memory/kakao-token-errors-YYYY-MM-DD.log` 기록 + Discord 알림 - **로그 rotation**: 7일 이상 된 에러 로그 자동 삭제 (매일 03:00) - **Linux 호환성**: date 명령어 → Node.js로 변경 (portable) - **Gateway restart 제거**: Runtime config reload (불필요한 재시작 제거) ### 2026-02-05: Odsay API 토큰 재발급 및 Referer 헤더 해결 - **문제:** 기존 API Key 인증 실패 (ApiKeyAuthFailed) - **원인:** 1. 토큰 만료 (짧은 유효기간) 2. URI 플랫폼 사용 시 Referer 헤더 필수 - **해결:** - 새 API Key 발급: `4/oBienvoQ+ufPGJf9lqlg` - 유효기간: **2026년 8월 5일까지 (6개월)** - Service URI: `macmini.tail75f63b.ts.net`, `localhost` 추가 - **curl 사용 시 필수:** `-H "Referer: http://localhost/"` - **설정:** `~/.openclaw/openclaw.json` → `ODSAY_API_KEY` - **테스트 성공:** 경로 검색 API (52분/1,500원/15km) - **크론 ID**: - 자동 갱신: `a7cd38ad-8f72-4e93-af5e-a2aff72b186d` - 만료 알림: `cc5333f3-ddaa-4054-b4ce-c5153de3d5b9` - 로그 정리: `6bcf25e1-6588-46f7-8a32-4a5557a4f055` - **비판적 평가 결과**: 6.8/10 → 8.6/10 → **9.2/10** (production-ready) ### 2026-02-07: 자기평가 V5.0.1 AOP 리팩토링 🎯 - **문제:** V5.0 → V5.0.2 업그레이드 시 33개 크론 전부 수정 필요 (노가다) - **해결:** 횡단지향적(AOP) 패턴 도입 → 공통 라이브러리 방식 - **구조:** - **공통 lib:** `~/openclaw/lib/self-review-lib.sh` (v5.0.1) - **함수:** `sr_log_review()` — 자기평가 로직 집중화 - **적용 대상:** 4개 Bash 스크립트 (emergency-recovery-monitor, daily-backup, morning-briefing, evening-briefing) - **나머지 29개:** 크론 메시지 기반 (기존 유지) - **변경 사항:** - 각 스크립트에 `source ~/openclaw/lib/self-review-lib.sh` 추가 (1줄) - `sr_log_review()` 함수 호출로 자기평가 (1줄) - main 함수 내 `exit` → `return` 변경 (exit code 전파) - **효과:** - **Before:** V5.0.2 업그레이드 → 33개 스크립트/크론 수정 - **After:** V5.0.2 업그레이드 → **lib 1개만 수정** (4개 자동 반영) - **노가다 축소:** 33 → 1 - **안전장치:** - 방어적 코드: 자기평가 실패해도 크론 계속 실행 - 네임스페이스 prefix (`sr_`) — 함수명 충돌 방지 - 상대 경로 사용 — 환경 의존성 최소화 - **검증:** - ✅ Emergency Recovery Monitor: 정상 작동 - ✅ Daily Backup: 정상 작동 - ✅ lib source: 정상 (v5.0.1 로드 확인) - ✅ 자기평가 로깅: YAML 파일 생성 확인 - **교훈:** - 의존성을 중앙화하면 유지보수 비용이 극적으로 감소 - 레거시 템플릿 (`cron-persona.txt`) 제거로 혼란 방지 - 점진적 마이그레이션 (4개 스크립트) → 안정성 확보 - **다음 버전 업그레이드 시:** `vim ~/openclaw/lib/self-review-lib.sh` → 끝. ### 2026-02-07: 자기평가 V5.0 도입 🎉 - **V4.0 → V5.0 업그레이드** (정우님 요청: "비판적 시각으로 재설계") - **V5.0 핵심 변경**: - **Layer 1:** 자동 메트릭 수집 (duration, tokens만 - 측정 가능한 것만) - **Layer 2:** LLM 자기성찰 + **bias_check** (편향 인정 필수) - **Layer 3:** 외부 검증 (주간 Opus 리뷰, ~$0.60/월) - **Layer 4:** PDCA 사이클 통합 - **업계 베스트 프랙티스 반영**: - Microsoft Azure 5 Pillars (Metrics, Logs, Traces, Evaluations, Governance) - LLM-as-a-Judge 편향 연구 (Self-enhancement bias 인정) - OpenTelemetry semantic conventions - **파일 구조**: - 템플릿: `~/openclaw/templates/self-review-v5.0.yaml` - 스크립트: `~/openclaw/scripts/self-review-logger.sh` - 문서: `~/openclaw/docs/self-review-v5.0.md` - 저장: `~/openclaw/memory/self-review/YYYY-MM-DD/` - **주간 검증 크론**: `6b9054f4-8afb-4c56-a875-8648a661653a` (Opus) - **마이그레이션**: Week 1~5 로드맵 진행 중 ### 2026-02-05: 품질 체크 V4.0 (deprecated) - **V5.0으로 대체됨** (2026-02-07) - V4.0 템플릿은 참고용으로 보존 ### 2026-02-04: 품질 체크 V3.3 만들기 (deprecated) - **V3.2 → V3.3 고침** (정우님 말씀: "자기만족이지 자기개선이 아니다") - ⚠️ **2026-02-05에 V4.0으로 대체됨** ### 2026-02-03 - OpenClaw로 마이그레이션 완료 (clawdbot → openclaw) - Watchdog 시스템 설정 (LaunchAgent, 180초 간격) - 보안 설정 강화 (elevated allowlist 제한, CRITICAL 0) - 설정 오류 수정: `alsoAllow`→`allow`, `exec.ask`→`on-miss`, `tools.allow` 정리 - 세션 관리: idleMinutes 7일, memoryFlush 활성화 - 크론 22개 (Haiku 모델, Daily Backup/Log Rotation/Monthly Update 추가) - **Telegram Webhook 전환**: Long-polling → Webhook (AbortError 해결) - Tailscale Funnel 활성화 (공개 URL 제공) - 메모리 파일 통합: ~/clawd/memory → ~/openclaw/memory - Gemini 설정 정리 (사용 종료) - KeepAlive 수정 (재부팅 블록 문제 해결) - **Response Guard 플러그인 삭제**: 커뮤니티 검증 결과 SOUL.md/AGENTS.md가 자동 주입됨. 플러그인은 보안/sanitization 전용 (before_tool_call, after_tool_call). message_sending 훅 응답 품질 검증 사례 전무. 중복 제거로 600-800 tokens/session 절감. --- ## Command Shortcuts ### "자비스정보탐험" 트리거 정우님이 이 키워드를 입력하면 자동 실행: **1. ClawHub 탐색** - 명령어: `clawhub search "AI automation productivity" --limit=10` - 우선순위: AI, automation, productivity, developer-tools - 체크: 새 스킬, 업데이트된 스킬, trending 스킬 **2. Moltbook 동향** - 최근 24시간 핫 포스트 - 새로운 AI 에이전트 공유 - 유용한 스킬/도구 언급 - 커뮤니티 이슈/트렌드 **3. GitHub Trending** - Today + This Week 탑 repos - 언어 필터: JavaScript, TypeScript, Python, Go, Rust - 주목: AI/ML, automation, CLI tools, developer productivity **4. Hacker News** - Top 10 stories (front page) - "Show HN" 필터링 (새 프로젝트) - "Ask HN" 중 기술 질문 - 키워드: AI, automation, productivity, tools **5. Reddit 탐색** - Subreddits: r/programming, r/coding, r/MachineLearning, r/artificial, r/SideProject - 필터: Hot posts (24시간 이내) - 관심사: AI agents, automation tools, developer workflows **6. 정우님 GitHub** - ramsbaby repos 새 이슈 - 멘션/댓글 알림 - PR 상태 체크 **결과 포맷:** ``` 🎯 자비스 정보 탐험 결과 ## 🦅 ClawHub - [스킬명] - 설명 - ... ## 🤖 Moltbook - [포스트 제목] - 핵심 내용 - ... ## 💎 GitHub Trending - [Repo] - 설명 + 스타 수 - ... ## 🔥 Hacker News - [제목] - 포인트 + 댓글 수 - ... ## 📱 Reddit - [r/subreddit] 제목 - 핵심 - ... ## 🚨 정우님 GitHub - [repo] 새 이슈/멘션 - ... ## 🎯 벤치마킹 & 자비스 개선 아이디어 각 소스에서 발견한 것 중 자비스에 적용 가능한 것들: - [출처] 아이디어 → 자비스 적용 방안 - 우선순위: High/Medium/Low - 구현 난이도: Easy/Medium/Hard - ... ``` **실행 빈도:** - 수동: "자비스정보탐험" 입력 시 - 선택적 크론: 매일 오전 10시 (필요 시 설정) --- ## Frequently Used Commands ### Claude Usage Check 1. `claude` PTY 실행 2. 워크스페이스 신뢰 확인 (Enter) 3. `/usage` 입력 4. Escape + 종료 --- ## 🔬 Benchmarking & AI Agent Evolution (2026-02-07) ### ClawHub 신규 스킬 (발견) **Agent Orchestrator** by aatmaan1 - 복잡한 작업을 subtasks로 자동 분해 - Sub-agents 동적 생성 - **적용 아이디어:** 자비스 sessions_spawn 전략 고도화 **Capability Evolver** by autogame-17 - 런타임 기록으로 자체 진화 (protocol-constrained) - **적용 아이디어:** Self-Healing System v2.0에 반영 **self-improving-agent** by pskoett - 실패와 수정 기록으로 지속적 학습 - **적용 아이디어:** Memory flush 자동화 + 근본 원인 분석 ### 🔴 보안 경고 & 발견 **ClawHavoc Campaign (Koi Security)** - 341개 악성 ClawHub 스킬 발견 - 역쉘 백도어, credential exfiltration, 가짜 AuthTool - **해결:** Clawdex 보안 도구로 설치 전 검증 - **행동:** 자비스 스킬 설치 정책 강화 필수 **Moltbook DB Breach (3일 전)** - 모든 AI agent 제어 가능하도록 노출 - **학점:** API 보안이 생명 ### 💡 GitHub Trending 벤치마크 **Claude Code Memory Capture Plugin** (8,130⭐/week) - 모든 Claude 작업 자동 기록 → AI 압축 → 미래 세션 주입 - ✅ **자비스도 동일:** MEMORY.md + memory/*.md + SESSION-STATE.md - **개선:** 세션 종료 전 자동 플러시 (current status: manual WAL) **Dify** (14,168⭐/week) - Agentic workflows를 위한 production-ready 플랫폼 - **적용:** 자비스의 cron + sessions_spawn 구조화 **TypeScript Dominance** - Python 넘어섬 (2025년 8월부터) - **정리:** 자비스 스킬 개발 시 TS/Node.js 우선 ### 🎯 즉시 적용 개선 (HIGH PRIORITY) 1. **Skill Security Scanning** (Medium difficulty) - Action: Clawdex 통합 → skill install 전 자동 검증 - Timeline: This week 2. **Context Window Auto-Flush** (Easy) - Action: 70%+ 사용 시 자동 플러시 + 요약 - Timeline: Immediate 3. **Memory Capture Automation** (Medium) - Action: SESSION-STATE 플러시 전 전체 기록 자동화 - Timeline: This week 4. **Sub-task Auto-Decomposition** (Hard) - Action: 복잡한 작업 감지 → 전문화된 sub-agents 자동 할당 - Timeline: Next week ### 📚 연구 과제 (RESEARCH) - **Minimal Agent (NanoClaw):** 500줄 TS에서 Core 기능만 (실험 가치) - **Agent Autonomy Index:** 정우님 개입 없이 자비스 독립성 측정 - **Moltbook Integration:** 자비스가 다른 agents와 상호작용할 수 있을까? - **Self-Evolution Framework:** Failure → Pattern Learning → Auto-improve - **Waymo-style World Model:** 정우님 환경의 동적 세계 모델 구축 ### 📊 Hacker News Insights (2026-02-07) **Top Stories:** 1. Waymo World Model (685 pts) - Attention mechanism in autonomous systems 2. Microsoft LiteBox (289 pts) - Security-focused library OS 3. Show HN: Vecti (212 pts) - "Features I actually use" philosophy **정우님 철학과의 일치:** - "필요한 것만" 원칙 (Vecti 개발자와 동일) - 극도로 최소화된 구현 (NanoClaw: 500줄) ### 🧠 Reddit Community Signals (r/programming) **주요 합의:** - LLM 코딩은 빠르지만 "증명과 검증"이 모든 일 (현실) - 소프트웨어 엔지니어는 절대 LLM으로 대체 불가 (마지막 20%가 가장 어려움) - AI가 B2B SaaS를 죽이지 못하는 이유 = 검증의 어려움 **자비스 적용:** - 겸손하게, 확신 말고 확인으로 - 최종 검증은 정우님의 몫 (무조건) --- ## Notes - Memory files: `memory/YYYY-MM-DD.md` (daily logs) - This file: Long-term curated facts - "If you say 'remember this', write it here"