架构概览
Myrm 由五个独立仓库组成,各承担平台中的不同角色。仓库结构
| 仓库 | 说明 | 许可 |
|---|---|---|
myrm-agent-harness | Python Agent 运行时引擎 | 闭源 |
myrm-agent-server | 后端 API 服务(FastAPI) | 开源 |
myrm-agent-frontend | Next.js Web 应用 | 开源 |
myrm-agent-desktop | Tauri 桌面客户端 | 开源 |
myrm-control-plane | SaaS 多租户编排 | 闭源 |
职责分离
- Harness 为框架层 — 模型管理、中间件链、上下文流水线、安全、工具
- Server 为业务层 — 用户管理、会话持久化、API 端点、单机部署
- Control Plane 为编排层 — 沙箱供给、计费、多租户路由(仅 SaaS)
前端架构
Next.js App Router:- Tailwind CSS v4 样式,支持明暗双主题
- next-intl 中英文国际化
- Zustand 客户端状态
- WebSocket + SSE 实时流式
- 响应式 兼容手机与桌面
后端架构
Python 异步服务:- FastAPI REST API
- LiteLLM 统一多模型访问(100+ 模型)
- LangGraph Agent 编排与状态管理
- SQLite 主数据存储(单机,无需分布式 DB)
- Qdrant 向量检索(记忆、技能、Wiki)
- 38+ 中间件 链:安全、日志、审批、行为控制
关键架构决策
PPAF(感知、规划、行动、反馈)循环
Myrm 核心执行循环采用 PPAF:- 感知(Perception):从多模态输入提取意图,读取记忆上下文
- 规划(Planning):通过 Planner 中间件或
sequentialthinking子 Agent 拆解复杂指令 - 行动(Action):通过工具执行器运行隔离沙箱内的工具与脚本
- 反馈(Feedback):分析工具结果,动态重规划或错误恢复
R.E.S.T. 工程标准
Harness 层围绕 R.E.S.T.:- 可靠性(Reliability):14 种动态自愈、指数退避、熔断
- 高效性(Efficiency):上下文压缩、缓存优化、提示词前缀保护
- 安全性(Security):6 层纵深防御、零信任沙箱、严格策略网关
- 可追溯性(Traceability):指标、结构化审计日志、细粒度会话调试
模块化中间件 vs 单体 Agent
Myrm 用中间件链架构,各关注点(安全、审批、循环检测、完成检查等)为独立可测模块,而非全部塞进一个大类。异步优先
所有 I/O 使用asyncio 协程,对 I/O 密集负载(LLM API、文件、网络)优于线程池。
框架与业务分离
Harness 引擎零业务逻辑,提供通用 Agent 能力(工具、记忆、安全、流式);Server 层在其上叠加用户管理、会话与 API 契约。安全模型
6 层纵深防御。完整模型见安全架构。部署模式
| 模式 | 组件 | 场景 |
|---|---|---|
| 本地 WebUI | Server + Frontend | 个人使用、开发 |
| Tauri 桌面端 | Desktop + 内嵌 Server | 原生应用体验 |
| SaaS 云端 | Control Plane + Server + Frontend | 托管、团队 |

