OxiCode
Terminal AI coding assistant
OxiCode brings the power of LLM-based coding assistants directly to your terminal — fast, private, and fully under your control. It's a Rust port of pi by Mario Zechner, re-implementing its unified LLM API, agent runtime, tool calling, terminal UI, and session persistence in idiomatic Rust with Tokio, Ratatui, and Serde.
$ cargo install oxicode-cli
View on GitHub
▌ Streaming · claude-sonnet-4 · 142 tokens · $0.003
Sure — three equivalent rewrites, pick whichever fits:
fn total(values: &[Item]) -> u64 {
values.iter().map(|x| x.value).sum()
}
> Ready for the next prompt. What's inside
Multi-provider LLM
OpenAI, Anthropic, Google, DeepSeek, Mistral, Groq, Cerebras, xAI, OpenRouter, Azure — switch providers with a single flag.
Streaming-first
Real-time token streaming with thinking/reasoning support. No waiting for full responses.
Session branching
Persistent conversations stored as JSONL. Fork from any point to explore alternative paths without losing history.
Skill system
Pluggable prompt skills — brainstorming, deep research, code review, design system construction, and more.
Extensions
Dynamically load native .so/.dylib/.dll or WASM plugins. Build custom tools and integrations.
Multi-agent SDK
Build multi-agent pipelines with the OxiCode SDK builder pattern. Agent groups, message bus, port-based adapters.
Install
cargo install oxicode-cli cargo binstall oxicode-cli In action
Real prompts, real output — the same interfaces humans and agents use.
$ oxicode "Refactor this loop into iter().collect()"
▌ Streaming · claude-sonnet-4 · 142 tokens · $0.003
Sure - the imperative accumulator is the classic case iter() and
sum() cover. Three equivalent rewrites, pick whichever fits:
fn total(values: &[Item]) -> u64 {
values.iter().map(|x| x.value).sum()
}
If you specifically need to handle overflow, prefer:
fn total(values: &[Item]) -> u64 {
values.iter().fold(0u64, |acc, x| acc + x.value as u64)
}
> Ready for the next prompt. $ oxicode --help
Rust-native terminal AI coding assistant
USAGE:
oxicode [OPTIONS] [PROMPT]
OPTIONS:
-p, --provider <NAME> LLM provider (openai | anthropic | google | ...)
-m, --model <NAME> Model id (provider-dependent)
--stream / --no-stream Streaming tokens (default: stream)
--cwd <DIR> Workspace (defaults to $PWD)
--branch-from <ID> Fork from a stored session
--skill <NAME> Apply a skill (brainstorm | review | research | ...)
-h, --help Print help
-V, --version Print version