Crusty is a lightweight AI agent written in Rust that can run through an AI proxy/router or connect directly to an OpenAI‑compatible provider. It provides a simple CLI to configure, start/stop proxies, manage providers, and run chat sessions.
- Two run modes: Proxy mode (use a local/remote proxy/router) and Provider mode (use an OpenAI‑compatible provider).
- Manage multiple proxies and providers, start/stop proxy processes, and open proxy dashboards from the CLI.
- Automatic installation of proxy packages (via npm) when required.
- 9router — https://github.com/decolua/9router
- OmniRoute — https://github.com/diegosouzapw/OmniRoute
- Rust & Cargo (edition 2024) — https://www.rust-lang.org/tools/install
- Node.js & npm — required for installing and running proxy packages
- Clone the repository:
git clone https://github.com/smtdfc/crusty
cd crusty- Build the application:
cargo build
cargo build --releaseThe release executable will be available at target/release/crusty.
- Run the setup wizard to configure a provider or proxy:
crusty setup- If you chose Proxy mode, configure and optionally start the proxy (local):
crusty proxy start- Start the chat session:
crusty start
# or: crusty start --chat # jump directly into chat modeProvider mode allows Crusty to use a direct OpenAI‑compatible provider (OpenAI, Anthropic, or a custom provider). Add providers via the setup wizard or using the provider CLI commands. When Provider mode is active, crusty start will use the configured provider and model.
Provider commands:
crusty provider add
crusty provider list
crusty provider remove <name>
crusty provider switch <name>Proxy mode uses a proxy/router (local or remote) as the API endpoint for the agent. Proxy setup may ask for platform‑specific details (host, port, API key, model name).
Proxy commands:
crusty setup # run setup and add a proxy
crusty proxy start # start the active local proxy
crusty proxy stop # stop the active local proxy
crusty proxy dashboard # open the proxy dashboard in the browser
crusty proxy list # list configured proxiescrusty setup— run the interactive setup wizardcrusty start [--chat]— start the agent;--chatjumps directly into the chat UIcrusty proxy start|stop|dashboard— control the active proxycrusty provider add|list|remove|switch— manage providers
- If the proxy is reported offline when starting the agent, ensure the proxy process is running and the host/port are correct.
- If npm package installation fails, verify
nodeandnpmare installed and have network access.
Contributions are welcome:
- Fork the repository
- Create a branch for your change:
git checkout -b feature/your-feature - Commit and push
- Open a Pull Request
Please ensure tests/build succeed before opening a PR.
This project is licensed under the MIT License. See LICENSE for details.