Praxis

Self-hosted · Built in Rust

From a decision
to a verified result.

Give your AI agents a runtime. Praxis connects your models to explicit workflows, practical tools and checks that determine when the work is done.

Web dashboard, terminal chat and Discord.
One runtime on your own machine.

Workflow / verified codingIllustrative example
Requested action

Apply the change.
Prove it passes.

  1. 01
    Read & decideInspect source and its current hash
    R
  2. 02
    Apply a contractSnapshot, modify, check or restore
    M
  3. 03
    Verify the resultBuild and test the current workspace
    B · T
Execution receiptoutcome: committed
verified: true
Runtime
verified

Completion requires current receipts. What is verified depends on the checks in your contract.

Choose your models

01 / The runtime

Make the workflow
part of the system.

The model chooses an action. Your workflow defines the capabilities it can use and the evidence needed to move forward.

01

Explicit states

Define roles, prompts and tool access in .sm files. The Decision router can select declared states with a probability threshold.

02

Actions with contracts

Opt into capabilities with preconditions, postconditions and rollback. Failed source checks can restore the original file.

03

Evidence for completion

Require current, task-owned execution receipts before a state transition or completion. A model's claim alone cannot satisfy a receipt guard.

02 / Workflows

Small instructions.
Defined effects.

Praxis Decision IR maps a compact instruction to a trusted capability. The same contract, verification and receipt rules apply.

Use your normal chat model, including Ollama. The verified Rust workflow is an opt-in example you can adapt to your project.

Set up the IR workflow
verified-implementation.smWorkflow excerpt
# Operator-selected project, checked first
[workspace]
required_files = ["Cargo.toml", "Cargo.lock"]
required_directories = ["src"]

[decision_ir]
R = inspect_file
M = verified_rust/modify_source
B = verified_rust/build_workspace
T = verified_rust/run_workspace_tests
C = agent_complete
execute_decision{"ir":"1 R {\"path\":\"src/main.rs\"}"}

03 / Your workspace

Work where you are.

Configure the runtime once. Talk to it through the interface that fits the task.

01 / Browser

A dashboard
for the details.

Chat, inspect context and tool history, configure secrets, manage plugins and view workflow state.

http://localhost:1337
02 / Terminal

Stay in
your terminal.

Use the chat TUI with local history, provider login, streaming answers and conversation controls.

praxis chat
03 / Discord

Bring agents
to your channels.

Connect an optional Discord bot for text and voice. Add QEMU VM tools and media plugins when needed.

Discord setup

04 / Get started

Your next agent
starts here.

Build with a recent stable Rust toolchain. Interactive onboarding prepares the installation assets and provider settings.

Read the setup guide
Build & start
git clone https://github.com/wasser-boo/praxis.git
cd praxis
cargo build --release --locked
./target/release/praxis onboard --interactive
./target/release/praxis run
Open the dashboard at http://localhost:1337.

Dashboard: 0.0.0.0:1337 · Gateway API: 0.0.0.0:3537. Use your server's hostname for remote access. Keep access behind your firewall, VPN or authenticated TLS proxy.

For verified coding

Select an existing project with praxis run --workspace-dir /path/to/project. Installation assets stay at ROOT_DIR. The runtime checks the prepared project before calling the model.

Project setup