A general-purpose agent that is resistant to prompt injection by design, in Rust.
Currently pre-Alpha. Use at your own risk.
Inspired by:
You need a Rust toolchain plus a .env copied from .env.example.
The minimum setup is OPENAI_API_KEY; Telegram usage also needs TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID.
Optional host tools include st for voice-note I/O, codex for image OCR, and sieve-lcm-cli for LCM memory flows.
Full dependency, env, runtime, logging, Telegram, troubleshooting, and external CLI repo links live in docs/running.md.
Send a one-off request with:
cargo run -p sieve-app -- "review workspace status"Start long-running mode with:
cargo run --release -p sieve-appSieve keeps the planner isolated from raw untrusted tool output. The main workspace split is:
sieve-appfor the integrated entrypoint,sieve-runtimefor orchestration and approvals,sieve-policyfor capability checks,sieve-quarantinefor sandboxed tracing, and- supporting crates for summaries, LLM wiring, Telegram, schemas, and shared types.
Architecture notes and crate map: docs/running.md. Deeper design docs: docs/sieve-v3-mvp-spec-v1.3.md and docs/sieve-v3-mvp-security.md.
Run the local suite with:
cargo test --workspaceRun the deterministic app harness with:
cargo test -p sieve-app e2e_fake_ -- --nocaptureCommands and coverage notes: docs/running.md.