An agentic AI framework where every capability is a filesystem path. Built on StructFS. Read a path to inspect state. Write a path to change it.
System prompt, conversation history, tool definitions, and model config all live as paths in a virtual namespace. Read a path to inspect state. Write a path to change it.
The kernel reads /prompt, streams a completion, writes
results back, and loops until the model stops calling tools. Tools
are shell-provided, not baked in — every shell (browser, WASI,
native) brings its own tools and transport. The ox carries what it
needs and nothing extra.
// Read the assembled prompt from the namespace namespace.read(&path!("prompt")) // Append to conversation history namespace.write(&path!("history/append"), record) // Tools are shell-provided — register from JS, WASI, or native agent.register_tool("search", search_tool)
| Crate | Role | |
|---|---|---|
| ox-kernel | core | State machine, Tool/Transport traits, ToolRegistry, agentic loop, StructFS re-exports |
| ox-context | namespace | Namespace store router, providers (System, Tools, Model), prompt synthesis |
| ox-history | memory | HistoryProvider — conversation state as a StructFS store |
| ox-core | agent | Agent composition — wires kernel + namespace + stores, re-exports public types |
| ox-web | browser | Wasm shell, JS tool registration, theme picker, debug UI |
| ox-dev-server | proxy | Axum binary — Anthropic API proxy, serves the playground |
| ox-wasi | stub | WASI target shell |
| ox-emscripten | stub | Emscripten target shell |