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

相关推荐
量化交易曾小健(金融号)17 小时前
人大计算金融课程名称:《机器学习》(题库)/《大数据与机器学习》(非题库) 姜昊教授
人工智能
IT_陈寒17 小时前
Redis 性能翻倍的 5 个隐藏技巧,99% 的开发者都不知道第3点!
前端·人工智能·后端
W_chuanqi17 小时前
RDEx:一种效果驱动的混合单目标优化器,自适应选择与融合多种算子与策略
人工智能·算法·机器学习·性能优化
好奇龙猫17 小时前
[AI学习:SPIN -win-安装SPIN-工具过程 SPIN win 电脑安装=accoda 环境-第四篇:代码修复]
人工智能·学习
Pocker_Spades_A17 小时前
AI搜索自由:Perplexica+cpolar构建你的私人知识引擎
人工智能
~kiss~17 小时前
图像的脉冲噪声和中值滤波
图像处理·人工智能·计算机视觉
居7然17 小时前
DeepSeek-7B-chat 4bits量化 QLora 微调
人工智能·分布式·架构·大模型·transformer
卡奥斯开源社区官方17 小时前
OpenAI万亿美元计划技术拆解:AI智能体的架构演进与商业化实践
人工智能
熊猫钓鱼>_>17 小时前
AI驱动的专业报告撰写:从信息整合到洞察生成的全新范式
大数据·人工智能·百度
宝杰X718 小时前
Compose Multiplatform+Kotlin Multiplatfrom 第七弹跨平台 AI开源
人工智能·开源·kotlin