Albatross

Fully transparent, multi-model routing. No Black Box.

Albatross routes every task across multiple models at the execution layer. A selector picks the right orchestrator, coder, and reviewer tier per task, and every decision lands in an auditable ledger you can replay. Local or cloud, your models, your keys, one TUI.

$ brew install morganlinton/tap/albatross
View on GitHub
open source · MIT written in Rust Apple Silicon optimized v2.0.3
albatross · ~/projects/api

Albatross v2.0.3 · a small, terminal-first coding harness backend ollama · model qwen2.5-coder:7b · approval dangerous-only add a function in src/util.rs that lowercases a string and trims it Read src/util.rs Edited src/util.rs --- src/util.rs +++ src/util.rs +pub fn normalize(input: &str) -> String { + input.trim().to_lowercase() +} Apply? [y/n/a]: y checkpoint saved (1 file), /undo to revert 3.4k in · 412 out · $0.001 this turn · $0.0013 session

multi-model

Multiple models at the execution layer.

Describe a model stack that blends local and frontier models. A selector routes each task to the right tier. Unlike a black box, every decision lands in a durable, auditable ledger: which model, why, what it cost.

› /route select add OAuth login with token refresh and tests

  selector   openrouter/fusion          "multi-file auth change, high blast radius"
  ├─ orchestrator  high  → anthropic/claude-sonnet-4.5
  ├─ coder         high  → anthropic/claude-sonnet-4.5   effort: high
  ├─ review        production → openrouter/fusion
  └─ security      openrouter/fusion

  receipt → .albatross/routes.jsonl · explain with /route explain · totals with /route spend
features

The usual tool kit, plus a few that aren't usual.

Read, edit, grep, shell, run tests. Then the parts other harnesses don't have.

/backend

Local or cloud, one TUI

Switch providers mid-session. Ollama, LM Studio, MLX, llama.cpp, OpenRouter, OpenAI, Grok: the tools, commands, and session log don't change.

/route

Multi-model routing

A selector model picks low/medium/high orchestrator and coder tiers per task, plus review and security models, then switches the active coding model for you.

/undo

Real undo

Revert the last agent turn's file mutations, including files the agent created or files that weren't tracked when the turn started.

/path fork

Session paths

Branch the conversation and workspace to try two fixes, diff them, and /path pick the winner. No worktree required.

/iterate

Plan, then grade the work

A generate→evaluate loop where a separate critic agent scores each pass against a rubric until it clears the bar. The generator never grades itself.

$0.003

Per-turn cost, always visible

Every cloud turn prints its own cost plus the running session total on the status line. Local turns just show tokens. No surprises at the end of the month.

/auto

Run it overnight

Unattended generate→evaluate rounds with auto-reset when context fills, bounded by budget and deadline. Wake up to a morning report.

/fusion

OpenRouter Fusion, one command

Switch to multi-model deliberation for hard reviews, architecture tradeoffs, and high-stakes debugging, then switch back.

mcp__*

MCP-native

Drop servers into mcpServers in your config; their tools show up to the model on next launch. Trust is explicit, per-config-hash.

/auth

No .env juggling

Paste API keys once into a 0600 file, or OAuth into a ChatGPT/Codex or SuperGrok subscription with /login. Env vars still win when set.

Apply? [y/n/a]

Approval gates you can live with

Every mutating call shows you the diff first, with allow-once / allow-session / always-allow caching.

/reset

Reset over compaction

Writes a structured handoff artifact and starts a clean session seeded with it, with better coherence on long tasks than summarizing in place.

backends

One harness. Eight backends.

Albatross talks to one backend at a time. Pick the path that fits, and switch whenever you like.

local

Private, free, offline. Runs entirely on your machine.

  • ollamaeasiest setup, mature tool-call templates
  • lm-studioGUI model browser, explicit load/unload
  • mlxfastest inference on Apple Silicon
  • llamacppdirect GGUF serving

cloud

Frontier-model quality with your own key, or your subscription.

  • openrouterfrontier models, Fusion, A/B with /compare
  • openaidirect provider access with your own key
  • openai-codexChatGPT/Codex subscription OAuth
  • grokSuperGrok / X Premium+ OAuth

Switch mid-session with /backend <name>. Same tools, same session log either way.

quickstart

Up and running in two minutes.

No account. No sign-up. Just a binary and whatever model you already have.

Install

Homebrew on macOS, or build from source with Rust 1.86+.

brew install morganlinton/tap/albatross

Pick a path

Local and free with Ollama, or cloud with your own API key. Albatross works the same either way.

# Path A: local, private, free
brew install ollama && brew services start ollama
ollama pull qwen2.5-coder:7b

# Path B: cloud, frontier quality
export OPENROUTER_API_KEY=sk-or-...

Launch

A short first-run wizard sets backend, model, and approval policy. Every launch after that opens straight into a session.

albatross

Try the bundled demo

Runs a real agent loop on a tiny crate with a failing test, in an isolated sandbox, without touching your repo.

/play fix-failing-test

Your terminal. Your models. Your keys.

Open source under MIT. Star it, fork it, or file an issue.

copied to clipboard ✓