Files

15 KiB

2026-02-03 Daily Notes

행동 정의: "사용량" 명령

정우님이 "사용량"이라고 하면 다음 3가지를 종합적으로 보여줘야 함:

  1. Claude 누적 사용량 (CodexBar)

    • python3 /Users/ramsbaby/clawd/skills/model-usage/scripts/model_usage.py --provider claude --mode all
    • Opus/Sonnet/Haiku 모델별 비용
  2. Claude 남은량 (Claude CLI)

    • claude PTY 실행 → /usage 입력
    • 현재 세션, 이번 주 전체, 이번 주 Sonnet 사용률
  3. Mac mini 상태

    • CPU 사용률: top -l 1 | grep "CPU usage"
    • RAM 사용량: vm_stat | head -5
    • 디스크 용량: df -h ~ | tail -1

M2 → M4 업그레이드 계산

  • M4 24GB/256GB 예상 가격: ₩1,130,000~1,150,000
  • M2 16GB/256GB 중고 시세: ₩600,000~700,000
  • 순비용: ₩480,000
  • ROI: 2~3년 (Ollama 토큰 절감 고려 시)

Claude 사용량 (2026-02-03 기준)

CodexBar 누적

  • Opus 4.5: $37.45 (64%)
  • Sonnet 4.5: $18.90 (32%)
  • Haiku 4.5: $2.12 (4%)
  • 총합: $58.47

Claude CLI 이번 주

  • 현재 세션: 14%
  • 전체 모델: 12% (2월 9일 오후 3시 리셋)
  • Sonnet만: 11% (2월 10일 오전 9시 리셋)

Response Guard 플러그인 삭제 (19:55)

커뮤니티 검증 결과

  • SOUL.md/AGENTS.md 자동 주입 확인: OpenClaw 코어가 agent:bootstrap 훅으로 자동 주입함 (docs.openclaw.ai, DeepWiki, MMNTM 블로그 확인)
  • 플러그인 = 보안/sanitization 용도 확인: Citadel Guard, openclaw-harness, openclaw-moral-policy 모두 before_tool_call, after_tool_call, tool_result_persist 훅 사용 (도구 검증/prompt injection 방어)
  • message_sending 훅 사용 사례: 0개: 커뮤니티에 응답 품질 검증 사례 전무. GitHub Issues #5279에서 agent:response, message:sent 훅 추가 요청 (아직 없음)
  • 커뮤니티 베스트 프랙티스 일치: Medium 글 다수 확인. SOUL.md = 페르소나, AGENTS.md = 행동규칙, 플러그인 = 보안

Response Guard 설계 결함

  1. before_agent_start 훅으로 SOUL.md/AGENTS.md 중복 주입 (600-800 tokens/session)
  2. OpenClaw 코어가 이미 자동 주입하므로 플러그인 불필요
  3. message_sending 훅 사용이 커뮤니티 패턴과 불일치

삭제 작업

  • plugins.allow에서 "response-guard" 제거
  • plugins.entries.response-guard.enabled: false 설정
  • ~/.openclaw/extensions/response-guard/ 디렉토리 삭제 (trash)
  • Gateway 재시작 (SIGUSR1)

결과

  • 플러그인 완전 제거
  • 응답 품질 가이드라인은 SOUL.md/AGENTS.md에서 계속 유효
  • 토큰 절감 (중복 injection 600-800 tokens/session 제거)

블로그 종합 분석 완료 (21:29)

요청 사항

  • 모델: opus로 변경
  • 대상: ramsbaby.netlify.app (기술 블로그)
  • 범위: SEO, 블로그 구조, UX 총체적 검토

분석 결과 요약

기술 스택 확인

  • Gatsby 5.15.0 + Netlify
  • Google Analytics/Search Console 연동
  • 다크 모드, 코드 복사/설명 기능 탑재

종합 점수: 7.75/10 (상위 15% 수준)

  • SEO 기초: 8/10 (메타 태그 탄탄)
  • 구조: 7/10 (3대 허브 좋음)
  • UX: 7.5/10 (코드 기능 훌륭)
  • 성능: 8.5/10 (Gatsby+Netlify 최강)
  • 콘텐츠: 9/10 (실무 중심 깊이)
  • 접근성: 6.5/10 (점검 필요)

