Eros自动化
安装程序(Python 3.11)
1) 创建虚拟环境(venv)
从项目文件夹(包含requirements.txt的文件夹)
python3.11-m venv.venv
2) 激活venv
Linux/macOS
source.ven/bin/activate
Windows(PowerShell)
.venv\\Scripts\\Activate.ps1
3) 安装依赖项
python-m pip安装--升级pip pip安装-r要求.txt
4) 运行(两个终端)
终端1(MCP服务器)
python main.py mcp
终端2(Web应用程序)
python app.py
跑
两种工艺设置(推荐):
- 终端1(MCP服务器):
python main.py mcp - 终端2(Web应用程序):
python app.py
web应用程序通过SSE连接到MCP服务器(请参阅 modules/config.py).
运行时数据写入 data/:
data/uploads/用户上传data/outputs/生成的图像/音频data/memory/session+长期内存JSON
AI架构
代理架构(核心管道)
- 编排器:
modules/agent.py(ErosAgent)
- 每个进程加载一次推理LLM(变压器)(modules/inference.py) - 通过SSE连接到MCP服务器并发现可用工具 - 迭代:提示推理模型→ 解析工具调用→ 执行MCP工具→ 将工具结果反馈给模型
- 推断:
modules/inference.py
- 用途 REASONING_MODEL_ID +数据类型来自 modules/config.py - 生成纯文本或结构化工具调用(请参阅下面的工具用法)
- 规划师:
modules/planner.py
- 保持迭代限制/控制旋钮(保持与当前循环相同的行为)
工具使用(MCP)
- 运输上海证券交易所
- MCP服务器: modules/infra/mcp_server.py (FastMCP,运行速度为 http://: /sse) - MCP客户端: modules/agent.py 连接使用 MCP_SERVER_URL 从 modules/config.py
- 工具合同:
- 推理模型被指示(通过 SYSTEM_PROMPT)发射: - {"name":"tool","arguments":{...}} - modules/tools.py 将其解析为可执行调用。
- 暴露的工具 (姓名保留):
- colorize_image(image_path) - make_grayscale(image_path) - change_background(image_path, background_description) - text_to_image(prompt) - voice_clone(prompt, voice_file_path, voice_id, language) - voice_remix_rafi(input_audio_path)
内存设计
- 会话内存:
modules/memory.py(SessionManager)
- 坚持 data/memory/sessions.json - 按会话id存储聊天记录+工具调用元数据
- 长期记忆:
modules/memory.py(LongTermMemory)
- 坚持 data/memory/long_term_memory.json - 存储轻量级的最新摘要 user_id
流程图
flowchart LR
UI[FastAPI Web UI
modules/infra/web_app.py] -->|POST /api/chat| AG[ErosAgent.process
modules/agent.py]
AG -->|SSE client| MCP[(MCP Server SSE
/sse)]
MCP --> TOOLS[Tools: colorize/grayscale/background
text_to_image/voice_clone/voice_remix]
TOOLS --> OUT[data/outputs]
UI --> UP[data/uploads]
AG --> MEM[data/memory
sessions.json + long_term_memory.json]
OUT --> UI