系统架构
WunoOS 当前是面向企业本地部署的 .NET 10 模块化单体。可执行主链是一个真实 Personal Assistant:Vue Web 调用 Api,Run Host claim 持久 Run,MAF Workflow 执行图,官方 HarnessAgent 负责模型与函数循环。
当前文档不把后续 Role Harness、Enterprise Dispatcher、WorkflowAgent、Magentic 或完整 RAG Runtime 写成已实现能力。它们需要后续独立切片授权。
核心模块
| 模块 | 当前职责 |
|---|---|
| web | Vue 3 控制台、对话 UI、Agent/扩展管理、Run 状态与静态文档入口。 |
| WunoOS.Api | Minimal API composition root;认证、Agent Catalog、Thread/Run/SSE、审批、文件、MCP 与健康端点;当前也托管顶层 Run dispatcher。 |
| WunoOS.Runtime | 唯一可直接引用 MAF/MEAI/OpenAI/MCP SDK 的模块;组合 Workflow/Harness、Provider adapter、Tool、Workspace/Sandbox、Checkpoint 与 Capability Graph。 |
| WunoOS.Infrastructure | FreeSQL/PostgreSQL repository、Redis、事务、租户上下文、健康检查与 OpenTelemetry;不拥有 DDL。 |
| WunoOS.DatabaseMigrator | PostgreSQL 唯一 DDL 所有者,负责 one-shot migration、ledger 与 schema verifier。 |
| WunoOS.AppHost | Aspire 本地编排与 Compose 发布模型。 |
当前 Run 路径
- 服务端为 Thread 解析同租户 Active PersonalAssistant,并冻结 exact AgentVersion binding。
- API 创建持久 Run 与初始 RunEvent;客户端不能替换 Agent、模型、版本或 Capability。
- Run Host 按并发规则 claim Run,并维护 lease、deadline、取消和唯一终态。
- MAF Workflow 执行 ContextAssembly → official AgentTurn → AgentResultProjection → ContinuationDecision。
- 官方 HarnessAgent 运行模型/function loop;工具、Todo、Skill 和 BackgroundAgents 只从已授权 Capability snapshot 进入。
- RunEvent 作为 SSE 和历史恢复的权威来源。
必须保留的边界
- PostgreSQL Thread/Message/Run/RunEvent 是产品事实源。
- Provider/Workflow session 只允许作为同 Run 受保护 checkpoint 恢复状态。
- Api/Worker 不运行 FreeSQL AutoSync、EnsureCreated 或隐式 DDL。
- Knowledge profile 的 Milvus/Neo4j/MinIO 是可选基础设施,不代表完整知识 Runtime 已接入。