OpenManus系列(5):3月11日更新分支分拆,MCP闪亮登场

今日更新涵盖 front、main、mcp 三个分支,涉及文档优化、任务管理系统改进、计划状态管理升级以及新的 OpenManus MCP 服务器。以下是各分支的详细更新内容。

🔥 Main 分支更新

1. 任务管理系统重大变更

  • 移除 app.py

    • 任务管理的 FastAPI 代码被删除,相关的内容迁移到了front分支
  • 优化 Agent 逻辑

    • app/agent/manus.py

      • 限制 Manus 代理的最大步骤数 max_steps = 20,避免无限循环。
    arduino 复制代码
    class Manus(ToolCallAgent):
        max_steps: int = 20
    • app/agent/base.py

      • 运行 max_steps 结束后,current_step 归零,Agent 状态重置为 IDLE
    ini 复制代码
    if self.current_step >= self.max_steps:
        self.current_step = 0
        self.state = AgentState.IDLE

2. 优化 LLM 接口

  • 迁移 LLM 模块

    • app/llm.py 被删除,相关逻辑被移动到 app/llm/inference.py,可能是为了分离推理与接口代码。

🚀 Front 分支更新

1. 任务管理系统优化

  • 新增 webbrowserthreading 支持

    • 服务器启动 3 秒后自动打开 http://localhost:5172,方便用户访问。
  • 任务状态管理

    • TaskManager 现在更具健壮性,优化了任务状态的更新逻辑。
    • update_task_step() 代码结构优化,提高可读性。
python 复制代码
async def update_task_step(
    self, task_id: str, step: int, result: str, step_type: str = "step"
):
    if task_id in self.tasks:
        task = self.tasks[task_id]
        task.steps.append({"step": step, "result": result, "type": step_type})
        await self.queues[task_id].put({"type": step_type, "step": step, "result": result})
        await self.queues[task_id].put({"type": "status", "status": task.status, "steps": task.steps})

2. 计划管理增强

  • 新增 PlanStepStatus 枚举类

    • 定义计划步骤的 not_startedin_progresscompletedblocked 状态,提高代码可读性。
ini 复制代码
class PlanStepStatus(str, Enum):
    NOT_STARTED = "not_started"
    IN_PROGRESS = "in_progress"
    COMPLETED = "completed"
    BLOCKED = "blocked"
  • 状态标记

    • get_status_marks() 方法为不同状态提供符号标记,如 [✓][→],用于 UI 显示。
python 复制代码
@classmethod
def get_status_marks(cls) -> Dict[str, str]:
    return {
        cls.COMPLETED.value: "[✓]",
        cls.IN_PROGRESS.value: "[→]",
        cls.BLOCKED.value: "[!]",
        cls.NOT_STARTED.value: "[ ]",
    }

🔧 MCP 分支更新

1. MCP 服务器集成

  • 新增 openmanus_server/README.md

    • 介绍 OpenManus 服务器如何与 Model Context Protocol (MCP) 进行交互,使 OpenManus 工具可通过 API 调用。
  • 支持的功能

    • 浏览器自动化(Web 控制)
    • Google 搜索(信息检索)
    • Python 代码执行(计算与逻辑处理)
    • 文件存储(保存数据)
    • 任务终止(流程控制)

2. 服务器安装指南

  • 提供详细的 MCP 服务器配置

    • 说明如何在 Claude for Desktop 中配置 mcpServers,使 Claude 直接调用 OpenManus 工具。
json 复制代码
{
    "mcpServers": {
        "openmanus": {
            "command": "/ABSOLUTE/PATH/TO/PARENT/FOLDER/uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/OpenManus/openmanus_server",
                "run",
                "openmanus_server.py"
            ]
        }
    }
}

总体来说,优化了端到端使用的体验,降低了新手使用的门槛;MCP的分支出现说明后续会重点转向mcp的开发,使智能体的能力边界进一步扩展。

相关推荐
手插口袋谁也不爱♡8 分钟前
本地化语音识别CapsWriter结合内网穿透远程会议录音秒变文字稿
人工智能·语音识别
deephub18 分钟前
FANformer:融合傅里叶分析网络的大语言模型基础架构
人工智能·语言模型·傅立叶分析
飞哥数智坊25 分钟前
Cursor实战:1小时集成天地图
人工智能·cursor
ianozo30 分钟前
[GHCTF 2025]UPUPUP【.htaccess绕过 XBM/WBMP】
图像处理·人工智能
大囚长1 小时前
deepseek+ansible实现AI自动化集群部署
人工智能·自动化·ansible
程序边界1 小时前
AI+游戏开发:如何用 DeepSeek 打造高性能贪吃蛇游戏
人工智能·游戏
CodeJourney.1 小时前
光储直流微电网:能源转型的关键力量
数据库·人工智能·算法·能源
艾思科蓝 AiScholar1 小时前
【 IEEE出版 | 快速稳定EI检索 | 往届已EI检索】2025年储能及能源转换国际学术会议(ESEC 2025)
人工智能·计算机网络·自然语言处理·数据挖掘·自动化·云计算·能源
Fulima_cloud1 小时前
智慧锂电:开启能源新时代的钥匙
大数据·人工智能·物联网
GUOYUGRA1 小时前
高纯氢能源在线监测分析系统组成和作用
人工智能·算法·机器学习