OpenManus is a web application that allows users to input prompts, which are then used to run browser-use automations. The application will display the automation steps in a chat panel in real-time.
- React with TypeScript
- Shadcn UI components
- State management with React Context API
- Real-time updates with WebSockets
- Node.js with Express
- WebSocket server for real-time communication
- Integration with browser-use library
-
Layout Components
- MainLayout: Overall application layout
- Header: Application header with logo and navigation
- Footer: Application footer with links
-
Core Components
- PromptInput: Text area for entering prompts
- ChatPanel: Display area for automation logs
- BrowserPreview: Optional component to show browser state
-
UI Components
- Button: Reusable button component
- Card: Container component
- Dialog: Modal dialog component
- Toast: Notification component
-
API Routes
/api/prompt
: Endpoint to receive prompts/api/status
: Endpoint to check automation status
-
Services
- BrowserUseService: Interface with browser-use library
- LoggingService: Handle logging of automation steps
- WebSocketService: Manage real-time communication
- User enters prompt in PromptInput component
- Frontend sends prompt to backend via API
- Backend initializes browser-use automation
- As automation runs, steps are logged and sent to frontend via WebSockets
- ChatPanel component displays logs in real-time
- Upon completion, success/failure status is displayed
- Set up project structure and dependencies
- Implement basic UI components with Shadcn
- Create backend server with Express
- Integrate browser-use library
- Implement WebSocket for real-time communication
- Connect frontend and backend
- Add error handling and edge cases
- Polish UI and UX
- Testing and debugging