mrkeyoor.com_
Sat 24 Oct 04:26 UTC
AI Toolsevaluationupdated 24 Oct 2026

open-duet review

Open Duet is a workspace for named AI agents with their own instructions, conversations, memory and assigned folders. It lets one operator organize delegated work and recurring prompts while bringing a separately configured model engine.

Verdict

Our Open Duet backend run installed 34 dependencies in 12 seconds and used 38 MB, then built successfully in 1 second. Tests stopped on a missing pytest_asyncio import, so that small environment gives us no evidence of working agent tasks. Try it as an experimental workspace for one technical operator, with your chosen engine and approval path checked before any unattended routine.

We ran it

Lab card: what happened when we ran open-duetScreenshot of open-duet (github.com/Anil-matcha/open-duet)
Install✓ · 12s34 packages · 38 MB
Build✓ · 1s
Tests✗ · 1sran, no count parsed
Known vulns0(pip-audit)
Repo695 files~98,194 lines of source · 5.3 MB · 3 CI workflows · tests dir

Answers from our run

Does open-duet build from source?

Dependencies installed in 12 seconds (34 packages), and the build succeeded in 1 seconds. We cloned commit 69a65e4 into a clean Debian container with 3 CPUs and no project-specific setup.

Do open-duet's tests pass?

No. The project's own test command exited unsuccessfully after 1 seconds, and its output did not expose an individual test count.

Does open-duet have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use open-duet?

Organizations needing separate human accounts in one workspace: the experimental server is for one owner with paired devices.

What are the alternatives to open-duet?

Open WebUI, CrewAI. Our Open Duet backend run installed 34 dependencies in 12 seconds and used 38 MB, then built successfully in 1 second.

SetupN/AOnly the backend path was measured; fixture loading failed, and supported desktop or server operation was not reproduced.
Docs4/54/5 for explicit owner, engine and deployment limits; the fifth point requires an operating path independently verified here. The body states this rubric.
CommunityN/AA recent push and active pull requests establish activity, but user support quality and response reliability were not assessed.
MaturityN/ANo live engine task, approval path or routine was exercised, and upstream calls the server and computer features experimental.

Who it’s for

A single technical operator who wants named agents and persistent conversations in a desktop or self-hosted workspace.
Users willing to provide an engine account or local endpoint and inspect approval requests before enabling recurring work.
Experimenters comfortable using Claude as a team lead and treating computer access as an optional experimental feature.

Who it’s NOT for

Organizations needing separate human accounts in one workspace: the experimental server is for one owner with paired devices.
Teams requiring a non-Claude lead for delegated agent work: the README says team leads currently need Claude.
Users expecting built-in Gmail, Slack or Notion integrations: the README says that catalog is not available yet.
People requiring signed installers and automatic desktop updates: the README says installers are experimental, unsigned and do not auto-update.
Operators who need agent computers through the documented Compose route: the server guide says that route lacks access to the host Docker engine.

Setup reality

Our backend sandbox installed 34 dependencies in 12 seconds, used 38 MB and built successfully in 1 second. Tests failed with exit 4 after 1 second because tests/conftest.py could not import pytest_asyncio. Pip-audit reported 0 known vulnerabilities in the examined environment. These results cover the Python backend, not the complete desktop experience.

You bring a CLI sign-in, provider account or API endpoint, and any model usage costs. The desktop path needs Node.js 22+, uv and an engine. Server hosting also needs a Linux machine and HTTPS configuration, with a passphrase and credential-encryption key retained separately from the backup archive.

Routines require the backend to remain running. Docker is optional for ordinary chat and required for isolated agent computers, which are experimental. The documented Compose server route cannot use those computers. Our recorded sandbox image label does not establish actual runtime versions or verify the desktop and server paths.

Open Duet's server belongs to one owner

A roster of AI coworkers does not give your human team separate accounts. Open Duet's README says its experimental server is intended for one owner with paired devices. Within that boundary, it provides named agents with instructions, workspaces and memory, plus conversations and routines. That makes it an interesting personal workbench for someone who wants several agents available from one place.

The distinction affects the adoption decision immediately. You can appoint a lead and specialists, inspect their conversations and choose approval settings. Team leads currently need Claude. If your plan depends on several people sharing administration or choosing any engine as team lead, the documented product boundary already rules it out. A single operator experimenting with delegated work has a more credible reason to try it.

What happened when we ran it

Our Open Duet backend run installed 34 dependencies in 12 seconds and used 38 MB, then built successfully in 1 second. Tests failed with exit code 4 after 1 second. We checked commit 69a65e4 on 2026-10-24, with the Python project under backend/. The sandbox had 3 CPUs and 8 GB of RAM. Its recorded image was ghcr.io/astral-sh/uv:python3.12-bookworm; actual interpreter and operating-system versions require the raw toolchain logs.

