Conjure results from intent.
OpenWand is a local-first, privacy-first AI agent desktop tool built entirely in Rust. Not a framework. Not an OS. Your personal agent — fast, small, extensible, governed, and yours.
14 crates, one binary, zero compromise.
openwand (binary)
├── openwand-core Agent loop, planning, recovery, mode
├── openwand-trace Authority, append, query, stream, store
├── openwand-store Persistence layer
├── openwand-session Session runner, config, testing harness
├── openwand-memory 3-tier memory (user/session/agent + ACE Skillbook)
├── openwand-tools Built-in tools (filesystem, shell, web, browser, spawn)
├── openwand-mcp-pool MCP server pool via rmcp (official Rust SDK)
├── openwand-policy Governance: budget governor, redaction, access control
├── openwand-llm Multi-provider LLM routing with model cascade
├── openwand-skills YAML + Markdown skill store with auto-discovery
├── openwand-goals Fitness functions + autonomous improvement loops
├── openwand-content Rich content rendering (stub — future crate)
├── openwand-workflow Evidence ladder: 44 modules, 6 dependencies, leaf crate
└── openwand-app CLI binary, lib, UI, persistence
# Build
cargo build --workspace
# Run
cargo run -p openwand-app
# Test everything
cargo test --workspace --features "openwand-session/testing,openwand-session/sqlite-testing,openwand-memory/testing,openwand-memory/sqlite-testing"| Layer | Technology |
|---|---|
| UI | Dioxus 0.7 (desktop) |
| Sessions | Loro CRDT |
| MCP | rmcp (official Rust SDK) |
| Memory | rusqlite |
| Trust | blake3 |
| Runtime | tokio |
- Local-first — all data in
~/.openwand/, zero cloud dependencies - Fast — compact binary, fast startup
- Safe — every tool call passes through policy engine before execution
- Observable — every action produces a structured, typed result
- Self-improving — agents learn from mistakes via ACE Skillbook
- Extensible — MCP servers add capabilities without touching core
- Governed — workflow evidence ladder with hash-bound append-only records
- Disk-verified — every development wave starts from repository truth
OpenWand's workflow system builds an append-only evidence chain (structural hash-chaining; immutability enforcement deferred to verifier, not yet implemented):
skills/goals → task plan → review → proposal → review → readiness
→ execution → routing → bridge → outcome → reconciliation
→ run revision → continuation → next-action review → routing readiness
→ routing gate → loop controller → command composer → command review
→ manual result capture
Each step is content-addressed (blake3), hash-bound to its predecessor, and guarded against
unauthorized mutation. No runtime verifier enforces append-only at the store level yet.
The workflow crate is a leaf dependency with exactly 6 crates: serde, serde_json, blake3,
chrono, thiserror, tracing.
From Wave 38 onward, OpenWand follows Disk-Verified Large-Wave Execution:
Scale by wave.
Ground by disk.
Accept by tests.
Seal by evidence.
No wave plan is valid until the relevant repository state has been inspected. No wave is accepted without passing tests and evidence of no forbidden mutations.
See GOVERNANCE.md, ROADMAP.md, and WAVES.md.
3,999 tests (Windows), zero failures (v0.4.0 stable)
MIT