How excitedjs/dreamux works
Dreamux is a local dispatcher host: dreamux serve loads provider-backed configuration, starts multiple dispatchers in one Node process, and connects agent runtimes with channel providers and Dreamux-owned MCP surfaces. A user message enters through a channel, reaches dispatcher services through the shared command port, and is handled by its configured agent runtime; results can return through the channel. Teams, teammates, scheduling, workflows, and administration are major host capabilities. The graph reflects README and sampled source; unsampled subsystem wiring is omitted where ownership could not be verified.
Main entry points: dispatcher-service/index.ts Dispatcher services · src/server.ts Dreamux server · cli/server.ts Serve CLI · service/index.ts Dispatcher collection
Components 26
Host lifecycle
- Serve CLI
packages/dreamux/src/cli/server.ts - Config loader
packages/dreamux/src/config/config.ts - Provider registry
packages/dreamux/src/registry/registry.ts - Dreamux server
packages/dreamux/src/server.ts - Admin socket
packages/dreamux/src/admin/client.ts
Dispatcher runtime
- Dispatcher collection
packages/dreamux/src/service/index.ts - Command port
packages/dreamux/src/command/port.ts - Dispatcher services
packages/dreamux/src/service/dispatcher-service/index.ts - Runtime catalog
packages/dreamux/src/agent-runtime/catalog.ts - Codex runtime
packages/agent-runtime/codex/src/runtime.ts - Claude runtime
packages/agent-runtime/claude-code/src/runtime.ts
Channel integrations
- Channel catalog
packages/dreamux/src/channel/catalog.ts - Feishu channel
packages/channel/feishu-channel/src/feishu-channel.ts - Feishu transport
packages/channel/feishu-transport/src/transport/feishu.ts
MCP surfaces
- MCP server
packages/dreamux/src/mcp/server.ts - MCP catalog
packages/dreamux/src/mcp/catalog.ts
State and automation
- Team services
packages/dreamux/src/service/team-service/index.ts - Teammate services
packages/dreamux/src/service/teammate-service/index.ts - Team store
packages/dreamux/src/service/team-collection/store.ts - Scheduler
packages/dreamux/src/service/scheduler/service.ts - Workflow service
packages/dreamux/src/service/workflow-service/index.ts - Worktree manager
packages/dreamux/src/service/worktree/manager.ts
Other components
- Operator
- Admin caller
- Channel user
- MCP client
Connections 28
- Operator → Serve CLI: starts
- Serve CLI → Provider registry: seeds providers
- Serve CLI → Config loader: loads config
- Config loader → Provider registry: loads implementations
- Serve CLI → Dreamux server: starts
- Dreamux server → Dispatcher collection: boots
- Dreamux server → Command port: composes
- Dreamux server → Admin socket: owns IPC
- Admin caller → Admin socket: sends commands
- Dispatcher collection → Dispatcher services: runs
- Dispatcher collection → Runtime catalog: resolves providers
- Dispatcher collection → Channel catalog: resolves providers
- Runtime catalog → Codex runtime: selects
- Runtime catalog → Claude runtime: selects
- Channel catalog → Feishu channel: selects
- Channel user → Feishu transport: sends message
- Feishu channel → Feishu transport: uses I/O
- Feishu channel → Command port: invokes
- Command port → Dispatcher services: dispatches
- Dispatcher services → Team services: manages teams
- Dispatcher services → Teammate services: manages teammates
- Dispatcher services → Scheduler: schedules work
- Dispatcher services → Workflow service: runs workflows
- Teammate services → Worktree manager: manages workspaces
- Team services → Team store: persists team state
- Dreamux server → MCP server: hosts MCP
- MCP server → MCP catalog: registers tools
- MCP client → MCP server: calls tools