rx4 0.3.2

The agent harness engine — loop, tools, providers, sessions, permissions, computer-use, with full pi protocol compatibility
Documentation

rotary

The agent harness engine. Models write; rotary gives them tools, memory, loops, permissions, sessions, and control planes. Hosts (CLIs, TUIs, IDEs) embed rotary.

crates.io License: MPL-2.0

Install

[dependencies]
rotary = { version = "0.3", features = ["ipc", "computer-use"] }

Quick start

use rotary::{Agent, Scope, ToolRegistry, register_builtin_tools};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut agent = Agent::new();
    let mut tools = ToolRegistry::new();
    register_builtin_tools(&mut tools);
    agent.set_tools(tools);
    agent.set_scope(Scope::Coding);
    agent.prompt("fix the failing test").await?;
    Ok(())
}

IPC server

rotary serve /tmp/rotary.sock

JSON-RPC methods: ping, state, prompt, set_model, tools, plugins, messages, session_list, session_clear.

Scopes

Scope Tools Policy
coding FS + shell + find workspace_write
research read-only read_only
plan read-only read_only
ask none deny_all
computer_use rs_peekaboo cu_* full_access

Computer-use

Powered by rs_peekaboo — native Rust, no FFI:

rotary = { version = "0.3", features = ["computer-use"] }

Tools: cu_call, cu_see, cu_image, cu_click, cu_type, cu_hotkey, cu_scroll, cu_window, cu_app, cu_list, cu_open, cu_clipboard.

License

MPL-2.0