OpenHuman
官网,开源(GitHub,32.3K Star,3.1K Fork)桌面端Agent框架,基于Rust(rustfmt + clippy)、Tauri、pnpm、CMake、Ninja、ripgrep,把连接的所有文档、邮件和聊天记录都摘要压缩,生成一个让Agent能记住你一切的记忆图谱。不需要训练期,不需要「先用几周再说」。
原理:集成Gmail等服务,系统每20分钟自动把最新数据拉一次,过一条处理管道:先转成规范化Markdown格式,再切成不超过3k Token的块,打分,最后折叠进层级化的摘要树Memory Tree里,存在本地SQLite。Markdown文件是Obsidian兼容Vault,可打开查看。
支持:Gmail、Notion、GitHub、Slack、Stripe、Google Calendar、Google Drive、Linear、Jira等118+个外部服务提供商。
TokenJuice:压缩管道,HTML转Markdown,长URL缩短,重复行去重,啰嗦的工具输出摘要化。针对git、npm、cargo、docker、kubectl这些命令各有预设规则,规则文件是JSON格式,你也可以自己写覆盖规则,放到~/.config/tokenjuice/rules/下就生效,不需要重新编译。
内置自动路由逻辑,推理型任务送去前沿模型,快速问答走轻量模型,视觉任务走视觉模型。本地跑模型的话支持Ollama和LM Studio。
对比
| 对比项 | OpenClaw | HermesAgent | OpenHuman |
|---|---|---|---|
| 上手难度 | 中(需终端) | 高(Python/Linux环境) | 低(安装包,几分钟搞定) |
| 记忆类型 | 插件缓存 | 递归自学习 | MemoryTree+Obsidian Vault |
| 接入服务方式 | 自己配 | 自己配 | 118+OAuth一键 |
| 自动拉数据 | 无 | 无 | 每20分钟一次 |
| 模型路由 | 手动 | 手动 | 内置自动路由 |
| 原生工具 | 仅代码 | 仅代码 | 代码+搜索+爬虫+语音 |
解读:OpenClaw优势在消息渠道覆盖广,Hermes Agent优势在复杂推理和自主编程;OpenHuman核心差异是主动维护上下文。
实战
安装
- GitHub Release下载安装包
- 命令行
基于命令行安装:
bash
curl -fsSL https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.sh | bash
irm https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.ps1 | iex
双击安装包,界面如下

配置步骤,来到关键环节

底部几个图标分别是:首页、对话、助手、大脑、连接、设置、账户。

nexu
官网,开源(GitHub,3.1K Star,249 Fork)桌面客户端,支持OpenClaw Agent直接跑在微信、飞书、Slack、Discord里。
内置完整飞书Skills(读写文档、操作多维表格、管理日历任务等)和OpenClaw原生Skills。技能市场(Skill Hub)提供一键安装,安装后热加载生效,无需重启Agent。也可以本地开发自定义Skills,满足特殊需求。
采用Controller优先的执行模型,架构清晰:
#mermaid-svg-Qq7l2aXCGZlaufc5{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Qq7l2aXCGZlaufc5 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Qq7l2aXCGZlaufc5 .error-icon{fill:#552222;}#mermaid-svg-Qq7l2aXCGZlaufc5 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Qq7l2aXCGZlaufc5 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Qq7l2aXCGZlaufc5 .marker.cross{stroke:#333333;}#mermaid-svg-Qq7l2aXCGZlaufc5 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Qq7l2aXCGZlaufc5 p{margin:0;}#mermaid-svg-Qq7l2aXCGZlaufc5 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Qq7l2aXCGZlaufc5 .cluster-label text{fill:#333;}#mermaid-svg-Qq7l2aXCGZlaufc5 .cluster-label span{color:#333;}#mermaid-svg-Qq7l2aXCGZlaufc5 .cluster-label span p{background-color:transparent;}#mermaid-svg-Qq7l2aXCGZlaufc5 .label text,#mermaid-svg-Qq7l2aXCGZlaufc5 span{fill:#333;color:#333;}#mermaid-svg-Qq7l2aXCGZlaufc5 .node rect,#mermaid-svg-Qq7l2aXCGZlaufc5 .node circle,#mermaid-svg-Qq7l2aXCGZlaufc5 .node ellipse,#mermaid-svg-Qq7l2aXCGZlaufc5 .node polygon,#mermaid-svg-Qq7l2aXCGZlaufc5 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Qq7l2aXCGZlaufc5 .rough-node .label text,#mermaid-svg-Qq7l2aXCGZlaufc5 .node .label text,#mermaid-svg-Qq7l2aXCGZlaufc5 .image-shape .label,#mermaid-svg-Qq7l2aXCGZlaufc5 .icon-shape .label{text-anchor:middle;}#mermaid-svg-Qq7l2aXCGZlaufc5 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Qq7l2aXCGZlaufc5 .rough-node .label,#mermaid-svg-Qq7l2aXCGZlaufc5 .node .label,#mermaid-svg-Qq7l2aXCGZlaufc5 .image-shape .label,#mermaid-svg-Qq7l2aXCGZlaufc5 .icon-shape .label{text-align:center;}#mermaid-svg-Qq7l2aXCGZlaufc5 .node.clickable{cursor:pointer;}#mermaid-svg-Qq7l2aXCGZlaufc5 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Qq7l2aXCGZlaufc5 .arrowheadPath{fill:#333333;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Qq7l2aXCGZlaufc5 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Qq7l2aXCGZlaufc5 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Qq7l2aXCGZlaufc5 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Qq7l2aXCGZlaufc5 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Qq7l2aXCGZlaufc5 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Qq7l2aXCGZlaufc5 .cluster text{fill:#333;}#mermaid-svg-Qq7l2aXCGZlaufc5 .cluster span{color:#333;}#mermaid-svg-Qq7l2aXCGZlaufc5 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Qq7l2aXCGZlaufc5 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Qq7l2aXCGZlaufc5 rect.text{fill:none;stroke-width:0;}#mermaid-svg-Qq7l2aXCGZlaufc5 .icon-shape,#mermaid-svg-Qq7l2aXCGZlaufc5 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Qq7l2aXCGZlaufc5 .icon-shape p,#mermaid-svg-Qq7l2aXCGZlaufc5 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Qq7l2aXCGZlaufc5 .icon-shape .label rect,#mermaid-svg-Qq7l2aXCGZlaufc5 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Qq7l2aXCGZlaufc5 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Qq7l2aXCGZlaufc5 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Qq7l2aXCGZlaufc5 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-svg-Qq7l2aXCGZlaufc5 .layer>*{fill:#fff9e6!important;stroke:#d4b106!important;stroke-width:1px!important;}#mermaid-svg-Qq7l2aXCGZlaufc5 .layer span{fill:#fff9e6!important;stroke:#d4b106!important;stroke-width:1px!important;} 运行时层
控制器层
用户界面层
编译config.json
模型配置
技能安装
微信、飞书、Slack、Discord
Web UI
Desktop App (Electron)
Config 编译器
模型管理
SkillHub 服务
OpenClaw Gateway
Channel Monitors
Agent Runtime
IM 渠道
核心流程:
- Web UI、Desktop App接收用户操作
- Controller将高层配置编译为OpenClaw兼容
config.json - OpenClaw Runtime加载配置,启动Gateway进程
- Channel Monitors监听IM消息,Agent Runtime处理对话
用户在UI上修改模型或技能,Controller重新编译配置并触发热重载,无需重启。
技术栈
- TypeScript monorepo(pnpm workspaces)
- Electron桌面客户端
- Vite+React Web前端
- OpenClaw Runtime(Node.js)
实战
基于源码部署
bash
git clone https://github.com/nexu-io/nexu.git
cd nexu
pnpm install
pnpm run dev:desktop
Moltis
官网,Rust编写的开源(GitHub,2.7K Star,321 Fork)项目,定位:高性能、轻量化的个人AI网关与助手。核心哲学:通过单一二进制文件提供全功能AI交互体验。可用于:本地LLM的前端、连接不同AI供应商的网关。
代表新一代开源AI工具的发展方向:去中心化、高性能、安全受控。利用Rust的语言优势规避传统AI应用的内存负担,通过沙箱机制解决AI自动化执行的安全顾虑,通过MCP协议确保生态的无限扩展性。
核心能力:
- 极简部署与极致性能:基于Rust和Axum框架,编译后不依赖任何外部重型运行时。可部署在只有512MB内存的VPS上,响应速度极快
- 内置安全沙箱(Sandboxed Code Execution):支持在Docker容器或macOS原生沙箱中执行AI生成的代码
- 原生支持MCP:可作为MCP客户端,无缝接入互联网搜索、本地数据库查询、GitHub操作等各种外部工具服务器
- 多渠道与长期记忆:除现代化Web界面,支持Telegram Bot接入。配合基于SQLite和向量嵌入的长期记忆系统,能记住用户偏好,提供更具个性化的建议。
| 特性 | Moltis | Dify/AnythingLLM | ChatGPT Next Web |
|---|---|---|---|
| 开发语言 | Rust(极致性能) | Python/JS(较重) | TypeScript |
| 部署形式 | 单一二进制文件 | 多容器/复杂环境 | 简单Web部署 |
| 代码运行 | 原生沙箱支持(Docker) | 部分支持 | 不支持本地运行 |
| 协议支持 | 深度集成MCP | 插件系统 | 基础API |
| 内存占用 | 极低(<100MB) | 中到高 | 中 |
实战
部署方式:
- Docker
- 源码
基于Docker部署:
bash
docker run -d \
--name moltis \
-p 13131:13131 13132:13132 \
-v moltis-config:/home/moltis/.config/moltis \
-v moltis-data:/home/moltis/.moltis \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/moltis-org/moltis:latest
基于源码部署:
bash
git clone https://github.com/moltis-org/moltis.git
cd moltis
cargo build --release
./target/release/moltis
浏览器打开http://localhost:3000开始体验。
Eclaire
官网,一款开源(GitHub,416 Star,42 Fork)本地优先的AI助手,提供聊天、自动化任务、笔记、文档、照片、书签等功能。
功能特性:
- 跨平台:支持MacOS、Linux和Windows,可安装PWA;通过快捷方式安装iOS和AppleWatch;通过Tasker/MacroDroid安装Android;
- 默认私有:默认情况下,所有AI模型都在本地运行,所有数据都在本地存储;
- 统一数据:跨任务、笔记、文档、照片、书签等进行管理;
- AI对话:根据内容进行聊天;查看来源以获取答案;支持流媒体和思考令牌;
- AI工具调用:助手拥有搜索数据、打开内容、解决任务、添加评论、创建笔记等工;
- 分层架构:前端、后端和工作器是独立的服务。仅针对API/数据处理用例运行后端;
- 完整API:带有会话令牌或API密钥的OpenAI兼容REST端点;
- 模型后端:通过标准OpenAI兼容API与
llama.cpp、vLLM、mlx-lm/mlx-vlm、LMStudio、Ollama等兼容; - 模型支持:Qwen、Gemma、DeepSeek、Mistral、Kimi等文本和视觉模型;
- 存储:所有资产(上传或生成)都位于Postgres或文件/对象存储中;
- 集成:Telegram等;
- 文档:PDF、DOC/DOCX、PPT/PPTX、XLS/XLSX、ODT/ODP/ODS、MD、TXT、RTF、Pages、Numbers、Keynote、HTML、CSV等;
- 图像:JPG/JPEG、PNG、SVG、WebP、HEIC/HEIF、AVIF、GIF、BMP、TIFF等;
- 任务:跟踪用户任务或分配任务给AI助手完成;助手为任务添加评论或写入单独的文档;
- 注释:纯文本或Markdown格式,链接到其他资产;
- 书签:获取书签并创建PDF、Readable和LLM友好版本。针对Github和Reddit的API和元数据进行了特殊处理;
- 组织:所有资产类型的标签、图钉、标志、到期日等;
- 硬件加速:利用AppleMLX、NVIDIACUDA和其他特定于平台的优化。
ChatClaw
开源(GitHub,291 Star,54 Fork)本地个人AI助手平台,主打多模型协同、文档知识库管理、跨平台快捷交互,不用频繁切换软件,就能一站式完成资料管理、AI问答、聊天智能回复,大幅降低AI使用成本,提升工作效率。
功能:
- 一站式知识库管理:PDF、Word、Excel、TXT、Markdown、CSV、HTML、OFD等8种格式
- 聊天高效应答:划词搜索与吸附一体化,支持微信、企微、钉钉、QQ、飞书、抖音等主流聊天平台;在聊天页面中,只需选中需要回复的内容,划词后会自动弹出【AI回复】操作项,点击该选项,系统会将划词内容快速发送至吸附窗口的AI助手
- 多AI平台同时回复:支持同时调用多个AI模型,获得不同角度的解答。
Frona
开源(GitHub,194 Star,20 Fork)的个人AI助手,创建自主代理,这些代理在沙盒环境中浏览网页、运行代码、构建应用程序、打电话、委派工作、记忆对话上下文,所有这些都在沙盒环境中,对文件、网络和凭证有受控访问权。官方文档。
特点
- 自主AI智能体:智能体能够自主决定使用哪些工具,并执行多步骤任务
- 浏览器自动化:通过无头Chrome浏览网站、填写表单和提取数据
- 网络搜索:内置SearXNG、Tavily、Brave Search支持
- 代码执行:沙盒化shell命令,带有文件系统、网络和资源限制
- 应用部署:智能体可以构建和部署Web应用程序
- 技能系统:安装共享技能或创建智能体特定的指令包
- 定时任务:通过cron表达式设置周期性任务
- 语音通话:通过Twilio拨打和接听电话
- 持久记忆:智能体跨对话记住事实
- 智能体间委托:智能体可以将任务委托给其他专业智能体
- 实时流式传输:通过SSE进行令牌级响应流式传输
- SSO支持:OpenID Connect支持Google、Keycloak等
- 单容器后端:整个后端(API服务器、嵌入式数据库、调度器、工具执行)在一个无根OCI容器中运行
- 安全优先:在沙盒环境中运行,隔离文件系统访问、控制网络访问、执行超时限制
- 凭据保险库:智能体需要凭据时实时审批,支持1Password、Bitwarden、HashiCorp Vault、KeePass等
部署
searxng-settings.yml
yml
use_default_settings: true
search:
formats:
- html
- json
docker-compose.yml
yml
services:
frona:
image: ghcr.io/fronalabs/frona:latest
container_name: frona-web
restart: unless-stopped
ports:
- "3771:3001"
volumes:
- ./data:/app/data
environment:
- FRONA_BROWSER_WS_URL=ws://browserless:3333
- FRONA_SEARCH_SEARXNG_BASE_URL=http://searxng:8080
security_opt:
- seccomp:unconfined
depends_on:
- browserless
- searxng
browserless:
image: ghcr.io/browserless/chromium:latest
container_name: frona-browserless
restart: unless-stopped
volumes:
- ./data/browser_profiles:/profiles
environment:
- MAX_CONCURRENT_SESSIONS=10
- PREBOOT_CHROME=true
searxng:
image: searxng/searxng:latest
container_name: frona-searxng
restart: unless-stopped
volumes:
- ./searxng-settings.yml:/etc/searxng/settings.yml:ro
environment:
- SEARXNG_BASE_URL=http://searxng:8080
- SEARXNG_SECRET=change-me-to-something-random
浏览器打开http://localhost:3771开始体验,设置模型
Primary:主要模型Reasoning:推理模型Coding:编码模型