物理架构 · 运行时分层 — 一个 server + N 个 worker
控制面 · Server(单点真相)
Server / HTTP API内部 BC 服务编排、SSE 推送、轮询回退
Web Console(SPA)webconsole/api 托管前端 + SSE 实时流
Identity / Authidentity BC:组织/成员/邀请 + admintoken
▲ HTTP / SSE 控制信道(offset ack + 心跳;SSE 优先、轮询回退)▼
执行面 · Worker(任意机器,可多台)
worker daemonworkerdaemon:拉控制事件、上报心跳/能力
supervisor manager每个智能体一个常驻 supervisor
agent supervisordetached 进程,断连可重附
shim + adapterclaudestream 解析 / agentadapter(ACL)
MCP host向智能体暴露 agent-center 工具集
▲ 同一 server 进程内的持久化与对象存储 ▼
基础设施 · Persistence & Storage
SQLitemigrations + 事务管道
blob store内容寻址(sha256)+ 引用计数 GC
transactional outboxRelay/Pump:可靠事件发布
worker 进程模型:每个智能体由独立 detached supervisor 托管;worker daemon 重启或信道断连后 supervisor 不被杀死,重连重新附着(survive-reattach)到既有执行。外部 CLI 协议由
agentadapter(ACL)隔离,claudestream 解析流式输出。
战略设计 · 限界上下文地图 — 点开任一域进入战术设计
核心域 Core
支撑域 Supporting
通用域 Generic
已退役:TaskRuntime/Discussion 合入 projectmanager · Workforce 折入 environment · Cognition/discussion 为死代码
项目管理 ProjectManager
internal/projectmanager
核心域 CORE
- Project / Issue / Task / Member
- 订阅真相 + OrgSequence(T<n>/I<n>)
智能体 Agent
internal/agent
核心域 CORE
- Agent / AgentWorkItem / ActivityEvent
- 单活工作项;pm://tasks/{id} 引用
环境 Environment
environment + workforce + files + blobstore
核心域 CORE
- Worker / AgentInstance / BootstrapToken
- FileTransferSession / BlobStore
会话 Conversation
internal/conversation
核心域 CORE
- Conversation / Message(追加写)
- kind:dm / channel / task / issue
可观测性 Observability
observability (+ outbox)
支撑域 · 只读
- Event 追加写 + 投影读模型
- 纯下游消费者(OHS)
身份 Identity
internal/identity
支撑域 · 真实 BC + SK
- Identity / Organization / Member / Invitation
- 另供 IdentityRef 共享内核词汇
SecretManagement
internal/secretmgmt
支撑域
- UserSecret(每用户 API key)
- migration 0012
上下文集成关系 · Context Mapping
U/D 上游/下游
OHS 开放主机服务
ACL 防腐层
CF 遵从者
SK 共享内核
// 红=核心域 间为业务协作(ACL 防腐 / CF 遵从 / U·D 上下游);身份(SK) 与 可观测性(OHS) 横切全域;虚线为「各核心域 → 可观测性」同事务发事件。点上方域卡进入战术设计。
跨域业务流 · Event Storming — 域之间如何协作(事件名为代码真实名)
ActorCommandAggregateEventPolicy
🆕 创建并派发任务 项目管理 → 智能体 → 会话
用户(控制台/CLI/MCP)→create_task→Task→pm.task.created
策略:派发→assign_task→Task · AgentWorkItem→pm.task.assignedagent.work_item_transitioned
控制信道(worker)→activate_work_item→AgentWorkItem(queued→active)→agent.work_item_transitioned
智能体→post_task_message→Message→conversation.message_added
约束:单智能体同时仅 1 条活跃工作项;冗长中间输出落 AgentActivityEvent 观测流,不进会话。
✅ 完成与验收 智能体 → 项目管理
智能体→complete_task→Task(running→completed)→pm.task.state_changed
策略:待验收→用户 / 同侪 Agent→verify_task→Task(completed→verified)→pm.task.state_changed
约束:验收者 ≠ 完成者(禁止自验,支持同侪评审)。
📁 文件上传与引用 环境 → 会话
智能体 / 用户→upload_file(scope=task)→FileTransferSession + BlobStore→session open → completed
策略:附件入会话→post_message + attach_file→Message + FileReference→conversation.message_added
一 blob 多 scope 引用;ref_count=0 + 宽限期后 GC 回收。
💓 Worker 心跳与 Agent 可用性 环境 → 智能体
worker 守护进程→heartbeat / ack offset→Worker→workforce.worker.online
心跳超时→Worker→workforce.worker.offline→级联→agent → unavailable
Agent.availability 为只读派生(不落库),Worker 状态优先。supervisor detached,断连可 survive-reattach。