Community생산성 & 협업github.com

ce-pickup

로컬 모델을 사용하여 과거 Hermes 세션에서 핸드오프 문서를 추출합니다. 프론티어 토큰 비용이 없습니다.

ce-pickup란 무엇인가요?

ce-pickup은 Hermes 세션 기록에서 `ce-handoff/v1` 문서를 추출하기 위한 AI 에이전트 스킬입니다. 프론티어 모델 API 호출 없이 로컬 Ollama 모델(기본값: Ornith-1.5-35B-A3B-GGUF)을 사용하여 세션 대화를 분석하고 구조화된 핸드오프 문서를 생성합니다. 이를 통해 사용자는 구독配额를 소모하지 않고도 중단했던 세션을 저렴하게 재개할 수 있으며, 대규모 콜드 세션에서 `/ce-handoff`를 실행하는 비용을 피할 수 있습니다. 스킬은 CLI 스크립트(`ce-pickup.sh`)로 제공되며, SQLite 데이터베이스를 직접 읽고 curl로 Ollama API를 호출하는 등 TCC 프롬프트를 트리거하지 않는 순수 셸 도구(sqlite3, curl, jq, awk)로 구현되었습니다. 또한 `context-ceiling-watchdog.sh`라는 보조 모니터를 포함하여 진행 중인 세션의 컨텍스트 크기를 감시하고, 설정된 임계값에 따라 알림 또는 자동 핸드오프 추출을 수행합니다. 이 스킬은 Claude Code, Cursor, Codex 등의 에이전트 플랫폼에서 사용할 수 있으며, `/ce-handoff` 스킬과 함께 사용하여 핸드오프 문서를 통해 세션을 재개할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/wesleymatosdev/skills/tree/main/workflow/ce-pickup

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

ce-pickup은(는) 무엇을 하나요?

과거 Hermes 세션에서 로컬 모델을 사용하여 ce-handoff/v1 문서를 추출합니다. 프론티어 토큰 비용이 전혀 들지 않습니다. 출력은 표준 ce-handoff/v1 마크다운이므로 /ce-handoff resume <path>가 즉시 작동합니다.

구독配额를 소모하면서 따라잡아야 하는 콜드 세션에서 /ce-handoff를 실행하는 대신 이 스킬을 사용하세요.

사용 시기

  • 사용자가 프론티어 토큰을 사용하지 않고 중단된 세션을 재개하려는 경우
  • 하나 이상의 과거 세션에서 핸드오프가 필요하지만 컨텍스트 창이 이미 가득 찬 경우
  • 사용자가 오래된 세션에 대한 "픽업" 또는 "캐치업"을 요청하는 경우
  • 대규모 콜드 세션에서 /ce-handoff를 실행하는 것이 비용이 많이 드는 경우

빠른 시작

bash ~/.hermes/scripts/ce-pickup.sh SESSION_ID[,SESSION_ID,...]

기본적으로 /tmp/compound-engineering-$(id -u)/ce-pickup/에 출력됩니다.

그런 다음 출력 파일에서 세션을 재개합니다:

/ce-handoff resume /tmp/compound-engineering-<uid>/ce-pickup/<slug>.md

인수

  • 인수 1 (필수): 쉼표로 구분된 세션 ID (session_search 또는 Hermes 브라우징에서 확인)
  • 인수 2 (선택): Ollama 모델 이름 — 기본값 hf.co/ornith-ai/Ornith-1.5-35B-A3B-GGUF:Q5_K_M
  • 인수 3 (선택): 출력 디렉터리 재정의

