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 分钟前
神经网络-Day46
人工智能·深度学习·神经网络
带电的小王32 分钟前
【动手学深度学习】3.1. 线性回归
人工智能·深度学习·线性回归
谢尔登37 分钟前
结合 AI 生成 mermaid、plantuml 等图表
人工智能
VR最前沿1 小时前
【应用】Ghost Dance:利用惯性动捕构建虚拟舞伴
人工智能·科技
说私域1 小时前
内容力重塑品牌增长:开源AI大模型驱动下的智能名片与S2B2C商城赋能抖音生态种草范式
人工智能·小程序·开源·零售
l1t1 小时前
三种读写传统xls格式文件开源库libxls、xlslib、BasicExcel的比较
c++·人工智能·开源·mfc
AI浩2 小时前
【Block总结】EBlock,快速傅里叶变换(FFT)增强输入图像的幅度|即插即用|CVPR2025
人工智能·目标检测·计算机视觉
Vertira2 小时前
Pytorch安装后 如何快速查看经典的网络模型.py文件(例如Alexnet,VGG)(已解决)
人工智能·pytorch·python
Listennnn2 小时前
信号处理基础到进阶再到前沿
人工智能·深度学习·信号处理
奔跑吧邓邓子2 小时前
DeepSeek 赋能智能养老:情感陪伴机器人的温暖革新
人工智能·机器人·deepseek·智能养老·情感陪伴