Flujo de trabajo de desarrollo de Pi

Esta guía resume un flujo de trabajo razonable para trabajar en la integración con Pi en OpenClaw.

Verificación de tipos y linting

  • Verificar tipos y compilar: pnpm build
  • Lint: pnpm lint
  • Verificar formato: pnpm format
  • Gate completo antes de push: pnpm lint && pnpm build && pnpm test

Ejecutar tests de Pi

Ejecuta el conjunto de tests enfocados en Pi directamente con Vitest:

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"

Para incluir el ejercicio de proveedor en vivo:

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

Esto cubre las principales suites unitarias de 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

Testing manual

Flujo recomendado:

  • Ejecutar el gateway en modo desarrollo:
    • pnpm gateway:dev
  • Disparar el agente directamente:
    • pnpm openclaw agent --message "Hello" --thinking low
  • Usar la TUI para depuración interactiva:
    • pnpm tui

Para el comportamiento de llamadas a herramientas, solicita una acción read o exec para ver el streaming de herramientas y el manejo de payloads.

Reinicio limpio

El estado se guarda en el directorio de estado de OpenClaw. Por defecto es ~/.openclaw. Si OPENCLAW_STATE_DIR está establecido, usa ese directorio.

Para reiniciar todo:

  • openclaw.json para la configuración
  • credentials/ para perfiles de autenticación y tokens
  • agents/<agentId>/sessions/ para el historial de sesiones del agente
  • agents/<agentId>/sessions.json para el índice de sesiones
  • sessions/ si existen rutas legacy
  • workspace/ si quieres un workspace en blanco

Si solo quieres reiniciar las sesiones, elimina agents/<agentId>/sessions/ y agents/<agentId>/sessions.json de ese agente. Conserva credentials/ si no quieres volver a autenticarte.

Referencias