Agent 架构
Mirobody Health 提供两种类型的 AI Agent,每种都针对不同的用例进行了优化:DeepAgent
推荐用于复杂任务基于 LangChain 的 Agent,具有文件操作、多步骤规划和复杂工作流的高级能力。
BaselineAgent
最适合简单任务原生 Gemini/MiroThinker Agent,针对轻量级操作和直接 MCP 集成进行了优化。
Agent 对比
| 特性 | DeepAgent | BaselineAgent |
|---|---|---|
| 框架 | LangChain DeepAgents | Gemini/MiroThinker MCP |
| 规划能力 | ✅ 内置 TODO 系统 | ❌ |
| 文件系统 | ✅ 完整支持 | ❌ |
| 子 Agent | ✅ 任务隔离 | ❌ |
| MCP 工具 | ✅ 完整集成 | ✅ 原生支持 |
| MCP 资源 | ❌ | ✅ 原生支持 |
| MCP Prompt 模板 | ❌ | ✅ 原生支持 |
| 记忆能力 | ✅ PostgreSQL 持久化 | ❌ |
| 流式传输 | ✅ | ✅ |
| 模型支持 | 多提供商支持 | Gemini 2.5/3.0, MiroThinker |
| 最适合 | 复杂工作流、文件操作 | 简单任务、原生 MCP |
| 设置复杂度 | 中等 | 低 |
DeepAgent (推荐用于复杂任务)
功能特性
- ✅ 多步骤规划: 内置基于 TODO 系统的任务分解能力
- ✅ 文件操作: 支持读取、写入、编辑文件,支持 Glob 和 Grep
- ✅ 子 Agent: 生成子 Agent 以实现上下文隔离
- ✅ 长期记忆: 基于 PostgreSQL 的持久化记忆
- ✅ 完整 MCP 工具: 与 MCP 工具生态系统的完整集成
支持的提供商
DeepAgent 通过 LangChain 支持多个 LLM 提供商:- Gemini 3.0 (通过 Google GenAI SDK)
- GPT-5 (通过 OpenAI API 或 OpenRouter)
- Claude Sonnet (通过 OpenRouter)
- DeepSeek v3.2 (通过 OpenRouter)
配置示例
config.localdb.yaml
使用场景
- 复杂的健康数据分析工作流
- 多步骤的研究和报告生成
- 文件处理与管理
- 需要持久化上下文的任务
- 需要任务分解的项目
使用示例
BaselineAgent (最适合简单任务)
功能特性
- ✅ 原生 MCP: 直接支持 MCP 服务器
- ✅ 流式传输: 快速的流式响应
- ✅ 直接工具配置: 工具直接配置给 LLM
- ✅ 轻量级: 开销极小,执行速度快
- ❌ 不支持文件操作
- ❌ 不支持子 Agent
支持的提供商
- Gemini 2.5/3.0 (原生 Google GenAI)
- MiroThinker (自定义模型)
配置示例
config.localdb.yaml
使用场景
- 简单的健康数据查询
- 快速对话交流
- 直接使用 MCP 工具
- 轻量级操作
- 原生 Gemini/MiroThinker 特性
使用示例
工具系统
什么是工具?
工具是 Python 函数,使 AI Agent 能够与健康数据交互、执行操作并访问外部服务。Mirobody Health 使得在没有复杂配置的情况下添加自定义功能变得非常容易。工具结构
内置工具
通用工具 (mirobody/pub/tools/):
chart_service.py- 25 种以上的图表类型(折线图、柱状图、饼图、桑基图等)
mirobody/pub/tools_health/):
genetic_service.py- 基因数据分析health_indicator_service.py- 健康指标追踪user_service.py- 用户档案管理
工具配置
config.localdb.yaml
创建自定义工具
工具开发最佳实践
- 身份验证: 对于特定于用户的操作,请使用
user_info参数 - 错误处理: 返回结构化的错误响应
- 类型提示: 使用适当的类型注解以便进行验证
- 文档说明: 包含清晰的 Docstring,并附带 Args 和 Returns
- 异步操作: 对于 I/O 操作,优先使用异步 (async) 函数
MCP 协议集成
Mirobody Health 可作为 MCP (Model Context Protocol) 服务器运行,支持与以下平台集成:- Claude Desktop - 直接集成
- Cursor IDE - AI 驱动的代码助手
- ChatGPT - 通过自定义 GPT 应用
- 自定义 MCP 客户端 - 任何兼容 MCP 的客户端
MCP 端点
tools/list- 列出可用工具tools/call- 执行工具函数resources/list- 列出可用资源resources/read- 读取资源内容
健康数据的数据库模式
工具从以下表中查询标准化的健康数据:th_series_data
时序健康指标表:| 列名 | 类型 | 描述 |
|---|---|---|
id | integer | 主键 |
user_id | varchar | 用户标识符 |
indicator | varchar | 指标名称 |
value | text | 原始值 |
value_standardized | text | 标准化值 |
start_time | timestamp | 开始时间 |
end_time | timestamp | 结束时间 |
source | varchar | 数据源 |
source_table | varchar | 来源表 |
theta_ai.health_user_profile_by_system
用户档案存储表:| 列名 | 类型 | 描述 |
|---|---|---|
id | integer | 主键 |
user_id | varchar | 用户标识符 |
version | integer | 版本号 |
name | varchar | 档案名称 |
last_execute_doc_id | integer | 最后执行的文档 ID |
common_part | varchar | 档案内容 (JSON) |
create_time | timestamp | 创建时间戳 |
last_update_time | timestamp | 最后更新时间戳 |
is_deleted | boolean | 删除标志 |