NEXTELEVEN · HARNESS
Rust · multi-provider · personal work assistant

A Rust assistant for ongoing work.

NextEleven Harness reads and edits repositories, runs tools, keeps resumable sessions, and provides terminal and local web interfaces. Persistent workflows cover software, research, documents, websites, automation, and Apple projects. Users choose the exact provider, model, and fallback order. The source is public and MIT licensed, with development focused on dependable personal use.

Open source · MIT Documented automated tests Cross-platform CI Rust · CLI + TUI + serve User-selected routes + compatible custom endpoints Documented personal-use acceptance

Why this exists

Harness supports ongoing work with user-selected provider routing, persistent briefs, observed verification receipts, session recovery, bounded workers, and repeatable checks.

One-off scripts

Every project reinvented the agent

New glue, new tool schemas, and new crash modes make cost tracking, recovery, and troubleshooting inconsistent.

Provider lock-in

A tool should not choose your model stack

Harness records the route the user selects: one exact primary model followed by explicit fallbacks in the same order. Credential detection never becomes product policy.

Unsupervised tools

Agents that write anywhere are a liability

Shell, git, and file edits need allowlists, plan mode, and recoverable runs — not “trust me” on a customer machine.

What Harness does

Repository work and persistent workflows through the same runner, editable brief, verification receipts, and session recovery.

Working today

User-owned models and routing

  • Built-in provider configurations plus custom OpenAI-compatible endpoints
  • One explicit model per provider; the first is primary and the rest are fallbacks in the user's exact order
  • No recommended preset, credential-derived ranking, or implicit Ollama fallback
  • Setup, browser setup, and scoped route-management commands use the same saved route
Working today

Tools on a real repo

  • Read / write / patch files, search, shell, git, gh, tests
  • LSP helpers, plan mode for destructive steps
  • Optional gated tools: browser, docker, notebook, database
Working today

Swarm and sessions

  • Parallel workers with SQLite registry and timeouts
  • Session resume, project memory, semantic recall
  • TUI panel for swarm status and results
Working today

Ops surface

  • harness serve — local HTTP + SSE
  • MCP tools/resources, doctor, bench, sync, bridges
  • macOS / Linux / Windows CI on the public tree

What's ready, and what isn't

Harness is maintained for personal use. The current acceptance record distinguishes verified workflows from remaining checks, and CI records show the tested source and platforms. Passing checks support their tested scope; they do not establish every optional integration or operating environment.

Running now

What you get today

  • Interactive TUI and one-shot CLI
  • Provider-neutral streaming + tool loop with an exact user-selected route
  • Swarm workers, sessions, cost tracking
  • Local serve endpoint and MCP path
  • Install script + docs in the public repo
Not yet

What we won't claim

  • Enterprise adoption or managed production support
  • Universal verification of optional integrations and operating environments
  • Turnkey SaaS hosting (local-first by design)
  • Every optional tool on by default — gated extras stay off until you enable them

License: MIT. Tools act with the authority of your account. Filesystem restrictions and plan approvals do not establish arbitrary-code isolation for shell commands; review the repository’s trust boundaries before use.

Get started

Build and verify the current source. Prebuilt releases may lag new behavior; the repository’s installation guide covers platform tooling and optional integrations.

# install Git and Rust, then build the current source git clone https://github.com/seanebones-lang/harness.git cd harness cargo build --locked ./target/debug/harness --version make verify
# choose the exact provider/model route; no default is imposed harness setup harness route show # optional: save your chosen ordered route harness route set <provider>:<model> [...]