OpenManus系列(03): 三大新手痛点解决方案新鲜出炉,开发者亲测有效

723 阅读2分钟

在社区交流中发现多位开发者反映OpenManus框架存在一些问题:

  • 谷歌搜索不可用
  • 生成文件难追踪
  • 配置灵活度不足

对相关代码进行优化,通过分叉项目实现了针对性改进方案,并已提交PR!现将关键优化方案分享给各位开发者伙伴。


痛点一:搜索引擎水土不服?国产方案来接力

解决方案

  • 集成百度搜索:
    # 新增百度搜索工具类(app/tool/baidu_search.py)
    class BaiduSearch(BaseTool):
        async def execute(self, query: str) -> List[str]:
            return [result['url'] for result in search(query)]
    
  • 集成Brave国际搜索:支持API密钥配置,规避网络限制
  • 配置建议
    # config.example.toml 片段
    [agent.agents.Manus]
    available_tools = ["...", "baidu_search", "..."]  # 替代原google_search
    [tool.tools.brave_search]
    config = { api_key = "your_api_key" } 
    
  • 更改agent prompt
GoogleSearch: Perform web information retrieval
更改为:
BaiduSearch: Perform web information retrieval

痛点二:生成文件"捉迷藏"?智能路径管理上线

改进亮点

  1. 新增统一输出目录配置
    # FileSaver工具支持自定义保存路径(app/tool/file_saver.py)
    def _get_save_path(self, file_path: str) -> Path:
        return Path(self.save_path) / Path(file_path).name
    
  2. 自动创建多级目录,避免路径错误

痛点三:配置僵硬?动态调节生态成型

关键突破

# 示例:完全自定义Agent配置
[agent.agents.CustomAgent]
system_prompt = "你是个擅长数据处理的分析师"  # 自定义角色
max_steps = 50       # 复杂任务延长步数
available_tools = ["python_execute", "file_saver"] # 工具自由组合

技术实现

  1. 构建TOOL_REGISTRY中央注册表,支持工具动态加载
    # app/agent/toolcall.py
    TOOL_REGISTRY = {
        "baidu_search": BaiduSearch,
        "brave_search": BraveSearch  # 新增工具注册
    }
    
  2. 配置驱动初始化:Agent自动加载预设工具集
  3. 提示词支持热更新,无需修改代码即可调整对话逻辑

实践验证:开发者实测数据

百度搜索工具

  1. query: 从wiki中查找中国面积最大的5个咸水湖泊,并保存到markdown文件
  2. 结果截图: 02-中国五大咸水湖.png

Brave搜索工具

  1. query: Summary of the policies Trump has adopted since taking office, saved as markdown
  2. 结果截图: 02-Donald_Trump_Policies.png

如何体验

# 使用社区分支
git clone https://github.com/zozowind/OpenManus.git

参照更新后的config.example.toml文件,建议重点配置:

  1. 模型配置(第2-22行)
  2. 文件保存路径设置(第55-57行)
  3. Agent参数定制(第59-71行)

致社区开发者
本次优化完全基于社区需求驱动开发,感谢各位开发者的issue反馈。开源生态的活力正体现在这样的协作共创中,期待更多伙伴加入改进行列!

我们始终相信:开源项目的生命力在于社区的共创。如果您在使用过程中遇到问题或有新需求:

  1. 提 Issue:在项目仓库的 Issue 区详细描述问题场景
  2. 文章评论:在评论区分享您的使用体验或优化建议
  3. 社群讨论:加入开发者微信群 WX20250310-125804@2x.png