今日更新涵盖 front、main、mcp 三个分支,涉及文档优化、任务管理系统改进、计划状态管理升级以及新的 OpenManus MCP 服务器。以下是各分支的详细更新内容。
🔥 Main 分支更新
1. 任务管理系统重大变更
-
移除
app.py
- 任务管理的 FastAPI 代码被删除,相关的内容迁移到了front分支
-
优化 Agent 逻辑
-
app/agent/manus.py
:- 限制
Manus
代理的最大步骤数max_steps = 20
,避免无限循环。
- 限制
arduinoclass Manus(ToolCallAgent): max_steps: int = 20
-
app/agent/base.py
:- 运行
max_steps
结束后,current_step
归零,Agent 状态重置为IDLE
。
- 运行
iniif 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. 任务管理系统优化
-
新增
webbrowser
与threading
支持- 服务器启动 3 秒后自动打开
http://localhost:5172
,方便用户访问。
- 服务器启动 3 秒后自动打开
-
任务状态管理
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_started
、in_progress
、completed
、blocked
状态,提高代码可读性。
- 定义计划步骤的
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 调用。
- 介绍 OpenManus 服务器如何与
-
支持的功能
- 浏览器自动化(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的开发,使智能体的能力边界进一步扩展。