Sobre el proyecto

Poe Code es una herramienta que enruta tus agentes de programación favoritos (Claude Code, Codex, OpenCode, Goose, etc.) a través de la API de Poe, para que solo necesites una suscripción de Poe en lugar de gestionar múltiples proveedores o cuentas. Funciona con las CLI normales o las aplicaciones de escritorio de los agentes tras una configuración única, y también permite lanzar prompts puntuales para scripting y CI/CD. ## Inicio rápido Configura Poe Code como proveedor predeterminado para un agente (actualiza archivos de configuración): ```bash npx poe-code@latest configure npx poe-code@latest configure codex # o claude, opencode, goose ``` Elimina las sobrescrituras con `unconfigure`: ```bash npx poe-code@latest unconfigure claude ``` ## Autenticación Usa tu clave de API de Poe. En la primera ejecución, se te pedirá iniciar sesión mediante el navegador (OAuth). También puedes proporcionar la clave directamente: ```bash npx poe-code@latest login npx poe-code@latest login --api-key <your-key> export POE_API_KEY=<your-key> ``` Las credenciales se almacenan en `~/.poe-code/`. Consulta el estado con `poe-code auth status`, elimínalas con `logout`. ## Utilidades - **Lanzar un prompt puntual**: `npx poe-code@latest spawn codex "Say hello" --mode read` (modos: yolo, auto, edit, read; obligatorio en CI sin TTY). - **Lanzar contra un repositorio de GitHub**: `--cwd github://owner/repo` o con ref/subdir como `github://owner/repo#main:packages/auth`. - **Enviar prompt por stdin**: `echo "Say hello" | npx poe-code@latest spawn codex --mode read`. - **Revisar un PR de GitHub**: `code-review install`, `code-review run <url>`, `code-review commit <url> --dry-run`. - **Probar un servicio configurado**: `npx poe-code@latest test codex`. - **Instalar CLI de agentes**: `install claude-code`, `install codex`, `install opencode`, `install goose`. - **Flags opcionales**: `--dry-run` (muestra mutaciones sin tocar el disco), `--yes` (acepta valores predeterminados). ## Uso y facturación Consulta el saldo de puntos de cómputo y el historial de uso: ```bash poe-code usage poe-code usage list poe-code usage list --limit 100 poe-code usage list --filter claude ``` ## Modelos Lista los modelos disponibles de la API de Poe, filtra por endpoint, proveedor o búsqueda: ```bash poe-code models poe-code models --endpoint /v1/responses poe-code models --endpoint /v1/chat/completions poe-code models --search claude ``` ## SDK Usa Poe Code de forma programática en tu propio código: ```typescript import { spawn, getPoeApiKey, getPoeAuthIdentity } from "poe-code"; const apiKey = await getPoeApiKey(); const identity = await getPoeAuthIdentity(); const result = await spawn("claude-code", { prompt: "Fix the bug in auth.ts", cwd: "/path/to/project", model: "claude-sonnet-4-6" }); console.log(result.stdout); ``` - `spawn(service, options)` – ejecuta un único prompt; las opciones incluyen `prompt`, `cwd` (ruta local o localizador `github://`), `model`, `mode`, `args`. Devuelve `{ stdout, stderr, exitCode }`. - `spawn.pretty(service, options)` – igual pero renderiza el flujo de eventos ACP con colores. - `getPoeApiKey()` – lee la variable de entorno `POE_API_KEY` o el archivo de credenciales. - `getPoeAuthIdentity()` – obtiene la identidad de la cuenta de Poe. Para composición basada en plugins, usa el subpath `poe-code/agent` con `agent()`, `openaiResponsesPlugin()`, `systemPromptPlugin()`. ## Vista previa de investigación Funciones sujetas a cambios incompatibles: - **SafeJS** – intérprete de JavaScript con capacidades de host explícitas, presupuestos de ejecución, checkpoints reanudables. Publicado como `@poe-platform/safe-js`. Conformidad completa no establecida. - **Pipeline** – ejecuta planes de tareas con pasos configurables, progreso en vivo, seguimientos en cola. - **Ralph** – bucle de compilación agéntico que itera sobre un documento markdown. - **Experiment loop** – bucle de optimización estilo Karpathy (el agente cambia el código, la evaluación puntúa, conservar/descartar vía git). - **Poe Agent** – runtime de agente componible. ## Actualización ```sh npx poe-code@latest update npx poe-code@latest update --package-manager pnpm ``` Para comprobaciones de versión, ejecuciones en seco y worktrees gestionados, consulta la referencia completa.