OpenManus系列(06): 3月12日更新,优化打磨产品是核心主题

241 阅读2分钟

本次 OpenManus 的更新涉及 前端分支(front-end)主分支(main) ,两者在功能增强和架构优化上均有改动。本文将合并两条分支的共有更新,并分别列出各自独特的变更点,帮助开发者快速理解改动内容。


🏗️ 主要更新内容

✅ 共同更新

  1. 优化 Manus 代理(Agent)

    • max_steps30 降低到 20,避免Agent过度执行,替大伙节省token费用
    • 新增 max_observe 变量,用于限制观察的字符数
    • think()act() 方法中增加 max_observe 控制,防止输出过长
    • tool_choices 选项改为 ToolChoice.AUTO,确保工具选择策略更加明确
  2. 工具(Tool)增强

    • BrowserUseTool 增加 disable_security 选项,提升安全控制能力
    • Terminate 工具描述信息优化,明确终止任务的时机
  3. 配置(Config)更新

    • config.toml 添加 [server] 配置项,支持自定义 hostport
    • 新增 ProxySettingsBrowserSettings,支持浏览器代理配置,支持了需要特殊方式进行访问的同学
    • Config 类支持动态加载浏览器相关配置项
  4. 依赖管理

    • 删除 app/llm/inference.py,迁移到 app/llm.py
    • 统一 LLM 相关逻辑,提高代码可读性和可维护性

🌍 前端分支(front-end)更新

界面整体更加简洁,一天一个样!

  1. Web 端功能优化

    • main.js

      • setupSSE() 方法优化,减少轮询,提升任务状态的更新效率
      • createStepElement() 增强日志展示,支持不同类型的文件(如图片、音频、Python 代码)交互
      • 新增 全屏图片预览功能,优化用户体验
      • 新增 Python 代码模拟执行(前端展示代码内容,并提供“模拟运行”按钮)
  2. 启动脚本改进

    • run.bat

      • 检查 Git 是否安装,避免无 Git 时的同步失败
      • 自动检测 Python 版本,不符合要求时给出提示
      • 依赖未安装时自动执行 pip install -r requirements.txt
  3. 浏览器工具

    • BrowserUseTool

      • 允许传入 disable_security=True 参数,提高浏览器安全选项的可配置性

🚀 主分支(main)更新

  1. 多语言支持

    • README.md

      • 新增韩语(README_ko.md),扩展全球用户覆盖
    • README_zh.md

      • 更新贡献者信息,优化描述
  2. 代理(Agent)结构优化

    • BaseAgent

      • update_memory() 方法中的 role 类型改为 ROLE_TYPE
      • step() 方法的状态重置优化,避免 max_steps 达到时不清零
    • PlanningAgent

      • tool_choice="required" 改为 ToolChoice.REQUIRED,确保调用工具时的一致性
    • Manus

      • 新增 _handle_special_tool() 方法,确保 BrowserUseTool 清理浏览器实例
  3. 配置增强

    • config.py

      • 添加 BrowserSettings,支持 headlessdisable_security 等浏览器选项
      • 代理支持 serverusernamepassword 认证配置
      • Config 解析 browser_config,实现动态加载