GitHub - tact-lang/pitaya
Extracto
Contribute to tact-lang/pitaya development by creating an account on GitHub.
Resumen
Resumen Principal
Pitaya se presenta como una avanzada herramienta de orquestación para agentes de codificación de IA, incluyendo Claude Code y Codex CLI, diseñada para optimizar los flujos de trabajo de desarrollo. Su propuesta de valor central reside en la capacidad de ejecutar múltiples agentes en paralelo, permitiendo a los usuarios comparar y seleccionar la solución más efectiva entre diversas opciones generadas. Una característica crucial es su integración con sistemas de control de versiones, utilizando ramas Git por tarea para mantener un registro seguro y revisable de cada alternativa, lo que garantiza la trazabilidad y facilita la colaboración. Ofrece una Interfaz de Usuario de Texto (TUI) limpia y adaptable, que proporciona visibilidad en tiempo real sobre el progreso, los costos operativos y el consumo de tokens. Además, Pitaya destaca por su extensibilidad, permitiendo la implementación de estrategias personalizadas en Python para flujos de trabajo multifase y ofreciendo estrategias preconstruidas como best-of-n
para la selección de candidatos y iterative
para el refinamiento continuo. Actualmente en beta pública, Pitaya busca establecer un nuevo estándar en la interacción controlada y eficiente con la IA en el ámbito de la codificación.
Elementos Clave
- Orquestación Paralela y Selección de Resultados Óptimos: Pitaya está diseñado para ejecutar múltiples agentes de IA de forma concurrente para una misma tarea. Esta capacidad no solo acelera la generación de soluciones potenciales, sino que también empodera a los usuarios para evaluar y seleccionar el resultado más óptimo o de mayor calidad entre
Contenido
🎯 Pitaya
Note: Pitaya is in public beta. Interfaces and defaults may evolve.
What It Does
- Runs multiple agents in parallel and helps you pick the best result
- Uses per‑task branches in your repo to keep alternatives safe and reviewable
- Displays a clean, adaptive TUI with live progress, costs, and tokens
- Supports custom Python strategies for multi‑stage workflows
Built‑in strategies: simple, scoring, best‑of‑n, iterative, bug‑finding, doc‑review
Demo
Watch a short video demo of the TUI and orchestration:
demo.mp4
Install
pip install pitaya # or pipx install pitaya # or uv tool install pitaya
Build the Docker image
Pitaya runs agents inside Docker. You need a Docker image that contains the agent CLI(s) you plan to use:
claude
(for--plugin claude-code
)codex
(for--plugin codex
)
You can build a ready‑to‑use image from this repository’s Dockerfile:
git clone https://github.com/tact-lang/pitaya cd pitaya docker build -t pitaya-agents:latest .
Prefer a custom image? Use any base you like as long as it includes the required CLI(s) above. You can point Pitaya to a different image via --docker-image
or set runner.docker_image
in pitaya.yaml
.
Authenticate:
- Claude Code: set
CLAUDE_CODE_OAUTH_TOKEN
(subscription) orANTHROPIC_API_KEY
- Codex CLI: set
OPENAI_API_KEY
(and optionallyOPENAI_BASE_URL
)
Quickstart
From the root of a git repo:
pitaya "Create a HELLO.txt file with 'Hello from Pitaya' text in it and commit it"
More examples:
# Parallel candidates with scoring (pick the best) pitaya "Write the funniest and most original joke possible" --strategy best-of-n -S n=5 # Iterative refine (generate → review → refine) pitaya "Write the funniest and most original joke possible" --strategy iterative -S iterations=3 # Headless JSON output pitaya "task" --json
OpenRouter (Codex plugin) example:
pitaya "Write the funniest and most original joke possible" \ --plugin codex \ --model "openai/gpt-5" \ --api-key "$OPENROUTER_API_KEY" \ --base-url https://openrouter.ai/api/v1
Documentation
- Start here: docs/index.md
- Quickstart: docs/quickstart.md
- CLI: docs/cli.md
- TUI: docs/tui.md
- Strategies: docs/strategies.md
- Custom Strategies: docs/custom-strategies.md
- Configuration: docs/configuration.md
- Plugins: docs/plugins.md
Configuration (peek)
Optional pitaya.yaml
to set defaults:
model: sonnet plugin_name: claude-code orchestration: max_parallel_instances: auto branch_namespace: hierarchical
CLI overrides config; -S key=value
only affects the selected strategy.
Results & Logs
- Logs:
logs/<run_id>/events.jsonl
and component logs - Results:
results/<run_id>/
(summary.json, branches.txt, instance_metrics.csv) - Branches:
pitaya/<strategy>/<run_id>/k<short8>
(hierarchical namespace) - Resume:
pitaya --resume <run_id>
Contributing
Issues and PRs are welcome. This project is evolving—feedback on UX, strategies, and plugin support is especially helpful.
Dev quickstart:
git clone https://github.com/tact-lang/pitaya cd pitaya python -m venv .venv && source .venv/bin/activate pip install -U pip && pip install -e . # Optional dev tools pip install -U ruff black mypy pytest pytest-asyncio
Changelog
- See CHANGELOG.md for release notes and version history
- GitHub Releases: https://github.com/tact-lang/pitaya/releases
License
MIT License — see LICENSE.
Fuente: GitHub