Pipeline de Jobs com SQLite e Auto-Recovery para CLIs de código
Project description
Orchestrador v3
🇧🇷 Português | 🇺🇸 English
Job Pipeline with SQLite and Auto-Recovery for code CLIs (Claude Code, Codex CLI).
✨ Features
- Job Pipeline: Execute multiple jobs in sequence with dependencies
- SQLite Persistence: State preserved between restarts
- Auto-Recovery: Interrupted jobs are detected and can be resumed
- Auto-Review: Automatic build, tests, and code review after each task
- Multiple CLIs: Support for Claude Code and Codex CLI
- Notifications: Webhook to notify when jobs finish (with channel support)
- Concurrency: Run multiple pipelines simultaneously
- 18 Built-in Skills: Code patterns, security, TDD, and more
📦 Installation
# Via pip (recommended)
pip install orchestrador
# Via pip local (development)
pip install -e /path/to/orchestrador
# Via pip + git
pip install git+https://github.com/Lordymine/orchestrador.git
OpenClaw Integration
After installing, run to add the skill to OpenClaw:
# Install the orchestrator-client skill
orchestrador install-skill
# The skill allows the OpenClaw agent to control the orchestrator
# Enable in openclaw.json:
# "skills": {"allowBundled": ["orchestrator-client"]}
🚀 Usage
CLI
# Start server
orchestrador start
# Check status
orchestrador status
# View logs
orchestrador logs -f
# Stop server
orchestrador stop
# Recover interrupted jobs
orchestrador recover --auto-retry
API
The server exposes a REST API on port 8765 (configurable):
# Create job with callback
curl -X POST http://localhost:8765/execute \
-H "Content-Type: application/json" \
-d '{
"tipo": "backend",
"projeto": "my-app",
"descricao": "Create REST API with Express + TypeScript",
"callback_session": "agent:main:main",
"callback_channel": "telegram",
"callback_to": "123456789"
}'
# Create pipeline
curl -X POST http://localhost:8765/pipeline \
-H "Content-Type: application/json" \
-d '{
"jobs": [
{"tipo": "architecture", "projeto": "my-app", "descricao": "Initial setup"},
{"tipo": "backend", "projeto": "my-app", "descricao": "Create API"},
{"tipo": "review", "projeto": "my-app", "descricao": "Code review"}
],
"callback_session": "agent:main:main",
"callback_channel": "telegram",
"callback_to": "123456789"
}'
# List pipelines
curl http://localhost:8765/pipelines
# Check job status
curl http://localhost:8765/jobs/{job_id}
# Retry failed job
curl -X POST http://localhost:8765/jobs/{job_id}/retry
# Recover interrupted jobs
curl -X POST http://localhost:8765/recover?auto_retry=true
⚙️ Configuration
Environment variables:
| Variable | Default | Description |
|---|---|---|
ORCHESTRADOR_PORT |
8765 |
Server port |
ORCHESTRADOR_HOST |
127.0.0.1 |
Server host |
PROJECTS_DIR |
~/workspaces/projects |
Projects directory |
JOBS_DIR |
~/.openclaw/orchestrador/jobs |
SQLite database directory |
GATEWAY_URL |
http://127.0.0.1:18789 |
Gateway URL for webhooks |
GATEWAY_HOOK_TOKEN |
orchestrador-hook-token |
Authentication token |
📋 Job Types
| Type | CLI | Description |
|---|---|---|
backend |
Claude | Backend, API, services |
frontend |
Claude | UI, components |
fullstack |
Claude | Complete projects |
database |
Claude | Schemas, migrations |
api |
Claude | REST endpoints |
architecture |
Claude | Initial setup, structure |
landing |
Claude | Landing pages |
ui |
Claude | UI/styling |
devops |
Claude | CI/CD, Docker, infra |
review |
Codex | Code review |
security |
Codex | Security analysis |
bugfix |
Codex | Bug fixes |
refactor |
Codex | Refactoring |
docs |
Codex | Documentation |
e2e |
Codex | E2E tests |
analysis |
Codex | Code analysis |
🔔 Callback Notifications
The orchestrator can notify users when jobs complete:
{
"callback_session": "agent:main:main",
"callback_channel": "telegram",
"callback_to": "123456789"
}
Supported channels: telegram, whatsapp, discord, slack, signal
📚 API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /execute |
Start async job |
| POST | /execute/sync |
Execute and wait |
| POST | /pipeline |
Create job pipeline |
| GET | /jobs |
List all jobs |
| GET | /jobs/{id} |
Job status |
| GET | /jobs/interrupted |
Interrupted jobs |
| POST | /jobs/{id}/retry |
Re-execute job |
| GET | /pipelines |
List pipelines |
| GET | /pipelines/{id} |
Pipeline status |
| POST | /recover |
Recover interrupted jobs |
| GET | /stats |
Database statistics |
| POST | /cleanup?days=30 |
Remove old jobs |
| GET | /skills |
List skills |
| GET | /types |
List job types |
| GET | /health |
Health check |
🔧 Development
# Clone repository
git clone https://github.com/Lordymine/orchestrador.git
cd orchestrador
# Create venv
python3 -m venv venv
source venv/bin/activate
# Install in dev mode
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black src/
ruff check src/ --fix
📄 License
MIT License - see LICENSE for details.
Made with ⚡ by Lex Luthor Bot
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orchestrador-3.0.0.tar.gz.
File metadata
- Download URL: orchestrador-3.0.0.tar.gz
- Upload date:
- Size: 84.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ff35c173e38832bdcbea5008e8792dc06bafa00203021220658087496aec9d6
|
|
| MD5 |
5e81ac3756771798ff79e356fa9b374e
|
|
| BLAKE2b-256 |
a6e7feb498df9fd128362b081c4d8d12a7d8e2d5e53b93c0177116061a0c50a2
|
File details
Details for the file orchestrador-3.0.0-py3-none-any.whl.
File metadata
- Download URL: orchestrador-3.0.0-py3-none-any.whl
- Upload date:
- Size: 94.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6355cec6ba621634af2fb12a629c59bf345ee4fa3e70104b46b6f12d7cd3234
|
|
| MD5 |
7df3f59494b9649a8fa01be918adc7eb
|
|
| BLAKE2b-256 |
cdb1192ec6b6bed84c537c41b61ca43e2f2f45d099ce2f4144f2acec5b1c9e11
|