DuoDuo docs

Install, use, and operate DuoDuo.

These docs cover durable files, event ordering, sessions, the scheduled subconscious, the intuition layer, and host operations.

Add Widgets, operational skills, and event-driven work.

Extend

Skills & Pipelines

Give coding agents the current procedures; wake them only when needed.

Install these skills when you want a coding agent to set up, inspect, or repair DuoDuo for you. They give the agent the commands and checks for the version you have installed.

Install the operations skills#

npx -y skills add https://github.com/openduo/duoduo \
  --global \
  --yes \
  --skill duoduo-admin duoduo-channel-admin duoduo-runtime-admin
  • duoduo-admin explains the host and routes broad maintenance work.
  • duoduo-runtime-admin handles daemon settings, sessions, model runtime, usage, and memory maintenance.
  • duoduo-channel-admin handles channel installation, lifecycle, descriptors, Feishu, and ACP.

Additional skills cover loops, smart compaction, and event-driven pipelines.

Refresh them yourself after an upgrade#

These skills are published separately from the npm package. After a CLI or npm upgrade, refresh them with the command below. Manager’s upgrade flow refreshes them alongside the CLI.

npx -y skills add https://github.com/openduo/duoduo --global --all

Check the version requirements in a skill before using its commands. An outdated skill can describe commands that have changed.

Event-driven pipelines#

Let a script watch for change. Wake a model only when there is something that needs judgment.

DuoDuo pulls a teal cord that raises a resting pen from its cradle.

watcher → session notify → job evaluates → main conversation

The watcher can be a shell script, Python process, webhook, or operating-system timer. It calls duoduo session notify when new data arrives. A waiting job evaluates the signal and contacts the main conversation only when the result deserves attention.

Useful examples include:

  • feed or account monitoring
  • price and metric thresholds
  • file or repository change detection
  • webhook relays
  • upstream health watches

While nothing changes, no model turn is spent. The model wakes for interpretation and judgment, not for waiting.