marbots-sdk (Rust)
Typed, synchronous Rust client for Marbots, the
multi-agent collaboration platform. Kernel packs, permission profiles, task states, event types and model settings are
enums/helpers (KernelPack::Files, PermissionProfile::DeveloperSafe, TaskState::Completed,
EventType::ToolCallStarted, ModelRef::of), so typos are compile errors.
[]
= "0.1"
use ;
let mb = new; // .with_api_key("...") if required
let sari = mb.bots.create?;
let thread = mb.threads.create?;
let r = mb.threads.send?;
println!;
for e in mb.events.stream?
| Area | API |
|---|---|
| Bots | bots().list/get/create(BotSpec)/update/delete/hire/get_model/set_model/pause/resume/export/import_package |
| Models | models().list() → ModelCatalog, models().set_default("provider/model") |
| Chat | threads().create/send/send_with_timeout/messages/files/download/delete, chat(bot, text) |
| Work | tasks(), approvals() (incl. set_skip_approvals), schedules().create(&ScheduleSpec::cron(..)), memory(), skills(), mcp() |
| Live | events().stream(thread_id) → Iterator<Item = Result<AgentEvent>> |
cargo test runs the conformance test against a real Marbots server (dotnet build Marbots.slnx first).
Built by Gravicode Studios, led by Kang Fadhil. MIT license.
Computers, placement and learning evaluation (0.2.0)
See docs/en/computers.md and the Skills guide.
// Computers (agent hosts): list, one-time enrollment token, SSH bootstrap (credentials used once)
for h in mb.agent_hosts.list?
println!;
// A bot that runs on whichever computer fits, with its shell in Docker and parallel sub-agents
let nova = mb.bots.create?;
// Learning evaluation
for e in mb.skills.evaluations?