ChatDev

Framework · Last verified 2026-09-30

TL;DR

ChatDev is a multi-agent project from OpenBMB. Version 2.0, called DevAll, is a zero-code platform where agents, tools and human checkpoints are wired together as YAML graphs and run from a Vue web console or a Python SDK. The original virtual software company now lives on a legacy branch. It suits researchers and low-code builders.

Key facts

ChatDev key facts. Data as of 2026-10-01.
Type Framework
Languages / SDKs Python
License Apache-2.0
Pricing model Open source, free
Orchestration pattern Graph
GitHub stars 34,428 (as of 2026-10-01)
GitHub forks 4,314
Last push 2026-07-24
Latest release v2.2.0
Repository OpenBMB/ChatDev
Documentation github.com
Last verified 2026-09-30

Key features

  • Workflows are YAML files (version, vars, graph) built from agent, python, human, subgraph, passthrough, literal and loop-guard nodes joined by conditional edges. (source)
  • Web console with a visual workflow canvas and a Launch view that streams node status, logs and artifacts. (source)
  • The engine runs DAGs in parallel layers and handles cycles by grouping strongly connected components into super nodes. (source)
  • Edge-level dynamic execution fans a message out to parallel node instances (map) or fans out and reduces (tree). (source)
  • Agent nodes use MCP tools from remote HTTP servers (mcp_remote) or local stdio processes (mcp_local). (source)
  • Pluggable memory stores declared in YAML: simple (JSON + FAISS), file-backed vector index, append-only blackboard, or Mem0. (source)
  • Python SDK function run_workflow executes a YAML workflow and returns the final node message. (source)
  • OpenClaw can call or create ChatDev agent teams after installing the chatdev skill. (source)

Architecture and orchestration pattern

Pattern: Graph

ChatDev 2.0 (DevAll) treats a multi-agent system as a graph declared in YAML. Nodes are LLM agents, Python steps, human checkpoints, nested subgraphs or small utility nodes; edges carry messages and can have keyword or other conditions. A FastAPI backend validates the file, creates a session and runs the graph, while a Vue web console and a Python SDK are the two ways to start runs.

Acyclic graphs run by topological sort, with nodes in the same layer executed concurrently. Loops are found with Tarjan's algorithm and wrapped as super nodes so the outer graph stays acyclic; loop-counter and loop-timer nodes bound iterations. Dynamic edges can split a message and run many copies of the target node.

Each run gets its own session folder under WareHouse/ holding attachments, a shared code_workspace/ and context snapshots. Longer-term memory is opt-in: stores declared under memory are attached to agent nodes with read/write rules. The older chat-chain design with CEO, CTO and programmer roles is kept on the chatdev1.0 branch.

Human in the loop

A human node blocks the workflow and shows its description plus the current context in the Launch view; the person types a reply or uploads files, and the text flows to downstream nodes. Combined with a keyword edge condition, this gives review loops (for example, repeat until the reviewer types ACCEPT). Runs can be watched live in the web console. No per-tool-call approval mechanism is documented.

Harnesses it can drive

Protocols

MCP, A2A and AG-UI support for ChatDev. See the full matrix.
ProtocolSupportNote
MCP Yes evidence
checked 2026-09-30
Client: agent nodes load MCP tools from remote HTTP servers (mcp_remote) or local stdio servers (mcp_local); the legacy type: mcp schema is dropped.
A2A Unknown
checked 2026-09-30
Searched README, docs/user_guide/en, GitHub code search (hits were CSS/lockfile false positives) and issues for a2a / agent2agent; nothing official found.
AG-UI Unknown
checked 2026-09-30
Searched README, docs, GitHub code search for ag-ui / agui, and the AG-UI README integration list; ChatDev is not listed.

Best for

  • Building and running multi-agent workflows from YAML and a visual canvas without writing orchestration code.
  • Deep-research and data-visualization pipelines using the bundled workflow templates. (shortlist)
  • Review loops where a person approves or sends back each draft through the web console.
  • Self-hosting the whole stack (backend and web console) with Docker Compose. (shortlist)

Not for

  • Teams looking for the original ChatDev 1.0 software-company behaviour on the main branch.
  • Environments pinned to Python older than 3.12.
  • Developers who want a documented, versioned pip-installable framework API rather than a platform run from a repo checkout.

Quickstart

uv sync

Install not yet verified by this site. What this means

# yaml_instance/release_notes.yaml - run it from the Launch tab after `make dev`
version: 0.4.0
vars:
  API_KEY: ${API_KEY}
graph:
  id: release_notes
  description: Draft release notes, then wait for a human to approve
  start: [Drafter]
  end: [Drafter]
  nodes:
    - id: Drafter
      type: agent
      config: {provider: openai, name: gpt-4o, api_key: "${API_KEY}", role: "Write concise release notes from the input."}
    - id: Approver
      type: human
      config: {description: "Type ACCEPT to finish, or give revision notes."}
  edges:
    - {from: Drafter, to: Approver}
    - {from: Approver, to: Drafter, condition: {type: keyword, config: {none: [ACCEPT]}}}

Common pitfalls

  • uv sync is run inside a clone of the repository; the frontend also needs cd frontend && npm install.
  • Requires Python 3.12+, Node.js 18+ and uv.
  • Copy .env.example to .env and set API_KEY and BASE_URL; an undefined ${VAR} placeholder raises a ConfigError.
  • If the web console cannot reach the backend, port 6400 may be taken; change both --port and VITE_API_BASE_URL.
  • MCP tooling must use mcp_remote or mcp_local; the old type: mcp schema is no longer accepted.
  • An open issue reports the Docker setup failing with sh: vite: not found.

Official quickstart

Pros

  • No orchestration code needed: agents, tools, memory and human steps are all declared in YAML and editable on a canvas. (source)
  • Loops are first-class: cycle detection and loop-guard nodes allow review-and-revise workflows. (source)
  • MCP tools can come from both hosted HTTP servers and local stdio processes. (source)
  • Human checkpoints are a node type, so review steps sit anywhere in the graph. (source)
  • Workflows can be nested as subgraphs from files or inline definitions. (source)

Cons

  • The original ChatDev 1.0 software-company system was moved to the chatdev1.0 branch for maintenance; main is a different product. (source)
  • An open issue reports the provider chat path has no request timeout and a protocol TypeError. (source)
  • An open issue reports Docker Compose failing with 'sh: vite: not found'. (source)
  • There is no documented private security disclosure channel; an open issue asks for one. (source)
  • Documentation is Markdown inside the repository; the GitHub homepage link points to the 2023 arXiv paper rather than a docs site. (source)

Alternatives

FAQ

What is ChatDev 2.0 (DevAll)?

The current main branch: a zero-code platform where multi-agent workflows are YAML graphs run through a web console or Python SDK. It replaced the ChatDev 1.0 virtual software company, which now lives on the chatdev1.0 branch.

Does ChatDev support MCP?

Yes, as a client. Agent nodes can use tools from remote HTTP MCP servers (mcp_remote) or local stdio MCP processes (mcp_local). A2A and AG-UI support were not found.

Is ChatDev free?

Yes, the code is Apache-2.0. You pay your model provider. A 2023 README news item mentions a SaaS at chatdev.modelbest.cn, but no pricing for it is documented.

Can a human take part in a ChatDev workflow?

Yes. A human node pauses the run and asks for input in the Launch view; an edge condition can loop back until the person types a keyword such as ACCEPT.

Does ChatDev work with OpenClaw?

The README documents an OpenClaw integration: after installing the chatdev skill, OpenClaw can invoke existing ChatDev agent teams or create new ones through the running ChatDev backend.

Sources

Unknown fields: protocols.a2a and protocols.agui are unknown: README, docs/user_guide/en, GitHub code search (a2a hits were hex colours and a lockfile) and issue search found no official support, and the AG-UI integration list does not include ChatDev. pricing_model is oss-free because no paid offering is documented; the 2023 SaaS mention has no published pricing.

Something wrong or out of date, or do you maintain ChatDev and want this page removed? Report a correction or request removal.