# ChatDev: features, protocols, quickstart

## 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

| Field | Value |
| --- | --- |
| 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](https://github.com/OpenBMB/ChatDev) |
| Documentation | [github.com](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/index.md) |
| 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](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/workflow_authoring.md))
- Web console with a visual workflow canvas and a Launch view that streams node status, logs and artifacts. ([source](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/web_ui_guide.md))
- The engine runs DAGs in parallel layers and handles cycles by grouping strongly connected components into super nodes. ([source](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/execution_logic.md))
- Edge-level dynamic execution fans a message out to parallel node instances (map) or fans out and reduces (tree). ([source](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/dynamic_execution.md))
- Agent nodes use MCP tools from remote HTTP servers (mcp_remote) or local stdio processes (mcp_local). ([source](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/modules/tooling/mcp.md))
- Pluggable memory stores declared in YAML: simple (JSON + FAISS), file-backed vector index, append-only blackboard, or Mem0. ([source](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/modules/memory.md))
- Python SDK function run_workflow executes a YAML workflow and returns the final node message. ([source](https://github.com/OpenBMB/ChatDev/blob/main/README.md))
- OpenClaw can call or create ChatDev agent teams after installing the chatdev skill. ([source](https://github.com/OpenBMB/ChatDev/blob/main/README.md))

## 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

- OpenClaw ([evidence](https://github.com/OpenBMB/ChatDev/blob/main/README.md))

## Protocols

| Protocol | Support | Evidence | Note |
| --- | --- | --- | --- |
| MCP | Yes (checked 2026-09-30) | [link](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/modules/tooling/mcp.md) | 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](https://multiagentguide.top/best/research-agents.md))
- 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](https://multiagentguide.top/best/self-hosted-local.md))

## 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

```sh
uv sync
```

Install not yet verified by this site.

```yaml
# 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: https://github.com/OpenBMB/ChatDev/blob/main/README.md

## Pros

- No orchestration code needed: agents, tools, memory and human steps are all declared in YAML and editable on a canvas. ([source](https://github.com/OpenBMB/ChatDev/blob/main/README.md))
- Loops are first-class: cycle detection and loop-guard nodes allow review-and-revise workflows. ([source](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/execution_logic.md))
- MCP tools can come from both hosted HTTP servers and local stdio processes. ([source](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/modules/tooling/mcp.md))
- Human checkpoints are a node type, so review steps sit anywhere in the graph. ([source](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/nodes/human.md))
- Workflows can be nested as subgraphs from files or inline definitions. ([source](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/nodes/subgraph.md))

## Cons

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

## Alternatives

- [MetaGPT](https://multiagentguide.top/tools/metagpt.md) ([ChatDev vs MetaGPT](https://multiagentguide.top/compare/metagpt-vs-chatdev.md))
- [Dify](https://multiagentguide.top/tools/dify.md)
- [Langflow](https://multiagentguide.top/tools/langflow.md)
- [CAMEL](https://multiagentguide.top/tools/camel.md)
- [n8n](https://multiagentguide.top/tools/n8n.md)

## 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

- [OpenBMB/ChatDev repository](https://github.com/OpenBMB/ChatDev)
- [ChatDev README (ChatDev 2.0 / DevAll)](https://github.com/OpenBMB/ChatDev/blob/main/README.md)
- [chatdev1.0 legacy branch](https://github.com/OpenBMB/ChatDev/tree/chatdev1.0)
- [DevAll user guide index](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/index.md)
- [Workflow authoring guide](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/workflow_authoring.md)
- [Graph execution logic](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/execution_logic.md)
- [Dynamic execution mode](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/dynamic_execution.md)
- [Memory module guide](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/modules/memory.md)
- [MCP tooling guide](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/modules/tooling/mcp.md)
- [Human node](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/nodes/human.md)
- [Subgraph node](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/nodes/subgraph.md)
- [Web UI quick start](https://github.com/OpenBMB/ChatDev/blob/main/docs/user_guide/en/web_ui_guide.md)
- [Issue #674: provider layer TypeError and no request timeout](https://github.com/OpenBMB/ChatDev/issues/674)
- [Issue #663: Docker fails (vite not found)](https://github.com/OpenBMB/ChatDev/issues/663)
- [Issue #667: request for private security disclosure channel](https://github.com/OpenBMB/ChatDev/issues/667)
- [ChatDev paper (arXiv 2307.07924)](https://arxiv.org/abs/2307.07924)

## 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.

Corrections or removal requests: support@multiagentguide.top

---

Data as of 2026-10-01. Not affiliated with listed projects. HTML version: https://multiagentguide.top/tools/chatdev
