Self-hosted AI assistant framework built in Rust. Multi-channel, multi-provider, with built-in self-evolution.
Forked from ZeroClaw and extended with production reliability, governance-aware AI, and a self-evolution system.
- Broad LLM provider catalog — Anthropic, OpenAI, Google Gemini, GitHub Copilot, Ollama, AWS Bedrock, GLM, OpenAI Codex, local runtimes, and compatible endpoints
- LLM Router — heuristic routing (capability + Elo + cost + latency), KNN semantic routing (cold-start guard + 100ms timeout fallback), and Automix low-confidence auto-upgrade
- Causal Tree Engine — speculative multi-branch prediction with rehearsal, scoring, and circuit breaker; opt-in via
causal_tree.enabled(disabled by default) - Multi-channel messaging — Signal, WhatsApp, Telegram, Discord, Slack, Matrix, and more
- Built-in tools and integrations — shell, MCP, memory, scheduling, remote nodes, and an integration catalog
- Xin (心) task engine — autonomous heartbeat scheduler with 3 execution modes (Rust/LLM/Shell), 5 built-in system tasks, SQLite persistence
- Web Console — browser-based management interface (
console/) - Remote Nodes — control macOS/Linux/Pi devices via
prx-nodeagent - Self-Evolution — autonomous prompt/memory/strategy improvement with xin-managed scheduling
- Subagent Governance — concurrency limits, depth control, config inheritance
- Extensive automated test suite — unit, integration, PTY, gateway, migration, and security coverage
- heuristic model routing is always available
- semantic KNN scoring activates when embeddings and history are available
- cheap-first, low-confidence upgrade activates when a premium model is configured
Disabled by default. Set
causal_tree.enabled = trueto activate.
causal_tree.enabled— master switch for the CTE pipeline (default:false)causal_tree.policy.max_branches— maximum candidate branches to expand (default:3)causal_tree.policy.commit_threshold— minimum score to commit a branch (default:0.62)causal_tree.policy.extra_latency_budget_ms— max additional latency budget in ms (default:300)causal_tree.policy.rehearsal_timeout_ms— per-rehearsal timeout in ms (default:5000)causal_tree.policy.circuit_breaker_threshold— consecutive failures before tripping (default:5)causal_tree.w_confidence— scoring weight for confidence dimension (default:0.50)causal_tree.w_cost— scoring weight for cost penalty (default:0.25)causal_tree.w_latency— scoring weight for latency penalty (default:0.25)
Linux and macOS:
curl -fsSL https://github.com/openprx/prx/releases/latest/download/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
prx onboard --interactive
prx daemonWindows PowerShell:
irm https://github.com/openprx/prx/releases/latest/download/install.ps1 | iex
prx onboard --interactive
prx daemonThe installer downloads a platform-specific binary from GitHub Releases, verifies its SHA-256 checksum, and installs it without requiring Rust or Git. See the installation guide for exact versions, source builds, supported platforms, upgrades, and removal.
To build from a checkout with the pinned Rust 1.97.1 toolchain:
git clone https://github.com/openprx/prx.git
cd prx
cargo build --release --locked --bin prx
./target/release/prx onboard --interactive| Binary | Description |
|---|---|
prx |
Main AI daemon and CLI — providers, channels, tools, evolution |
prx-node |
Lightweight remote node agent — runs on managed devices |
Channels Tools Remote Nodes
Signal · WA · TG · ... Shell · MCP · ... macOS · Pi · ...
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────┐
│ prx daemon │
│ Agent Loop · Gateway · CTE · Xin · Memory · Evo │
└──────────────────────┬──────────────────────────────┘
│
Providers
Anthropic · OpenAI · Google · ...
| Topic | Description |
|---|---|
| Installation | Binary install, source build, upgrades, rollback |
| Providers | Provider catalog, fallback chains, token refresh |
| Channels | Messaging platforms, DM/group policies |
| Tools | Built-in tools, hooks system, webhooks |
| Remote Nodes | prx-node agent, device pairing, JSON-RPC |
| Web Console | Browser-based management interface |
| Evolution | Self-improvement pipeline |
| Configuration | Config reference, workspace files, security |
| Router | LLM Router config, flow, safety boundaries |
| WASM Plugins | Plugin developer guide (Rust/Python/JS/Go) |
| Host Function Reference | WASM plugin host API reference |
| Plugin Runtime Lifecycle | Atomic generations, subscriber pumps, trust and hook bounds |
- Documentation — Full PRX documentation
- Community — OpenPRX community forum
- OpenPRX — Project homepage
| Repository | Description |
|---|---|
| openprx/prx | AI assistant framework (this repo) |
| openprx/prx-memory | Standalone memory MCP server |
| openprx/openpr | Project management platform |
| openprx/openpr-webhook | Webhook receiver for OpenPR |
| openprx/wacli | WhatsApp CLI with JSON-RPC daemon |
Forked from zeroclaw-labs/zeroclaw (MIT / Apache-2.0). "ZeroClaw" is a trademark of ZeroClaw Labs. This project is OpenPRX, an independent fork.
Dual-licensed under MIT and Apache-2.0.