Skip to content

ChaseRensberger/wingman

Repository files navigation

Wingman Logo

Wingman

The open-source client-agnostic agent harness

Wingman is not production ready. Expect frequent API and data model changes for the time being.

What is Wingman?

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 from common harness dependencies: no Vercel AI SDK, no models.dev, etc. This makes it better suited for 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

Grab a binary from the releases page or use the install script.

curl -fsSL https://wingman.actor/install | bash
sudo wingman up

sudo wingman up installs and starts wingman.service with systemd. The server listens on 127.0.0.1:2323 (by default) and stores data in SQLite at ~/.local/share/wingman/wingman.db by default.

Features

  • 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.

About

An actor based agent orchestration framework

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors