Go to file
hkr04 d7f0f63149 cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
agent cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
assets add logos 2025-04-10 00:39:55 +08:00
common remove unused codes; refactor project structure 2025-03-29 00:04:23 +08:00
config cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
examples cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
flow add image_loader and fix some bugs of image_url in tool results 2025-04-10 00:10:05 +08:00
include cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
mcp@0dbcd1e6d5 add humanus_server (mcp) 2025-04-08 23:26:53 +08:00
memory cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
server python_execute: fix bugs in locks 2025-04-12 21:18:35 +08:00
src cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
tests cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
tokenizer cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
tool cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
.gitignore cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00
.gitmodules update mcp origin 2025-04-01 18:56:51 +08:00
CMakeLists.txt add tokenizer (lack of test in use) and content_provider (just implementation, no use) 2025-04-06 16:32:51 +08:00
README.md cleaned a bit; convert Chinese to English 2025-04-12 21:29:18 +08:00

README.md

humanus.cpp

Humanus (meaning "human" in Latin) is a lightweight framework inspired by OpenManus and mem0, integrated with the Model Context Protocol (MCP). humanus.cpp enables more flexible tool choices, and provides a foundation for building powerful local LLM agents.

Let's embrace local LLM agents w/ humanus.cpp!

Project Demo

How to Build

git submodule update --init --recursive

cmake -B build
cmake --build build --config Release

How to Run

Switch to your own configration first:

  1. Replace base_url, api_key, .etc in config/config_llm.toml according to your need.
  2. Fill in args after "@modelcontextprotocol/server-filesystem" for filesystem to control the access to files. For example:
[filesystem]
type = "stdio"
command = "npx"
args = ["-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/{username}/Desktop",
        "other/path/to/your/files]

Start a MCP server with tool python_execute on port 8818:

./build/bin/mcp_server # Unix/MacOS
.\build\bin\Release\mcp_server.exe  # Windows

Run agent humanus with tools python_execute, filesystem and playwright (for browser use):

./build/bin/humanus_cli # Unix/MacOS
.\build\bin\Release\humanus_cli.exe # Windows

Run experimental planning flow (only agent humanus as executor):

./build/bin/humanus_cli_plan # Unix/MacOS
.\build\bin\Release\humanus_cli_plan.exe # Windows

Acknowledgement

Cite

@misc{humanuscpp,
  author = {Zihong Zhang and Zuchao Li},
  title = {humanus.cpp: A Lightweight C++ Framework for Local LLM Agents},
  year = {2025}
}