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的开发,使智能体的能力边界进一步扩展。

相关推荐
OAFD.6 小时前
机器学习之线性回归:原理、实现与实践
人工智能·机器学习·线性回归
SHIPKING3937 小时前
【机器学习&深度学习】LMDeploy的分布式推理实现
人工智能·深度学习
mit6.8248 小时前
[RestGPT] docs | RestBench评估 | 配置与环境
人工智能·python
CareyWYR8 小时前
每周AI论文速递(250818-250822)
人工智能
门思科技9 小时前
LoRaWAN 的网络拓扑全解析:架构、原理与应用实践
服务器·网络·人工智能·科技·物联网·架构
兔子的倔强9 小时前
Transformer在文本、图像和点云数据中的应用——经典工作梳理
人工智能·深度学习·transformer
lxmyzzs10 小时前
【图像算法 - 21】慧眼识虫:基于深度学习与OpenCV的农田害虫智能识别系统
人工智能·深度学习·opencv·算法·yolo·目标检测·计算机视觉
Gloria_niki10 小时前
机器学习之K 均值聚类算法
人工智能·机器学习
AI人工智能+10 小时前
表格识别技术:通过图像处理与深度学习,将非结构化表格转化为可编辑结构化数据,推动智能化发展
人工智能·深度学习·ocr·表格识别
深圳多奥智能一卡(码、脸)通系统10 小时前
智能二维码QR\刷IC卡\人脸AI识别梯控系统功能设计需基于模块化架构,整合物联网、生物识别、权限控制等技术,以下是多奥分层次的系统设计框架
人工智能·门禁·电梯门禁·二维码梯控·梯控·电梯