GitHub - Simpleyyt/ai-manus: AI Manus is a general-purpose AI Agent system that supports running various tools and operations in a sandbox environment. (original) (raw)

English | δΈ­ζ–‡ | Official Site | Documents

GitHub stars License: MIT

AI Manus is a general-purpose AI Agent system that supports running various tools and operations in a sandbox environment. Now with Claw β€” a deeply integrated OpenClaw AI assistant that brings one-click deployment, per-user isolated containers, and seamless chat history to the Manus ecosystem.

Enjoy your own agent with AI Manus!

πŸ‘ Join QQ Group(1005477581)

❀️ Like AI Manus? Give it a star 🌟 or Sponsor to support the development!

πŸš€ Try a Demo

πŸ“ Blog: Rebuild Manus with WebUI and Sandbox

Demos

Basic Features

ui.mp4

Browser Use

Code Use

Key Features

Development Roadmap

Overall Design

Image

When a user initiates a conversation:

  1. Web sends a request to create an Agent to the Server, which creates a Sandbox through /var/run/docker.sock and returns a session ID.
  2. The Sandbox is an Ubuntu Docker environment that starts Chrome browser and API services for tools like File/Shell.
  3. Web sends user messages to the session ID, and when the Server receives user messages, it forwards them to the PlanAct Agent for processing.
  4. During processing, the PlanAct Agent calls relevant tools to complete tasks.
  5. All events generated during Agent processing are sent back to Web via SSE.

When users browse tools:

Environment Requirements

This project primarily relies on Docker for development and deployment, requiring a relatively new version of Docker:

Model capability requirements:

Deepseek and GPT models are recommended.

Deployment Guide

Docker Compose is recommended for deployment:

services: frontend: image: simpleyyt/manus-frontend ports: - "5173:80" depends_on: - backend restart: unless-stopped networks: - manus-network environment: - BACKEND_URL=http://backend:8000

backend: image: simpleyyt/manus-backend depends_on: - sandbox - claw restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock:ro #- ./mcp.json:/etc/mcp.json # Mount MCP servers directory networks: - manus-network environment: # OpenAI API base URL - API_BASE=https://api.openai.com/v1 # OpenAI API key, replace with your own - API_KEY=sk-xxxx # LLM model name - MODEL_NAME=gpt-4o # LLM temperature parameter, controls randomness #- TEMPERATURE=0.7 # Maximum tokens for LLM response #- MAX_TOKENS=2000 # More configuration options: https://docs.ai-manus.com/#/configuration

sandbox: image: simpleyyt/manus-sandbox command: /bin/sh -c "exit 0" # prevent sandbox from starting, ensure image is pulled restart: "no" networks: - manus-network

claw: image: simpleyyt/manus-claw entrypoint: /bin/sh -c "exit 0" # prevent claw from starting, ensure image is pulled restart: "no" networks: - manus-network

mongodb: image: mongo:7.0 volumes: - mongodb_data:/data/db restart: unless-stopped #ports: # - "27017:27017" networks: - manus-network

redis: image: redis:7.0 restart: unless-stopped networks: - manus-network

volumes: mongodb_data: name: manus-mongodb-data

networks: manus-network: name: manus-network driver: bridge

Save as docker-compose.yml file, and run:

Note: If you see sandbox-1 exited with code 0, this is normal, as it ensures the sandbox image is successfully pulled locally.

Open your browser and visit http://localhost:5173 to access Manus. For more configuration options, see: https://docs.ai-manus.com/#/en/configuration

Development Guide

Project Structure

This project consists of the following sub-projects:

Environment Setup

  1. Download the project:

git clone https://github.com/simpleyyt/ai-manus.git cd ai-manus

  1. Copy the configuration file:
  2. Modify the configuration file. At minimum set API_KEY. See .env.example or Configuration for the full list of options:

API_KEY=sk-xxxx API_BASE=https://api.openai.com/v1 MODEL_NAME=gpt-4o

Development and Debugging

  1. Run in debug mode:

Equivalent to docker compose -f docker-compose-development.yaml up

./dev.sh up

All services will run in reload mode, and code changes will be automatically reloaded. The exposed ports are as follows:

Note: In Debug mode, only one sandbox will be started globally

  1. When dependencies change (backend/pyproject.toml or frontend/package.json), clean up and rebuild:

Clean up all related resources

./dev.sh down -v

Rebuild images

./dev.sh build

Run in debug mode

./dev.sh up

Image Publishing

export IMAGE_REGISTRY=your-registry-url export IMAGE_TAG=latest

Build images

./run build

Push to the corresponding image repository

./run push

⭐️ Star History

Star History Chart