Features
Multi-Provider LLM
OpenAI, Anthropic, Codex, Ollama, llama.cpp, OpenRouter, and more. Switch providers without changing your workflow.
Discord + Voice
Full Discord bot with voice channels, threads, and TTS. Chat naturally or use slash commands.
QEMU VM Control
LLM-controlled virtual machines. Keyboard, mouse, screenshots — full automation of desktop environments.
Tool Calling
Shell execution, file operations, context management, web search. Extend with custom tools via plugins.
Plugin System
Install custom tools via plugin.json. Community-driven extensibility without touching core code.
Encrypted Secrets
AES-256-GCM encrypted at rest. Your API keys never leave your server in plaintext.
Why a harness?
A chatbot answers questions. A harness gives an AI agent tools, context, and execution control — turning a language model into a capable operator that can read, write, run commands, and interact with your systems.
Shell, file I/O, web search, VM control — anything you can script.
State machines, memory profiles, templates. The agent knows what it needs to know.
Budgets, turn limits, tool gating. You decide how far the agent can go.
Get started in 3 commands
Clone
git clone https://github.com/Marvin/praxis.git
Build
cargo build --release
Run
./target/release/praxis run
Requires Rust 1.75+ and SQLite3.
For QEMU VM support: apt install qemu-system-x86