mimo code 的子代理是主 agent 动态创建、沙箱隔离、按需执行的轻量级协作单元,内建四层记忆与 dynamic workflow 实现闭环管控,生命周期由主 agent 全程托管,具备资源限制、超时终止、可追溯日志及 cli/tui 实时管理能力。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

MiMo Code 的子代理(subagent)不是独立部署的服务,而是由主 Agent 在运行时动态创建、沙箱隔离、按需执行的轻量级协作单元。它的监控与管理不依赖外部节点,而是内建于 MiMo Code 运行时框架中,通过四层记忆体系与 Dynamic Workflow 编排机制实现闭环管控。
子代理的生命周期由主 Agent 全程托管
子代理不常驻、不持久化,每次调用都从干净状态启动,在 barrier() 同步点统一回收。主 Agent 通过以下方式保障其可控性:
- 所有子代理均在 Tauri 提供的隔离 Web Worker 沙箱中执行,无法访问宿主机文件系统或网络
- 每个子 agent() 调用会自动绑定唯一 trace_id 和 parent_id,日志与内存快照可追溯至主任务链
- 超时强制终止:默认 90 秒无响应即 kill,可通过 MAX_SUBAGENT_DURATION_MS 环境变量调整
- 资源配额限制:单个子代理最多使用 256MB 内存 + 1 个 CPU 核心,超出则被 runtime 拦截
监控数据默认写入本地 SQLite 记忆库
MiMo Code 使用内置的 SQLite FTS5 引擎持续记录子代理行为,无需额外配置监控节点。关键监控字段包括:
- execution_log:含输入 prompt、工具调用序列、返回结果摘要(自动压缩存储)
- resource_usage:CPU 时间、内存峰值、沙箱退出码
- decision_trace:主 Agent 对该子代理输出的评估依据(如 majority voting 投票分布)
- 所有记录带时间戳和 session_id,支持 CLI 命令 mimo log --subagent --session=xxx 快速检索
管理动作全部通过 CLI 或 TUI 实时触发
没有中心化管理节点,但提供三类直接干预能力:
- 中断正在运行的子代理:在 TUI 界面按 Ctrl+C → 选“Cancel subagent”,或执行 mimo cancel --subagent=trace_id
- 重放失败子任务:用 mimo replay --trace-id=xxx --mode=build 重新加载上下文并指定子代理策略
- 冻结/解冻子代理调度:设置环境变量 MIMO_SUBAGENT_ENABLED=false 可全局禁用,适合调试主流程逻辑
高级场景下可对接外部可观测性工具
若需集成 Prometheus/Grafana 或企业级日志平台,MiMo Code 提供标准导出接口:
- 启用 HTTP metrics 端点:MIMO_METRICS_HTTP=127.0.0.1:9090,暴露子代理成功率、平均延迟、并发数等指标
- 日志结构化输出:设 MIMO_LOG_FORMAT=json,所有子代理事件以 JSON 行格式输出到 stdout,兼容 Fluent Bit / Filebeat
- 自定义 hook:在 ~/.mimo/config.ts 中编写 onSubagentEnd 回调,接入 Sentry 或钉钉告警











