The open-source client-agnostic agent harness
Wingman is not production ready. Expect frequent API and data model changes for the time being.
Wingman is yet another agent harness, but this one is:
- Written in Go.
- Client agnostic: multiple clients/UIs on one machine can use Wingman as a shared dependency. Wingman is decoupled from any specific use case, so it does not come bundled with a coding TUI, but you can run a coding TUI on top of it.
- Independent of external dependencies, making it ideal for running in secure or airgapped environments.
- Highly extensible: plugin support via in-process Go modules or out-of-process JSON-RPC. Plugins can register tools, attach to lifecycle events, rewrite history, and more.
Install the latest release:
curl -fsSL https://wingman.actor/install | bashInstall a specific prerelease:
curl -fsSL https://wingman.actor/install | bash -s -- --version 0.2.0-beta.1Restart your shell if the installer added ~/.wingman/bin to your PATH, then verify the binary:
wingman versionStart Wingman in the foreground:
wingman serveThe server listens on 127.0.0.1:2323 by default and stores data in SQLite at ~/.local/share/wingman/wingman.db.
Open the bundled web UI:
http://127.0.0.1:2323/console
On Linux, install and start Wingman as a systemd service when you want it running in the background:
wingman upwingman up prompts for sudo if needed, installs wingman.service, and starts it.
- Client-agnostic runtime - Run Wingman as the backend for any client that depends on LLM functionality.
- Extendable - Strong plugin support so you can extend session behavior however you want.
- Provider-agnostic - Wingman ships its own provider-agnostic model SDK, WingModels.
- Context handoff - Swap between provider/model combinations with minimal, and often zero, data loss.
- SQLite-backed sessions - Store agents, sessions, messages, parts, and provider auth in a local SQLite database.
- HTTP API - Communicate with Wingman via HTTP from your own clients.
Want to learn more? Check out the site & Read the docs
Also I made a hackernews client.
