Skip to content

Duet Agent

Agent harness for work that outlives one chat, with resumable turns, routed state machines, and observational memory across sessions and processes.

Stars
48
Language
TypeScript
License
APACHE-2.0
Published by
Community
Author
dzhng
Last verified
Oct 2026

About this project

The agent harness for jobs that outlive the chat. How do you keep an agent working until the job is done? Most harnesses don't have an answer — the chat ends, the process dies, the context goes with it. duet-agent has three. A session can pause for minutes or months and pick up in a fresh sandbox without losing the thread.

Quoted from the project's README. Read the full README.

Highlights

  • Persists TurnState between turns so a job can pause for days and resume in a fresh sandbox, serverless invocation, or different machine.
  • Runs relays as agent-routed state machines with agent, script, poll, timer, and terminal states, including long waits between turns.
  • Records transcript observations into PGlite with hybrid vector plus full-text retrieval, including text observations from visual inputs.
  • Uses a classifier to pick model and effort per turn with cache-aware routing, installed via npm with one login key for frontier models.

Watch out

Built for jobs that span sessions and processes; work that fits one chat likely does not need it. Bring-your-own-keys setup is documented as an alternative. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

Assistant framework that stores specs, memory, and specialist agents as plain markdown files in your repo for Claude Code, Codex, Opencode, and similar runtimes.
Jev Agents & MCP#community#jevbest#catalog-import
11GitHub stars
Pi Coding Agent extension that routes only at task boundaries, using Jev judgments plus declared capabilities, availability, price estimates, and failure state.
Jev Agents & MCP#community#jevbest#catalog-import
5GitHub stars
A Claude Code function hook that sends AskUserQuestion dialogs to Jev and draws a probability per option above the dialog, so you still choose while seeing how confident the model is.
Jev Agents & MCP#community#jevbest#catalog-import
6GitHub stars
A per-prompt capability router for coding agents: a local BM25 shortlist of installed skills, MCP servers, subagents and commands, then one Jev request injects at most one suggestion plus two runner-ups.
Jev Agents & MCP#community#jevbest#catalog-import
3GitHub stars
An MCP server with a single evaluate_decision tool that returns noul, choice or score probabilities over a diff, log or plan, with output tokens set to zero on every call.
Jev Agents & MCP#community#jevbest#catalog-import
0GitHub stars
Local stdio MCP server that lets an agent delegate a decision: send a decision, context and 2 to 64 choices, get back a recommended choice with per-choice percentages and an explicit statement of where those percentages came from.
Jev Agents & MCP#community#jevbest#catalog-import
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai