Get started
Oino
A small Rust agent core, extensions as WASM components in any language, and clients for the terminal, editors and your own apps.
Oino is a coding-agent runtime written in Rust and published as a set of crates. oino-core runs the agent loop, sessions, the built-in tools and compaction. Everything else attaches from the outside: providers, slash commands, panels, whole feature sets such as permission gating or subagents are WebAssembly components that the host loads at startup.
That split has consequences you can feel:
- The core is small and stable. It has no provider code and no UI code, and it never depends on
wasmtimeitself. - Extensions are sandboxed components built against the WIT package
oino:extension@2.0.0. Any language that can compile towasm32-wasip2can write one, and a crashing extension cannot take the session down. - Providers are components too. Anthropic, OpenAI, OpenAI-compatible gateways and Google Gemini ship as separate packages, and a provider you add yourself is registered the same way.
What you get#
The oino binary gives you an interactive terminal UI and four headless modes:
oino # terminal UI
oino -p "Summarize this repository" # print: one answer, then exit
oino --mode json "List the crates" # JSON event stream
oino --mode rpc # JSONL protocol on stdio
oino --mode acp # Agent Client Protocol (Zed, other editors)If you are building your own frontend, embed the runtime instead: oino-core in process, oino-client for the backend contract, oino-rpc to drive a separate oino --mode rpc process. The embedding page has a working example in about 40 lines.
If you extend the agent, write a component with the Rust guest SDK (oino-extension), or build the same WIT world from Go, TypeScript, Python or any component-model toolchain. The extensions section walks through a complete extension with a tool, a command and an event hook.
Layout#
| Part | Crates |
|---|---|
| Runtime | oino-core, with oino-agent, oino-tools, oino-session, oino-settings, oino-resources, oino-models, oino-ai |
| WASM host | oino-wasm-host (wasmtime), oino-extension-api (contracts) |
| Guest SDK | oino-extension, oino-extension-macros |
| Clients | oino-cli (the oino binary), oino-tui, oino-view, oino-client, oino-rpc, oino-acp |
| Shared | oino-ui (extension UI wire types, used by host and guests) |
All 19 crates are on crates.io and documented on docs.rs; the crate map lists each one with its job.
Source: github.com/Neuron-Mr-White/Oino. License: MIT OR Apache-2.0.
The project is young. Public APIs follow semantic versioning, and known gaps are listed per area in the repository's developer docs; this site marks the ones that matter where they apply.