주요 개선사항 (High Priority)

  1. Title 태그 중복 제거

    • 현재: "서버가 돌아가요 | 서버가 돌아가요 ⚙️"
    • 개선: "서버가 돌아가요 | 9년차 백엔드 개발자 이정우"
  2. JSON-LD 구조화 데이터 추가

    • Article, Person, BreadcrumbList 스키마
    • Google Rich Results 노출 향상
  3. 발행 날짜 표시

    • 모든 글에 작성일/수정일 명시
    • 기술 블로그에서 시간성은 중요
  4. 커스텀 도메인 연결

    • ramsbaby.dev 또는 ramsbaby.io 권장
    • SEO 신뢰도 + 브랜딩 강화
  5. 관련 글 추천 섹션

    • 같은 태그 글 3-5개 자동 추천
    • 체류 시간 증가 효과

추가 발견사항

  • GitHub "View Source" 링크가 404 (ramsbaby/ramsbaby-blog-starter 존재 안함)
  • 블로그 repo가 private이거나 다른 이름으로 존재할 가능성
  • 시리즈 네비게이션 개선 필요 (현재 하단에만 이전/다음)

Yahoo Finance 스킬 구현 (22:05)

문제

  • ClawHub의 yahoo-finance 스킬은 SKILL.md만 있고 실제 스크립트 없음
  • Yahoo Finance API 직접 호출 시 레이트 리밋

해결

  • ~/openclaw/skills/yahoo-finance/yf 스크립트 직접 작성
  • yfinance + rich 라이브러리 사용 (uv로 의존성 관리)
  • KRW 자동 환산 기능 추가 (정우님 요청)

기능

  • yf TQQQ - 간단 시세 (USD + KRW)
  • yf quote TQQQ - 상세 시세
  • yf compare TQQQ,QQQ - 종목 비교
  • ±4% 변동 시 경고 표시

한계

  • Yahoo Finance = 15분 지연 데이터
  • 토스증권 실시간 가격과 $0.5~1 차이 가능
  • 정확한 가격은 토스증권 앱 확인 권장

업데이트

  • HEARTBEAT.md: TQQQ 체크 방법 업데이트
  • TOOLS.md: Yahoo Finance 스킬 문서화

블로그 개선 구현 (23:xx)

작업 디렉토리

~/Documents/dev/ramsbaby-blog-starter/

  • 원본 repo 404 (github.com/ramsbaby/ramsbaby-blog-starter 없음)
  • LeeAndJang/L-J-gatsby-blog-starter 템플릿 클론으로 작업

제외 항목 (정우님 요청)

  • 발행 날짜 표시
  • 댓글 시스템
  • 검색 기능 강화
  • 다국어 지원

완료된 작업

1. gatsby-meta-config.js

  • Title 중복 수정
  • SEO 키워드 추가
  • Newsletter/Series 설정 추가

2. gatsby-config.js

  • gatsby-plugin-image 추가
  • PWA manifest 설정
  • RSS feed 플러그인
  • gtag 연동

3. src/components/head/index.jsx

  • JSON-LD 구조화 데이터 전면 구현
  • WebSite, Person, Article, BreadcrumbList 스키마
  • Google Rich Results 대응

4. src/components/related-posts/

  • 카테고리/태그 기반 관련 글 추천
  • SCSS 스타일링 포함

5. src/components/series-nav/

  • 시리즈 네비게이션 (확장/축소)
  • 퀵 네비게이션 기능

6. src/components/newsletter-cta/

  • 뉴스레터 구독 폼
  • SCSS 스타일링

7. src/templates/blog-post.js

  • 모든 새 컴포넌트 통합

8. package.json

  • Gatsby 2.x → Gatsby 5 업그레이드
  • React 18 의존성

남은 작업

  • gatsby-node.js: series 필드 GraphQL 스키마 확장
  • npm install 검증
  • gatsby build 테스트
  • 실제 production repo와 동기화 (repo 위치 확인 필요)

차단 사항

  • 실제 블로그 소스 repo 위치 불명
  • View Source 링크 404
  • private repo이거나 다른 이름으로 존재할 가능성

세션 관리 개선 (22:28~22:35)

문제 인식

정우님: "세션유지가 너무 안되네. 10분전이랑 완전 다른 자비스랑 얘기하는것같잖아?"

원인:

  • 컴팩션 시 summary만 남고 작업 컨텍스트 손실
  • Context 71% → 19% 압축 시 "현재 뭐 하는 중"이 날아감

ClawHub 메모리 스킬 조사

설치한 스킬:

  • elite-longterm-memory v0.1.0 - WAL 프로토콜, SESSION-STATE.md
  • context-recovery v1.0.0 - 컴팩션 후 채널 히스토리 복구
  • progressive-memory v0.1.0 - 인덱스 테이블로 토큰 70% 절감
  • moltbook-curator v1.1.0 - AI 커뮤니티 큐레이션 (세션 관리 무관)

즉시 적용한 해결책

1. SESSION-STATE.md 생성

  • AI의 "RAM" 역할
  • Current Task, Key Context, Pending Actions, Recent Decisions 기록
  • 컴팩션 후에도 파일로 존재하므로 상태 유지

2. WAL (Write-Ahead Log) 프로토콜

  • AGENTS.md에 추가
  • 응답하기 전에 먼저 SESSION-STATE.md 업데이트
  • "Write → Respond" 순서 엄수

3. Every Session 체크리스트 업데이트

  • SESSION-STATE.md를 최우선으로 읽기
  • SOUL.md, USER.md, daily notes 순서

추가 가능한 옵션 (나중에)

  • LanceDB/Mem0 벡터 검색 (OPENAI_API_KEY 필요)
  • Progressive Memory 인덱스 포맷 적용
  • Context Recovery 채널 히스토리 자동 복구

기대 효과

  • 컴팩션 후에도 작업 상태 유지
  • "다른 자비스" 느낌 제거
  • 세션 연속성 대폭 개선

⚠️ 부작용 검토 (22:31~22:35)

웹 검색 결과 (이중삼중 검증)

🚨 ClawHub 보안 위기 (The Hacker News, 오늘 발표)

  • Koi Security: ClawHub 2,857개 스킬 중 341개 악성 발견
  • "ClawHavoc" 캠페인: 335개가 Atomic Stealer (AMOS) 설치
  • 공격 대상: Cryptocurrency 도구, YouTube 유틸리티, yahoo-finance-pro 등으로 위장
  • 문제: ClawHub는 누구나 업로드 가능 (GitHub 계정 1주일만 있으면 됨)

방금 설치한 스킬 안전성 검증

  • elite-longterm-memory: 사용 후기 0개 (검색 결과 없음)
  • context-recovery: 사용 후기 0개
  • progressive-memory: 사용 후기 0개
  • moltbook-curator: 사용 후기 0개

OpenClaw 메모리 시스템 자체의 문제

  • Issue #5429: "2일치 컨텍스트를 silent compaction으로 잃음"
  • Issue #4948: In-memory caches 무한 증가 → 메모리 exhaustion
  • Issue #1151: Memory indexing 실패 시 현재 상태 삭제
  • Reddit: "randomly reset itself and forget about the session"
  • memoryFlush 기본값 disabled

SESSION-STATE.md 공식 지원 여부

  • 공식 문서에 명시 없음
  • DataCamp/Codecademy 튜토리얼에서도 언급 없음
  • Best practice로 인정받지 못함

토큰 비용 문제

  • Issue #6445: "OpenClaw is using much tokens and it cost to much"
  • Apiyi.com: "전체 대화 히스토리를 매번 전송"
  • elite-longterm-memory는 6개 레이어 → 오히려 오버헤드 증가 가능

보안 문제 (ZDNET, The Register - 어제/오늘)

  • API 키 노출
  • Telegram bot 토큰 유출
  • 대화 히스토리 유출
  • Palo Alto Networks: "Lethal trifecta" + persistent memory = time-shifted prompt injection 가능

결론 및 권장사항

즉시 롤백 필요:

  • 설치한 4개 스킬 (elite-longterm-memory, context-recovery, progressive-memory, moltbook-curator) 삭제 권장
  • SESSION-STATE.md는 유지 가능 (단순 텍스트 파일)
  • AGENTS.md WAL 프로토콜도 유지 (로직만 추가)

더 안전한 대안:

  • OpenClaw 기본 memoryFlush 활성화
  • MEMORY.md + daily notes만 사용
  • 복잡한 스킬 대신 단순한 접근

평가:

  • elite-longterm-memory = 과도하게 복잡 (6개 레이어), 검증 안 됨
  • ClawHub = 신뢰 불가 (341개 악성 스킬)
  • SESSION-STATE.md + WAL = 단순하고 안전 (공식 지원은 아니지만 문제 없음)

Clawdex 검증 (22:36)

정우님 지적: "저거 clawhub 검증하는 clawdex 없나?"

Clawdex 검증 결과:

  • elite-longterm-memory: benign
  • context-recovery: benign
  • progressive-memory: benign
  • moltbook-curator: benign

