DuoDuo keeps a coding conversation tied to the project it belongs to. Install it, run onboarding once, then start it from the project where you want to work.

What you need#
- Node.js 20 or newer
- Model access through an existing Claude login or a compatible endpoint
- Optional: an authenticated Codex CLI or a signed-in Grok CLI if you want Codex or Grok as a runtime
Install and onboard#
npm install -g @openduo/duoduo
duoduo onboard
Onboarding asks for model access, creates DuoDuo's working directories, and starts the daemon. When the command finishes, the machine is ready.
Start a conversation#
Move to the project you want DuoDuo to work on, then run:
cd /path/to/your/project
duoduo
That opens a conversation for this project. Run duoduo from the same project later and you will return to the same conversation.
Verify the host#
duoduo daemon status
duoduo daemon config
status tells you whether DuoDuo is running. config shows which model backends are available and where DuoDuo keeps its files.
Let an agent do the setup#
Send this to a coding agent that already has terminal access to the machine:
Open https://openduo.ai/llms.txt and set up DuoDuo on this machine.
The agent-readable guide covers installation, verification, and safe handling of secrets.
Where to go next#
- Read Mental Model to understand daemon, sessions, jobs, and files.
- Read Sessions & Commands for
/model,/effort,/compact, and session management. - Read Channels to connect Feishu, an ACP editor, a room, or your other AI assistants.
- Read Loops & Jobs before creating recurring work.
License#
DuoDuo is source-available, and open to your agents. What npm installs is minified JavaScript, and it is licensed to you and to the agents you run: read it, de-minify it, debug it, patch it, train on it, and share your patches. The one thing you may not do is offer it, or something built from it, as a competing product or service. Two years after each release, that version becomes Apache-2.0.
The terms are FSL-1.1-Apache-2.0 with an agent addendum. An agent should read the machine-readable summary first. Ambient and Tether are under the same FSL-1.1-Apache-2.0.