Skip to content

Latest commit

 

History

History
159 lines (120 loc) · 4.75 KB

File metadata and controls

159 lines (120 loc) · 4.75 KB

OpenManus 开发日志

项目概述

OpenManus是一个开源的AI助手项目,旨在提供类似于Manus的功能,但无需邀请码。该项目由MetaGPT团队的成员在短时间内快速开发完成,现在添加了Web界面以提升用户体验。

开发时间线

2025-03-06

  • 项目初始化
  • 实现基础命令行界面(CLI)版本
  • 集成基本的AI模型功能

2025-03-07

  • 开始设计Web界面
  • 创建FastAPI应用程序框架
  • 实现基本的路由和模板

2025-03-08

  • 实现前端界面,包括聊天和日志展示
  • 添加WebSocket支持实时通信
  • 解决WebSocket依赖问题
  • 添加自动打开浏览器功能
  • 实现左右布局设计,左侧日志,右侧对话
  • 添加停止请求功能
  • 实现Manus风格的任务进展日志显示
  • 优化Manus风格的进度日志系统
  • 调整日志展示样式,使其更加简洁直观
  • 完善文档和使用说明

技术栈

  • 后端:FastAPI, Python 3.12
  • 前端:HTML, CSS, JavaScript (原生)
  • 通信:WebSocket, REST API
  • 容器化:支持Docker部署
  • AI模型:支持多种大型语言模型接口

功能实现

  1. Web界面

    • 响应式设计,适配移动和桌面设备
    • 左右分栏布局:左侧日志,右侧对话
    • 实时显示处理状态和日志
  2. 实时通信

    • WebSocket实现实时日志更新
    • 自动降级到轮询机制(当WebSocket不可用时)
  3. 日志系统

    • 支持多种日志级别(info, warning, error, success)
    • 按时间顺序实时显示处理步骤
    • 实现简单但可靠的日志捕获系统
    • 新增:Manus风格的任务进展日志
      • 简洁的进行时任务描述
      • 实时展示AI正在执行的思考和研究过程
      • 无时间戳的极简呈现方式
      • 任务完成时的总结信息
  4. 用户体验优化

    • 自动打开浏览器功能
    • 停止请求按钮
    • 清除对话功能
    • 代码块自动格式化

遇到的问题和解决方案

问题1: WebSocket连接错误

问题描述:在启动时出现"Unsupported upgrade request"和"No supported WebSocket library detected"错误。

解决方案

  • 添加WebSocket依赖检测
  • 安装websockets库或uvicorn[standard]
  • 实现前端优雅降级到轮询方式

问题2: 日志记录格式错误

问题描述:在尝试捕获loguru日志时出现"TypeError: string indices must be integers, not 'str'"错误。

解决方案

  • 创建专用的日志处理模块
  • 实现SimpleLogCapture类替代loguru的复杂格式
  • 使用自定义上下文管理器来处理日志

问题3: 界面布局在移动设备上显示问题

问题描述:在小屏幕设备上左右布局不合理。

解决方案

  • 添加媒体查询
  • 在小屏幕上转换为垂直布局
  • 调整各组件的最大宽度

问题4: 需要实现类Manus的日志展示

问题描述:用户期望看到类似Manus的实时任务进展日志,而不是技术性的日志信息。

解决方案

  • 创建专门的思考步骤跟踪系统
  • 将AI的思考过程转化为简洁的进行时任务描述
  • 保持日志界面干净,只展示用户关心的内容
  • 添加任务完成的总结信息

Manus风格日志实现方案

为了实现类似Manus的日志呈现方式,我们采用以下方案:

  1. 任务跟踪系统

    • 创建ThinkingTracker类,记录AI思考过程的关键步骤
    • 将复杂的后台处理过程转化为简洁的用户友好描述
    • 支持任务进度百分比估计(可选)
  2. 前端展示优化

    • 去除技术性的时间戳和日志级别
    • 使用简单的文本行展示,每行代表一个思考步骤
    • 使用淡入淡出效果增强用户体验
  3. WebSocket实时更新

    • 将AI处理过程实时推送到前端
    • 支持分批次更新长任务的思考步骤
  4. 任务完成总结

    • 在任务完成时生成简洁的总结信息
    • 提供后续操作建议

后续开发计划

  1. 功能增强

    • 添加用户认证系统
    • 支持会话历史保存
    • 实现多语言支持
  2. 性能优化

    • 优化WebSocket通信效率
    • 添加日志分页功能
    • 实现请求队列管理
  3. 用户体验提升

    • 添加更多主题选项
    • 实现对话导出功能
    • 添加语音输入支持
    • 完善Manus风格日志系统,增加更多任务类型的处理模板
  4. 集成测试

    • 添加端到端测试
    • 实现自动化UI测试
    • 性能基准测试

贡献指南

欢迎对OpenManus Web进行贡献!您可以通过以下方式参与:

  1. 报告Bug或提出功能建议
  2. 提交代码改进Pull Request
  3. 改进文档
  4. 分享您的使用体验

请确保您的代码遵循项目的代码风格并通过所有测试。


最后更新: 2025-03-08