The command stopped while loading backend/tests/conftest.py. The fixture file tried to import pytest_asyncio and raised ModuleNotFoundError. That is the concrete failure we can diagnose: the module was unavailable to the test process. The excerpt doesn't establish why it was missing, and we have no passing-test count. It supplies no evidence that an agent conversation, scheduled routine or approval decision worked.

Pip-audit reported 0 known vulnerabilities in the environment it examined. That result cannot establish the safety of external engines, desktop components or actions an agent takes. The checkout held 695 files, about 98194 source lines and 5.3 MB. Our scan recorded 3 CI workflow files, a Compose file and a tests directory, with no Dockerfile detected. The small backend environment is useful evidence about this path, not a measurement of the complete desktop or server footprint.

The selected engine decides where prompt content goes

The README says Open Duet stores conversations, notes and settings in the instance's local data folder or server database. Workspace files stay in the assigned folders. It also says the selected engine receives the prompt and the context needed for each turn. That context can include attachments or workspace content. Hosting the interface yourself therefore leaves a separate decision about the model provider.

You bring the engine account, CLI sign-in or API key, and Open Duet includes no model subscription. The documented options include command-line agents and OpenAI-compatible endpoints such as Ollama or LM Studio. A local endpoint is available as a configuration choice, but we did not verify a local model conversation. Check the engine's capabilities before choosing it: the README warns that tools and image support vary.

Approval modes include Ask first, Accept edits and Plan only. I would begin with Ask first and an expendable workspace, then inspect the requested actions before granting more freedom. That is an adoption recommendation. Our backend checks did not exercise those controls, so we cannot describe them as independently verified safeguards.

Routines need a running backend and computer access is optional

Routines can run on a schedule, by webhook or on demand, according to the README. They execute in the backend, which must stay running, and a routine does not approve actions by itself. Leaving the desktop closed only works for recurring work if a suitable backend remains available. A successful Python build doesn't demonstrate that operating arrangement.

The ordinary chat path does not require Docker. Isolated agent computers do, and computer and browser access are experimental and off until enabled. The server guide adds a concrete deployment difference: its Compose route cannot access the host's Docker, so agent computers require the direct route. Choose the deployment around the capability you need before expecting the container path to cover everything.

Server recovery requires more than the database archive

The self-hosting guide calls for a Linux server, an HTTPS domain and an engine configured on that server. It treats the passphrase and credential-encryption key as separate secrets to retain. Its backup archive excludes the encryption key and engines' own sign-ins. Restoring the database alone is therefore insufficient to recover every credential and engine connection.

Desktop packaging has its own caveat. The README calls installers experimental and unsigned, with no automatic updates, and presents the source checkout as the documented route. It also says a built-in integration catalog for services such as Gmail, Slack and Notion is not yet available. Those are practical reasons to wait if you expect a managed desktop experience or ready-made business integrations.

Open WebUI serves shared access, while CrewAI serves coded workflows

Open WebUI documents role-based access control and user groups. Consider it when several human users need a self-hosted model interface with differentiated permissions. That is a different requirement from one owner operating a roster of agents. It is also a separate product to assess, not a shared-account workaround we tested inside Open Duet.

CrewAI is a Python framework for multi-agent workflows, with Crews and event-driven Flows. Choose it when you want to define the workflow in application code. Open Duet's appeal is the persistent workspace and conversations around named agents. Neither comparison establishes a performance or reliability advantage.

October maintenance does not settle experimental features

GitHub recorded a push on 2026-10-23 and 6 open issues and PRs. Recent pull requests addressed memory aliases and Markdown rendering. Our documentation rating is 4/5 for explicit owner, engine and deployment limits, with a fifth point reserved for an operating path independently verified here. Setup, support and production maturity remain unscored. First reproduce the backend's test prerequisites, then check one disposable agent task and its approval path before leaving a routine unattended.

Alternatives

ProjectWhat it isPick it when
Open WebUI gh↗A self-hosted model interface with role-based access control and user groups.Pick this instead when separate human users and differentiated access are central requirements.
CrewAI gh↗A Python framework for multi-agent Crews and event-driven Flows.Pick this instead when you want to define agent collaboration as an application workflow in code.

What people are saying

  1. [github-trending] Anil-matcha/open-duet

Sources

  1. Open Duet README and limitations
  2. Open Duet self-hosting and recovery guide
  3. Open WebUI README
  4. CrewAI README
  5. Open Duet repository facts
  6. Open Duet recent issues and PRs

More ai tools reviews

drawio-skill · docker-android · CozyClay · seedance-2.0 · Beav · PilotDeck · the whole board →