Pi 개발 워크플로우

이 가이드는 OpenClaw에서 Pi 통합 작업을 할 때 권장하는 워크플로우를 정리한 것입니다.

타입 검사 및 린트

  • 타입 검사 및 빌드: pnpm build
  • 린트: pnpm lint
  • 포맷 검사: pnpm format
  • 푸시 전 전체 게이트: pnpm lint && pnpm build && pnpm test

Pi 테스트 실행

Vitest로 Pi 관련 테스트 세트를 직접 실행합니다.

pnpm test -- \
  "src/agents/pi-*.test.ts" \
  "src/agents/pi-embedded-*.test.ts" \
  "src/agents/pi-tools*.test.ts" \
  "src/agents/pi-settings.test.ts" \
  "src/agents/pi-tool-definition-adapter*.test.ts" \
  "src/agents/pi-extensions/**/*.test.ts"

라이브 공급자 테스트를 포함하려면:

OPENCLAW_LIVE_TEST=1 pnpm test -- src/agents/pi-embedded-runner-extraparams.live.test.ts

주요 Pi 유닛 테스트 범위:

  • src/agents/pi-*.test.ts
  • src/agents/pi-embedded-*.test.ts
  • src/agents/pi-tools*.test.ts
  • src/agents/pi-settings.test.ts
  • src/agents/pi-tool-definition-adapter.test.ts
  • src/agents/pi-extensions/*.test.ts

수동 테스트

권장 플로우:

  • 개발 모드로 Gateway 실행:
    • pnpm gateway:dev
  • 에이전트를 직접 실행:
    • pnpm openclaw agent --message "Hello" --thinking low
  • 인터랙티브 디버깅을 위해 TUI 사용:
    • pnpm tui

도구 호출 동작을 확인하려면 readexec 동작을 요청해서 도구 스트리밍과 페이로드 처리를 관찰하세요.

초기화 리셋

상태는 OpenClaw 상태 디렉토리에 저장됩니다. 기본값은 ~/.openclaw이며, OPENCLAW_STATE_DIR이 설정되어 있으면 해당 디렉토리를 사용합니다.

전체를 리셋하려면 다음을 삭제합니다.

  • openclaw.json — 설정
  • credentials/ — 인증 프로필 및 토큰
  • agents/<agentId>/sessions/ — 에이전트 세션 히스토리
  • agents/<agentId>/sessions.json — 세션 인덱스
  • sessions/ — 레거시 경로가 있는 경우
  • workspace/ — 빈 워크스페이스가 필요한 경우

세션만 리셋하려면 해당 에이전트의 agents/<agentId>/sessions/agents/<agentId>/sessions.json을 삭제하세요. 재인증을 피하려면 credentials/는 남겨두세요.

참고 자료