Model or dataset
fuxicodex/Fuxi avatar
fuxicodex/Fuxi

FuXi: A Terminal AI Agent That Routes Around Provider Lock-In

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.

3,351 stars227 forksPythonNOASSERTION

At a glance

What is it?
FuXi is a Go-based, self-contained terminal AI coding agent that brings a Think-Act-Verify loop to any OpenAI-compatible model, with cost-aware routing and failover. The project is young and proprietary, so adoption depends on your tolerance for a single-binary tool with a self-run benchmark.
Who is it for?
Adopt FuXi if you want a provider-agnostic, terminal-based coding agent that keeps your API keys and data local, and if you value a single static binary with no runtime dependencies. It is especially suited for developers who already use multiple OpenAI-compatible endpoints and want automatic failover.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 6 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What FuXi Solves and Who It Serves

FuXi addresses a specific pain: using a coding agent without being locked into one LLM provider. Claude Code and similar tools often tie you to a single model or require specific subscriptions. FuXi is designed as a provider-agnostic alternative: you bring any OpenAI-compatible API key, or use Gemini, Bedrock, or Vertex, and the agent orchestrates the model. The README describes it as a vehicle that turns a model into a worker. The intended user is a developer who works in the terminal, wants autonomous code editing and command execution, and cares about controlling cost across different model providers. The project also targets teams that need audit logging and permission controls for autonomous work. If you are happy with a single vendor's agent and do not need to switch models frequently, FuXi may be solving a problem you do not have.

The Think-Act-Verify Loop and Built-in Tools

The core mechanism is an agentic loop: Think, Act, Verify. The model reasons about a task, then uses built-in tools to act on the codebase, then verifies the result. According to the README, FuXi ships with 50+ built-in tools covering file read/write/edit, shell commands (bash and PowerShell), ripgrep search, web fetch, LSP diagnostics, Jupyter, browser use, background tasks, and parallel sub-agents. The loop is meant to elevate any model's raw performance, and the README claims this is verified against another coding agent on a reproducible task set. The architecture diagrams suggest a pipeline where routing decisions happen before each action. The verification step is not described in detail, but the README's benchmark uses pytest and coverage as an objective scorer, implying that verification can involve running tests. This loop is a different approach from a simple chat completion: it gives the model persistent tools and a feedback cycle.

Installation and First Run Commands

Installation is script-based. On macOS or Linux, run `curl -fsSL https://fuxicode.com/install.sh | bash`. On Windows PowerShell, use `irm https://fuxicode.com/install.ps1 | iex`. The scripts install to `~/.local/bin` and add it to your user PATH if needed. You can pin a specific version by passing an argument, for example `./bootstrap.sh 0.1.2`. After install, verify with `fuxi --version` and run `fuxi doctor` for environment sanity checks covering config, API key, git, and ripgrep. Then launch the TUI with `fuxi`. There is also a `fuxi verify` command to confirm the provider connection. The README gives a practical evaluation checklist that starts with these commands, then suggests reproducing a real task like fixing a failing test in your own project. The install commands are straightforward, but note that they pipe remote scripts directly into your shell, which is a security decision you should accept consciously.

Cost-Aware Routing and Failover

A headline feature is cost-aware routing across LLM providers with automatic failover. The README describes this as intelligent routing, and the TUI exposes `/cost`, `/usage`, `/context`, and `/status` commands so you can monitor what is happening. The routing mechanism is not fully detailed in the provided material, but the concept is that FuXi can choose which model or provider to use for each step based on cost and likely success. This is a practical answer to the problem of expensive frontier models: you might want a cheap model for simple file edits and a stronger one for complex reasoning. The failover aspect means if one provider fails, the agent can switch to another. This is a different approach from tools that assume a single provider. However, the actual routing algorithm is not documented in the README, so you cannot know how it balances cost and quality without inspecting the source or running it.

Safety Guardrails and Session Persistence

Autonomous agents that run shell commands are risky, so FuXi includes safety measures. The README states that shell commands pass an AST safety classifier before execution. That is a concrete mechanism: the command is parsed into an abstract syntax tree and checked for dangerous patterns before running. There are also fine-grained permissions and audit logging. Sessions are durable: transcripts persist to disk, and checkpoints allow resume, roll back, or fork. The README mentions idle dreaming that consolidates memory across sessions, and long conversations auto-compact to save tokens. These features address the practical need to recover from bad agent actions and to manage context limits. The AST classifier is a notable design choice compared to simple allowlists or manual confirmation. It is not a guarantee of safety, but it is a more structured approach than nothing.

Extensibility: MCP, Hooks, Skills, and Plugins

FuXi positions itself as extensible. It is an MCP client, and it supports hooks, skills, plugins, and slash commands, all hot-reloadable. MCP, or Model Context Protocol, is a standard for connecting agents to external tools and data sources. Being an MCP client means FuXi can interact with any MCP server, which gives it access to a growing ecosystem of integrations beyond its built-in 50+ tools. Skills and plugins likely allow you to package custom instructions or tool sets, though the README does not detail the API for writing them. Hot-reloadable means you can change a skill or plugin without restarting the agent, which is useful for iterative development. This extensibility is a point in favor for teams with specific workflows. However, the lack of documentation on how to write a skill or plugin is a gap; you would need to explore the repository or docs folder to learn the format.

Licensing, Self-Update, and Benchmark Caveats

The repository license is listed as NOASSERTION, and the README badge says Proprietary. The text claims it is free forever with no license cost for individuals, teams, or enterprises, but that is a business promise, not an open-source license. You cannot freely fork or redistribute it as you would with MIT or Apache code. This is a critical consideration for enterprises with strict open-source policies. The project is written in Go and ships as one static binary with no runtime dependencies. It has a self-update mechanism: `fuxi update` with checksum verification. The benchmark comparison against Claude Code is self-run and the README explicitly calls it a small, self-run task set, not third-party. It measures the agent loop, not raw model scores. The project also states it has no published scores on SWE-bench or Terminal-Bench. That is an honest limitation, but it means you cannot compare FuXi to other agents on standard metrics. The last push is September 2026 with release 0.1.6, so the project is active but very young.

Editorial conclusion

Adopt FuXi if you want a provider-agnostic, terminal-based coding agent that keeps your API keys and data local, and if you value a single static binary with no runtime dependencies. It is especially suited for developers who already use multiple OpenAI-compatible endpoints and want automatic failover. Do not adopt it if you require a permissive open-source license or a proven third-party benchmark score, as the project is proprietary and ships without SWE-bench or similar results. Before committing, verify the installation script you run, test `fuxi doctor` and `fuxi verify` against your provider, and review the benchmark methodology in `benchmark/REPORT.md` to see if the self-run comparison matches your own tasks. The project is under active development, so check the changelog and the last push date to gauge stability.

Official sources

  1. fuxicodex/Fuxi on GitHub
  2. Issues
  3. Project website
  4. README
  5. Releases
Community notes

Community notes