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

相关推荐
dog2505 分钟前
BBR 的 RTT 公平性问题求解
人工智能·算法·机器学习
莱茶荼菜35 分钟前
SIFT特征点检测
人工智能·深度学习·计算机视觉
荷塘阅色1 小时前
【机器学习】人工智能在电力电子领域的应用
人工智能·机器学习·电力电子
James. 常德 student1 小时前
长短期记忆网络(LSTM)
人工智能·rnn·lstm
2401_890236041 小时前
艺术与科技的双向奔赴——高一鑫荣获加州联合表彰
人工智能·科技
奋斗者1号2 小时前
数据集拆分:机器学习中的最佳实践
人工智能·机器学习
琢磨先生David2 小时前
Java 未来技术栈:从云原生到 AI 融合的企业级技术演进路线
java·人工智能·云原生
ZStack开发者社区2 小时前
抢先体验 | Qwen3 模型发布:基于 ZStack AIOS 平台极速体验
人工智能
吴法刚2 小时前
20_大模型微调和训练之-基于LLamaFactory+LoRA微调LLama3后格式合并
人工智能·lora·llama·大模型训练·大模型微调·llama.cpp
公众号-架构师汤师爷2 小时前
DeepSeek+Coze实战:如何从0到1打造一个热点监控智能体
人工智能·agent·智能体·coze·deepseek