主要代码在app目录下:
agent目录
base.py是agent的基类;
该实现体现了OpenManus项目的三个核心思想:
- 分层架构:通过抽象基类定义通用接口,具体代理类型(如ToolCallAgent)继承扩展功能
- 工具增强:预留
tool
角色消息接口,为后续工具调用模块集成奠定基础 - 流程可控:通过
max_steps
限制最大执行步数,避免无限循环风险
此基类为OpenManus代理系统的核心基础设施,后续的React模式、工具调用、任务规划等功能均建立在此基础之上。其设计充分考虑了异常处理(state_context)、状态跟踪(AgentState)和模块扩展(Config.extra=allow)
react.py:继承base.py中定义的BaseAgent
定义了:think、act抽象方法,和step的执行的逻辑;
toolcall.py:继承react.py中定义的ReActAgent
定义了:ToolCallAgent工具调用Agent的基类,有4个继承类;
定义了:think、act的实现;
是browser.py、manus.py、mcp.py、swe.py的父类;
browser.py</