Savfox is a Rust-based AI coding assistant forked from Codex. It connects to LLM providers (OpenAI, Ollama, LM Studio, and more) to help you write, review, and refactor code through an interactive TUI or non-interactive CLI. Savfox extends the original with a full gateway server layer, editor/app-server integration, MCP support, and a web frontend for remote operation.
- Interactive TUI — Chat with an AI agent in a rich terminal interface with markdown rendering, diff preview, and approval workflows
- Non-interactive CLI — Run one-shot tasks with
savfox exec, pipe results, and integrate into scripts - Gateway Server — Remote HTTP/WebSocket access with OpenAI-compatible API, session management, and cron scheduling
- Chat Channels — Connect to Discord, Telegram, Slack, Matrix, Mattermost, Google Chat, Line, Feishu, IRC, and Webhook
- Multi-layer Sandbox — Platform-native sandboxing (macOS Seatbelt, Linux Landlock, Windows restricted token) plus configurable approval policies
- MCP Support — Run as an MCP server for integration with Claude Desktop and other MCP clients, or connect to external MCP servers as tools
- Session Management — Resume, fork, and archive conversations across sessions
- Cloud Tasks — (Experimental) Submit and manage tasks in the cloud
git clone https://github.com/savfox-ai/savfox.git
cd savfox
cargo install --path crates/savfox-clisavfox login# Interactive mode
savfox
# Non-interactive
savfox exec "Add error handling to src/main.rs"
# With auto-approval and workspace sandbox
savfox --full-auto exec "Refactor the auth module"Build the web frontend and start the gateway server with just:
# Build frontend + start gateway (debug, default port 18881)
just gateway
# Override defaults
just port=9000 token=mysecret gateway
# Release build
just gateway-releasejust gateway reuses the last Dioxus web build when crates/gateway-dioxus/,
crates/gateway-shared/, and the relevant shared frontend inputs have not changed.
For live frontend hot-reload during UI development, run two terminals:
# Terminal 1 — watches and rebuilds WASM on every save
just gateway-frontend
# Terminal 2 — runs the gateway backend
just gateway-backendjust web-serve and just gateway-skip-web remain available as compatibility aliases.
Other available recipes:
just check # cargo check --workspace
just lint # cargo clippy --workspace
just test # cargo test --workspace
just test-core # targeted core/runtime tests
just test-protocol # targeted protocol/app-server/MCP tests
just test-tui # targeted TUI tests
just test-gateway # targeted gateway/channels tests
just fmt # cargo fmt --all
just help # list all recipesHow it works:
build.rsingateway-serverdeclares thestatic/folder as a Cargo dependency, so the backend automatically re-embeds the fresh frontend after each synceddx build --web.scripts/build-web.ps1skips the web rebuild and static copy when the tracked frontend inputs have not changed.
| Guide | Description |
|---|---|
| Getting Started | Installation, login, first run |
| Interactive Mode | TUI features, sessions, approvals |
| CLI Reference | All commands, flags, and examples |
| Gateway Server | Remote access, API, chat bridges |
| Configuration | Config file, profiles, feature flags |
| Sandbox & Security | Sandbox modes, platform security |
| MCP Server | MCP integration and usage |
- System Architecture
- Crate Boundaries
- Protocol Ownership
- Testing Matrix
- Gateway Web Build and Release
Dual-licensed under your choice of: