Generic agent loop orchestration system with web dashboard
Project description
RalphX
Generic Agent Loop Orchestration System
RalphX is a domain-agnostic framework for building and running autonomous AI agent loops with a modern web dashboard. Define your agent workflows in YAML, run them with any LLM backend, and monitor everything in real-time.
Features
- Declarative Loop Definitions - Define agent workflows in YAML, not code
- Real-time Dashboard - Monitor loop progress, view logs, control execution
- Multiple LLM Backends - Claude CLI, Anthropic API, OpenAI, Ollama
- Work Item Management - Track generated/consumed items with categories and phases
- Production Ready - Error handling, timeouts, graceful shutdown, persistence
Quick Start
# Install
pip install ralphx
# Create a loop configuration
cat > my_loop.yaml << 'EOF'
name: my_research
display_name: "My Research Loop"
type: generator
modes:
default:
timeout: 300
model: sonnet
tools: [WebSearch]
prompt_template: prompts/research.md
mode_selection:
strategy: fixed
fixed_mode: default
output:
format: jsonl
path: data/items.jsonl
schema:
required: [id, content, status]
limits:
max_iterations: 10
max_consecutive_errors: 3
EOF
# Run the loop
ralphx run my_loop.yaml
# Or start the dashboard
ralphx serve
Architecture
┌─────────────────────────────────────────────┐
│ RalphX Dashboard (React) │
├─────────────────────────────────────────────┤
│ Loop Control │ Work Items │ Live Logs │
└─────────────────────────────────────────────┘
│ SSE
▼
┌─────────────────────────────────────────────┐
│ RalphX API (FastAPI) │
├─────────────────────────────────────────────┤
│ /loops │ /items │ /stream │ /config │
└─────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ RalphX Core (Python) │
├─────────────────────────────────────────────┤
│ Loop Executor │ LLM Adapters │ Stores │
└─────────────────────────────────────────────┘
Documentation
- Design Overview - Full system design and architecture
- Loop Schema - Complete YAML configuration reference
- API Specification - REST API documentation
Example Use Cases
PRD Research (Ralph-style)
Generate user stories from design documents and web research.
Code Review Loop
Automatically review code changes for security and style issues.
Documentation Generator
Generate API docs from source code.
Content Pipeline
Research topics and generate content at scale.
Inspired By
RalphX is inspired by the Ralph system used in the HANK RCM project - an autonomous agent that continuously researches and implements features. RalphX generalizes these patterns into a reusable framework.
License
MIT
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 ralphx-0.1.0.tar.gz.
File metadata
- Download URL: ralphx-0.1.0.tar.gz
- Upload date:
- Size: 153.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f95fdae9fd5dad18eaddba346c464efa83dde12c96edf93c792b503297a9f54f
|
|
| MD5 |
4d42165f681f8289cf6645b45d231e25
|
|
| BLAKE2b-256 |
22fbe1c4e2e5b4ecf5565d8e4b27241e910c181d0c4efc449deff352125ec4c0
|
Provenance
The following attestation bundles were made for ralphx-0.1.0.tar.gz:
Publisher:
publish.yml on jackneil/ralphx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ralphx-0.1.0.tar.gz -
Subject digest:
f95fdae9fd5dad18eaddba346c464efa83dde12c96edf93c792b503297a9f54f - Sigstore transparency entry: 832208698
- Sigstore integration time:
-
Permalink:
jackneil/ralphx@15101bb0454ad78151c82b37fba2f541ab56ac83 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/jackneil
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@15101bb0454ad78151c82b37fba2f541ab56ac83 -
Trigger Event:
release
-
Statement type:
File details
Details for the file ralphx-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ralphx-0.1.0-py3-none-any.whl
- Upload date:
- Size: 182.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35581638ac5c8bff872afe0486e03bb132d8595a01986983878bf5231a5388e8
|
|
| MD5 |
b288c1b813ed86dc8b7ea2f9d447fd27
|
|
| BLAKE2b-256 |
12b5489bfd1a815baa969b7a5906310d97bfd06cc667aac083553b3049213782
|
Provenance
The following attestation bundles were made for ralphx-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on jackneil/ralphx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ralphx-0.1.0-py3-none-any.whl -
Subject digest:
35581638ac5c8bff872afe0486e03bb132d8595a01986983878bf5231a5388e8 - Sigstore transparency entry: 832208700
- Sigstore integration time:
-
Permalink:
jackneil/ralphx@15101bb0454ad78151c82b37fba2f541ab56ac83 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/jackneil
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@15101bb0454ad78151c82b37fba2f541ab56ac83 -
Trigger Event:
release
-
Statement type: