fuxicodex/Fuxi
FuXi is a fast, self-contained AI coding agent that lives in your terminal — edit code, run commands, and drive tools, with cost-aware routing across LLM providers.
What it solves
FuXi is a terminal-based AI coding agent designed to turn a raw LLM into a functional worker capable of reasoning, editing code, and executing commands. It provides a provider-agnostic framework that allows users to bring their own API keys for various models (OpenAI-compatible, Gemini, Bedrock/Vertex) and implements a "Think $\rightarrow$ Act $\rightarrow$ Verify" loop to improve the model's performance on coding tasks.
How it works
FuXi operates as a self-contained Go binary that integrates with LLMs via a TUI (Terminal User Interface). It uses an agentic loop to reason through problems and verify results. The system includes a smart routing proxy for cost-aware routing across different providers and automatic failover. It also supports the Model Context Protocol (MCP) as a client, allowing it to extend its capabilities through external tools.
Who it’s for
It is designed for developers who prefer a terminal-first workflow and want a flexible, provider-agnostic AI coding assistant that can be integrated into their existing codebase without being locked into a specific LLM provider.
Highlights
- Extensive Toolset: Includes over 50 built-in tools for file operations, shell execution (bash/PowerShell), ripgrep search, LSP diagnostics, and browser use.
- Safety Guardrails: Uses an AST safety classifier to vet shell commands before execution and provides fine-grained permission controls.
- Durable Memory: Features persistent session transcripts, checkpoints for rolling back or forking, and "dreaming" to consolidate memory across sessions.
- Provider Agnostic: Supports any OpenAPI-compatible model, Gemini, and Bedrock/Vertex.
- Self-Updating: Includes a background version check and an atomic update mechanism to replace the running binary.
- MCP Support: Acts as an MCP client and can also run as an MCP stdio server.
Related
- Project
- Project
- Project
- Project
- Project