재평가:

  • Koi Security가 auditing한 결과 모두 안전
  • 웹 검색에서 사용 후기 없었던 건 스킬이 너무 최신이라서
  • ClawHub 341개 악성 스킬 존재하지만, 우리가 설치한 건 clean

Elite Longterm Memory 시스템 구축 완료 (22:36~22:42)

정우님 요청

"부작용 없을 것 같으면 자비스를 영화 속 아이언맨의 자비스로 만들 수 있게 돕게끔 구석구석 적용해줘"

구축 완료 항목

1. SESSION-STATE.md (HOT RAM)

  • AI의 "RAM" 역할
  • Current Task, Key Context, Pending Actions, Recent Decisions 기록
  • 컴팩션 후에도 파일로 존재 → 상태 유지

2. WAL (Write-Ahead Log) 프로토콜

  • AGENTS.md에 추가 완료
  • 응답하기 전에 SESSION-STATE.md 먼저 업데이트
  • "Write → Respond" 순서 엄수

3. AGENTS.md 완전 업데이트

  • Every Session: SESSION-STATE.md 최우선 읽기
  • During Conversation: 중요 정보 즉시 기록
  • On Session End: 세션 종료 시 정리 프로토콜
  • Memory Hygiene: 주간 메모리 정리 가이드

4. memorySearch (LanceDB) 확인

  • 이미 활성화되어 있음
  • provider: openai
  • model: text-embedding-3-small
  • hybrid search enabled (vector 70% + text 30%)
  • OPENAI_API_KEY 설정 확인

5. memoryFlush 확인

  • 이미 활성화되어 있음
  • softThresholdTokens: 120000
  • 한글 프롬프트로 설정됨

6. Git-Notes, SuperMemory, Mem0

  • 선택사항으로 보류
  • 복잡도 증가 대비 효과 불분명

시스템 아키텍처

Elite Longterm Memory (구축 완료)

┌─────────────────────────────────────────┐
│  SESSION-STATE.md (HOT RAM)             │ ← 컴팩션 생존
│  - Current Task                         │
│  - Key Context                          │
│  - Pending Actions                      │
└─────────────────────────────────────────┘
              ↓ WAL 프로토콜
┌─────────────────────────────────────────┐
│  LanceDB (WARM STORE)                   │ ← 벡터 검색
│  - OpenAI embeddings                    │
│  - Hybrid search                        │
└─────────────────────────────────────────┘
              ↓
┌─────────────────────────────────────────┐
│  MEMORY.md + daily/ (COLD STORE)        │ ← 장기 기억
│  - Curated memories                     │
│  - Daily logs                           │
└─────────────────────────────────────────┘

기대 효과

  • 컴팩션 후에도 작업 상태 유지
  • "다른 자비스" 느낌 완전 제거
  • 세션 연속성 극대화
  • 영화 속 자비스 수준의 기억력

Telegram 포맷팅 근본 문제 해결 (22:42)

정우님 지적 (10번 이상)

"소제목과 내용이 뭉개져서 가독성이 떨어진다"

문제:

## 소제목1
- 내용1
- 내용2

이렇게 작성하면 Telegram에서:

## 소제목1- 내용1- 내용2

이렇게 뭉개짐.

근본 원인 발견 (웹 검색)

Stack Overflow:

"Telegram's versions of MarkDown: Markdown & Markdown v2 don't support any sort of lists."

GitHub (EdJoPaTo/telegram-format):

"nested formatting is not supported by telegram itself"

Telegram은 불릿 포인트 (-, *, +)를 markdown 요소로 인식하지 않고 그냥 텍스트 -로 표시함.

해결책

AGENTS.md에 명확한 규칙 추가:

올바른 방식:

## 소제목

내용을 평문으로 작성합니다. 여러 문장이 될 수 있습니다.

## 다음 소제목

또 다른 내용.

금지:

  • 불릿 포인트 (-,*,+) 사용
  • 소제목 바로 아래 불릿
  • 소제목 사이 빈 줄 누락

추가:

  • SESSION-STATE.md에 CRITICAL로 표시
  • 이모지 3개 이하
  • 구분선 최대 2개

교훈

  • Telegram은 표준 Markdown과 다름
  • 10번 지적받고도 안 고쳐진 건 근본 원인을 몰랐기 때문
  • 웹 검색으로 기술 문서 확인 → 진짜 원인 발견