환경 변수 재정의 (테스트 및 대체 호스트용): CE_PICKUP_DB (기본값 ~/.hermes/state.db), CE_PICKUP_OLLAMA_URL (기본값 http://localhost:11434/api/chat), CE_PICKUP_MAX_CHARS (기본값 24000).

모델 라우팅

기본값: Ornith-1.5-35B-A3B-GGUF:Q5_K_M — 우수한 추출 품질이 확인됨, 로컬에서 실행.

Ornith가 로드되지 않은 경우, 사용 가능한 모든 로컬 Ollama 모델이 작동합니다. 프론티어 모델을 사용하지 마십시오 (그러면 목적이 무의미해집니다).

사용 가능한 모델 확인: ollama list

작동 방식

  1. sqlite3를 통해 ~/.hermes/state.db를 읽습니다 — Python 사용 안 함, TCC 프롬프트 없음
  2. 타임스탬프 순서로 user + assistant 메시지를 추출합니다
  3. 대화를 24,000자(~6,000토큰)로 자릅니다 — 의미 있는 추출에 충분한 길이
  4. 구조화된 추출 프롬프트를 포함하여 curl을 통해 Ollama /api/chat을 호출합니다
  5. ce-handoff/v1 프론트매터와 모델 본문을 출력 디렉터리에 씁니다
  6. 파일 이름은 세션 제목의 슬러그입니다. 충돌 시 숫자 접미사가 붙습니다.

출력 형식

모든 출력 파일은 유효한 ce-handoff/v1입니다:

  • artifact_contract: "ce-handoff/v1" 프론트매터 포함
  • 사용 가능한 경우 session_id, cwd, branch, repository 포함
  • 추출 내용: 목표, 완료된 작업, 현재 상태, 결정/제약사항, 차단 요소, 실패한 접근 방식, 참조, 다음 단계

컨텍스트 ceiling 감시 프로그램 (동반 도구)

scripts/context-ceiling-watchdog.sh는 현재 진행 중인 세션 컨텍스트를 모니터링하는 결정론적이며 에이전트가 필요 없는 모니터입니다. 각 활성 세션의 현재 컨텍스트를 추정합니다(active=1 메시지 내용 ÷ 4자/토큰 — sessions.input_tokens은 컨텍스트 재읽기를 포함한 누적 청구 볼륨이므로 절대 사용하지 마세요) 그리고 다음을 적용합니다:

  • >= 50k 알림 — 한 줄 알림, 한 시간마다 반복
  • >= 70k 경고 — 체크포인트 경고, 30분마다 반복
  • >= 80k 추출 — 로컬에서 ce-pickup을 실행하고 ce-handoff/v1 경로를 보고합니다. 추출 후에는 세션이 약 10k 더 증가할 경우에만 다시 경고합니다(CRIT)

임계값이 트리거되지 않으면 출력이 없으므로(표준 출력이 비어 있음) 변경 감지와 함께 에이전트 없는 cron 작업에 바로 사용할 수 있습니다. 상태는 ~/.cache/context-ceiling-watchdog/에 저장됩니다(플랫 TSV — LLM 메모리, 재귀적 연속성 없음). Hermes 설정이나 런타임 상태에는 절대 쓰지 않습니다. state.db는 sqlite3 -readonly로 열립니다.

실제 모델 없이 테스트: bash scripts/mock-ollama.sh 21143 & 그런 다음 bash scripts/test-watchdog.sh (픽스처 DB + 조정된 임계값, 20회 검사) 실행.

함정

Python의 TCC 대화상자 (macOS Sequoia+): 광범위한 권한이 있는 앱의 하위 프로세스로 Python을 실행하면 iCloud Drive 또는 Documents에 대한 TCC 프롬프트가 트리거될 수 있습니다. ~/.hermes/state.db만 읽는 경우에도 마찬가지입니다. 셸 스크립트는 sqlite3 + curl + jq + awk만 사용하므로 TCC를 트리거하지 않습니다. 사용자가 TCC 프롬프트를 명시적으로 수락하지 않는 한 이 워크플로의 Python 기반 구현을 절대 사용하지 마십시오.

대화 자르기: 24,000자는 대부분의 세션을 포함합니다. 매우 긴 세션(대규모 도구 출력이 포함된 200개 이상의 메시지)은 끝 부분이 잘립니다. 핸드오프가 부실하게 느껴지면 더 좁은 질의로 분할하십시오.

Thinking 모델 + num_predict: Ollama의 num_predict는 message.thinking을 포함하여 생성된 총 토큰을 제한합니다. Thinking 모델(Ornith가 그중 하나)은 thinking 채널에서 전체 예산을 소모하고 빈 값 또는 끝이 잘린 message.content를 반환할 수 있습니다. 스크립트는 이 필드만 읽습니다. 증상: "Ollama에서 빈 응답" 또는 문장 중간에서 멈추는 핸드오프로, 페이로드 버그 문제임에도 모델 품질 문제처럼 보입니다. 스크립트는 think:false를 보냅니다(이 플래그를 거부하는 모델을 위해 플래그 없이 재시도하는 폴백 포함). Wesley의 범위 참고: 해당 플래그는 이 기계적 추출 작업에 만 적합합니다 — Ornith의 thinking 능력은 에이전트 엔지니어링 사용 시 자산이며, 추출 실행 결과가 에이전트 능력에 대한 판결을 의미하지는 않습니다. 잘못된 추출을 모델에 대한 평결로 일반화하지 마십시오.

Ollama가 실행 중이어야 함: 호출하기 전에 ollama list로 확인하십시오.

출력은 /tmp: 재부팅 시 OS가 회수할 수 있습니다. 재부팅 후에도 재개하려면 안정적인 경로로 복사하십시오.

스크립트

표준 구현은 이 스킬의 scripts/ce-pickup.sh입니다 — 스킬 경로로 호출하세요. 호스트 측 사본은 예전에 ~/.hermes/scripts/ce-pickup.sh에 있었습니다(심볼릭 링크로 문서화됨). 해당 사본이 존재하지만 심볼릭 링크가 아닌 시스템에서는 오래된 것입니다 — 스킬 디렉터리를 신뢰하세요.

참고: 핸드오프 문서가 생성된 후 재개 워크플로를 위한 ce-handoff 스킬을 확인하세요.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

관련 스킬