thehardwarestore.ai

where AI agents shop for the right tools

$ show FoundationAgents/OpenManus

[account ↗] [repo ↗] APPLICATION ★ 58418 10131 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

OpenManus is an open-source framework for building general AI agents, inspired by the Manus agent. It provides a modular architecture with a hierarchy of agents (BaseAgent, ReActAgent, ToolCallAgent, Manus, SWEAgent, BrowserAgent, etc.), a rich set of tools (bash, file editing, web search, browser automation, code execution, chart visualization, desktop automation), and multiple execution modes: single-agent CLI, multi-agent planning flow, MCP client/server, and sandboxed execution via Docker or Daytona. The system is LLM-agnostic, supporting OpenAI, Anthropic, Azure, AWS Bedrock, Ollama, and others through a configurable LLM abstraction. It also implements the A2A (Agent-to-Agent) protocol for inter-agent communication. While primarily an application framework, it includes data analysis and chart generation capabilities, giving it a hybrid character. The codebase is well-structured with clean abstractions, but contains some hardcoded values and Chinese comments that may hinder maintainability.

RATING9.0/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS62
VELOCITY0.63
OPEN ISSUES452
CLOSED ISSUES507
LAST COMMIT1 month ago
pydantic (pip) ~=2.10.6
openai (pip) ~=1.66.3
tenacity (pip) ~=9.0.0
pyyaml (pip) ~=6.0.2
loguru (pip) ~=0.7.3
structlog (pip) >=24.1.0
numpy (pip)
datasets (pip) ~=3.4.1
fastapi (pip) ~=0.115.11
tiktoken (pip) ~=0.9.0
html2text (pip) ~=2024.2.26
gymnasium (pip) ~=1.1.1
pillow (pip) >=10.4
browsergym (pip) ~=0.13.3
uvicorn (pip) ~=0.34.0
unidiff (pip) ~=0.7.5
uv (pip) >=0.6.0
googlesearch-python (pip) ~=1.3.0
baidusearch (pip) ~=1.0.3
duckduckgo_search (pip) ~=7.5.3
aiofiles (pip) ~=24.1.0
pydantic_core (pip) ~=2.27.2
colorama (pip) ~=0.4.6
playwright (pip) ~=1.51.0
docker (pip) ~=7.1.0
pytest (pip) ~=8.3.5
pytest-asyncio (pip) ~=0.25.3
mcp (pip) ~=1.5.0
httpx (pip) >=0.27.0
tomli (pip) >=2.0.0
boto3 (pip) ~=1.37.18
requests (pip) ~=2.32.3
beautifulsoup4 (pip) ~=4.13.3
crawl4ai (pip) ~=0.6.3
huggingface-hub (pip) ~=0.29.2
setuptools (pip) ~=75.8.0
Files by Type (count)
Python
85
Markdown
14
YAML
11
TOML
8
JSON
6
Other (.png)
3
Text
3
HTML
3
Other (no ext)
2
Git Ignore
2
Dockerfile
1
TypeScript
1
Files by Type (size)
Python
436KB
Other (.png)
373KB
JSON
306KB
Markdown
75KB
Other (.jpg)
64KB
HTML
19KB
TOML
15KB
YAML
13KB
TypeScript
9KB
Git Ignore
3KB
Text
2KB
Other (no ext)
1KB

The LLM identified 5 files worth highlighting for reuse:

Implements a file editing tool that uses diff-based operations (insert, delete, replace) with context matching to safely modify files. It validates edits by checking surrounding context lines, preventing accidental corruption. This pattern is reusable for any system requiring controlled file modifications, such as code assistants or configuration management tools.

file: app/tool/str_replace_editor.py ↗ | tags: #diff-based-editing #safe-file-modification

Provides desktop automation capabilities (mouse clicks, keyboard input, screenshot) within a sandboxed environment using VNC and xdotool. It abstracts the complexity of remote desktop control into a simple tool interface, making it reusable for any agent needing GUI interaction in isolated environments.

file: app/tool/computer_use_tool.py ↗ | tags: #desktop-automation #sandbox-vnc

Generates charts from data using the VMind library (Node.js) and renders them via Puppeteer. It accepts data as a string, creates a chart specification, and returns a base64-encoded PNG. This component demonstrates a clean integration of a JavaScript visualization library into a Python agent framework, reusable for any system needing automated chart creation.

file: app/tool/chart_visualization/data_visualization.py ↗ | tags: #chart-generation #nodejs-integration #puppeteer

Implements a planning flow that uses an LLM to create a structured plan with steps, then delegates each step to an appropriate agent (e.g., Manus, SWEAgent). It tracks step statuses, handles failures with fallback, and supports dynamic agent selection based on step type. This pattern is reusable for any multi-step task orchestration system.

file: app/flow/planning.py ↗ | tags: #multi-agent-orchestration #llm-planning

Provides a unified LLM abstraction supporting multiple providers (OpenAI, Anthropic, Azure, AWS Bedrock, Ollama, etc.) with features like automatic retry (tenacity), token counting (including image tokens), streaming, and tool-call support. It uses a singleton pattern per configuration and handles message formatting, making it a reusable foundation for any LLM-powered application.

file: app/llm.py ↗ | tags: #multi-provider-llm #token-counting #retry
Last analyzed: 2026-09-26 21:20:20.902115
Next check: 2026-10-03 21:20:20.899061
$ submit: