agentproc 0.11.0

AgentProc Protocol SDK — connect any Agent CLI to a messaging platform (Rust)
Documentation

agentproc (Rust)

crates.io docs.rs

Rust SDK for the AgentProc protocol — connect any agent CLI to a messaging platform via a process-based interface.

This is the Rust sibling of the Python and Node SDKs. All three implement the same wire protocol (0.4) and the same in-process executor mechanism. One profile can run three ways depending on what the host has installed: Rust executor (in-process), Node executor (in-process), or a Python bridge script (spawn) — all producing the same observable NDJSON.

Install

[dependencies]
agentproc = "0.10"

The default features pull in the built-in executor registry and YAML profile parsing:

[dependencies]
agentproc = { version = "0.10", default-features = false, features = ["yaml"] }

Quick start

use agentproc::{run, Profile, RunOptions};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let profile = Profile::from_path("profile.yaml")?;
    let result = run(&profile, RunOptions::new("hello")).await?;
    println!("{}", result.reply);
    Ok(())
}

In-process executors

Set executor: in the profile to skip the bridge subprocess and let the runner spawn the target CLI directly:

agentproc:
  executor: codex          # in-process on hosts with agentproc-rs
  command: python3         # fallback for hosts without the Rust executor
  args: ["{{PROFILE_DIR}}/bridge.py"]
  timeout_secs: 600

Registered executors: codex, claude-code. Register your own with agentproc::executors::register_executor.

License

MIT