duet-agent
Agent harness for long-running jobs that survive across sessions; listed for a Jev-backed table that routes requests to models.
Overview
duet-agent is an agent harness for jobs that outlive a single chat. Sessions can pause for minutes or months and resume in a fresh sandbox without losing context, supporting long-running outreach, coding sessions that remember past attempts, multi-step research with observable states, serverless turns and scheduled work. A single login unlocks frontier language, image and video models and web skills through the Duet AI Gateway.
It appears in a Jev directory because, according to the list summary, it keeps a Jev-backed routing table for deciding which model should serve a request. The README excerpt reviewed does not describe this component, so the routing questions and thresholds are not documented here. Only the turn state needs to survive between turns, so a scheduled job can wake a session, run one turn, persist and exit.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which model should serve this request?(inferred) | — |
How it works
- Receive a request in a long-running session
- Consult the Jev-backed routing table to pick a model
- Run the turn and persist state
- Resume later from the persisted state
Strengths
- Durable sessions for long-running agent jobs
- Model routing via a decision model
Caveats
- Jev routing not described in the README
- Gateway features tie into Duet's service
Getting started
npm install -g @duetso/agent, duet login, then duet "<task>".At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- CLI (Bun/Node)
- Has code
- yes
- Has tests
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
Agent harness: keeps a Jev-backed routing table for deciding which model should serve a request.
yibie/awesome-jev
Frequently asked questions
Where is Jev used?
In a routing table that decides which model serves a request, per the listing.
What makes duet-agent different?
Sessions can pause and resume across processes and sandboxes.
Do I need my own provider keys?
No, duet login uses the Duet AI Gateway, though you can bring your own keys.
Related projects
Glue that turns one Linux machine into a team of coding agents, with Jev making typed calls like who builds a task and whether it may merge.
ProjectbetaTypeScriptLocal Kanban workspace for Codex where Jev recommends a model and reasoning effort for each ticket before execution.
ProjectbetaTypeScriptVerifiable coding-agent runtime built on checkable execution graphs, listed with an optional Jev provider for bounded choices like routing.
ServiceproductionTypeScriptFederated knowledge retrieval engine for agents that uses Jev to route queries to backends and re-rank evidence, with keyword fallback.
LibraryprototypePythonAlibaba's AgentScope 2.0 agent framework, which added a JevClassifierModel for binary, choice and score decisions via the TypeSafe SDK.
ProjectproductionPythonLocal-first routing engine for long-running agent tasks that uses a Jev decider to pick a model group per turn.
PluginproductionRust, TypeScript