AI 深度技能之-解读OpenHuman(一)- Rust 写的个人 Agent 操作系统

仓库:github.com/tinyhumansa... License:GNU GPL v3 | 技术栈:Rust + TypeScript (Tauri v2) | 平台:Windows / macOS / Linux 官网:tinyhumans.ai/openhuman

这是什么

OpenHuman 是 tinyhumansai 团队做的一个桌面级个人 AI 助手,2026 年 5 月登上 GitHub Trending 第一。它不是聊天框加插件那种常见的 Agent 产品,而是一个完整的"个人 Agent 操作系统":有记忆、有编排、有研究能力、能参加会议、能管理消息渠道、能在 Agent 社交网络里跟别的 Agent 协作。

跟大多数 AI 助手不一样的地方在于,OpenHuman 的核心用 Rust 写的,跑在 Tauri v2 桌面框架上,不是 Electron 那套。数据全部存在本地,SQLite 加密存储,记忆系统还镜像成 Markdown 文件可以用 Obsidian 直接打开编辑。它对自己的定位是"第二大脑",不是"聊天机器人"。


解决什么痛点

痛点一:Agent 没有记忆

大多数 AI 助手每次对话都是全新的,不记得你昨天说了什么。你得反复交代背景,反复解释你是谁、你在做什么项目、你跟谁在合作。

OpenHuman 的解法是 Memory Tree:一个三级层次结构的记忆系统。你的邮件、聊天、文档、会议转写全部被摄取、分块、打分、提取实体,然后组织成一棵摘要树。Agent 回答问题时不只是做向量搜索,它可以在树上导航,从全局摘要一直钻取到原始分块。同样的数据还写成 Markdown 文件放进 wiki/ 目录,你可以用 Obsidian 打开浏览编辑,Agent 会看到你的修改。

痛点二:Agent 不会主动做事

你不开口,Agent 就不动。它不会帮你盯着邮箱,不会帮你跟进待办,不会在你睡觉的时候整理信息。

OpenHuman 的解法是 Subconscious Loop(潜意识循环)。一个后台心跳每 5 分钟跑一次,加载你的任务列表,读取工作区状态,用本地模型(Ollama)做评估,然后决定跳过、执行还是升级。只读任务用本地模型跑,写操作需要你明确要求过才行。如果 Agent 觉得需要做你没吩咐的写操作,会生成一个审批卡片等你确认。

还有一个晨报功能:Agent 每天早上根据你的时区生成一份简报,分 Highlights、Action items、Mentions、FYI 四个桶,安静的日子只显示一行"今天没什么急事"。

痛点三:冷启动问题

新对话的第一个问题,Agent 啥也不知道,得现查。你问"上周跟 Sarah 讨论的那个方案进展怎样了",它得先调一堆工具搜记忆、查日历、翻邮件,来回好几轮才回答。

OpenHuman 的解法是 SuperContext:每个新对话的第一轮,harness 自动派一个只读的 context_scout 子 Agent 去扫你的记忆树、工作区文件和已连接的集成。扫完的结果验证后直接拼在你的消息前面,orchestrator 模型看到的第一轮就已经有上下文了。scout 跑在 burst tier(便宜高吞吐模型)上,不耽误响应速度。

痛点四:隐私

云模型能看到你的所有数据。企业敏感信息、个人隐私通信,全走云端推理不放心。

OpenHuman 的解法是 Privacy Mode。不是 prompt 层面的"请勿泄露",是 Rust 核心代码里的硬门禁。开启 local_only 模式后,inference provider factory 直接拒绝构建任何云端 Provider,连 Claude Code 这类 CLI 代理也不行。只允许 Ollama、LM Studio、MLX、本地 OpenAI-compatible 端点。搭配内置的 Whisper 语音转文字和 Piper TTS,全程不出本机。

痛点五:Agent 之间不能协作

你的 Agent 活在你机器上,别的 Agent 活在别的机器上,互相不认识。

OpenHuman 的解法是 tiny.place:一个 Agent 社交网络和经济系统。你的 Agent 注册一个 @handle 身份,通过 Signal 协议端到端加密跟别的 Agent 通讯,用 x402 微支付 USDC/SOL 结算赏金和交易。Agent 可以接赏金任务、提交作品、获评审通过后收款,也可以发赏金找人干活。


架构设计

整体分层

OpenHuman 分五层,从上到下:

入口层:四种方式跟 Agent 交互。桌面 GUI(Tauri + React),17 个消息渠道(Telegram/Discord/Slack/WhatsApp/Signal/iMessage/Email 等),Meeting Agents(加入 Meet/Zoom/Teams/Webex 会议作为真实参与者),tiny.place Agent 经济(@handle 身份 + Signal A2A 通讯 + x402 USDC 支付)。

三大引擎层

  • Brain(记忆):Memory Tree + Obsidian Wiki 镜像
  • Orchestrator(编排):tinyagents 图执行 + Sub-agent 三层层级
  • Researcher(研究):SuperContext 零冷启动 + Web/Scraper/Browser/Voice 工具

Rust Core 层:Tauri v2 + Tokio 异步运行时,MCP JSON-RPC 工具协议,SQLite AES-256 加密存储,OS Keychain 凭据保护,rustls TLS 安全通信。Model Routing 按 hint 前缀自动选模型。TokenJuice 内容感知压缩对 JSON/Code/Log/Diff/HTML 各有专用压缩器。

子系统层:Workflows(可视化自动化)、Subconscious(后台心跳循环)、Skills(90k+ 技能库)、Approval Gate(写操作审批)、Privacy Mode(本地模式硬门禁)。

集成层:100+ OAuth 集成(Composio 托管),5000+ MCP 服务器,Auto-fetch 20 分钟同步,Local AI(Ollama/Whisper/Piper),Meeting(Recall 日历接入)。

Agent Harness:一个 turn 怎么跑

不管入口是用户消息、webhook 还是 cron tick,每个 turn 走同一条路径:

markdown 复制代码
inbound(用户消息/频道消息/webhook/cron)
  ↓
trigger triage(小模型分类:丢弃 / 通知 / 生成反应器 / 生成 orchestrator)
  ↓
Agent::turn()
  1. 恢复会话记录(如 fresh process,从磁盘重载 provider messages)
  2. 构建系统 prompt(仅首轮,后续轮复用以保持 KV-cache 前缀有效)
  3. 注入记忆上下文(Memory Tree 检索结果 + 引用来源)
  4. 进入工具调用循环
  5. 派发工具调用(工具执行 / sub-agent 生成)
  6. 上下文守卫 / 压缩
  7. stop-hook 检查(预算/迭代次数/自定义 kill switch)
  8. 最终助手文本
  ↓
post-turn hooks(后台异步:archivist 记忆蒸馏 / learning / cost log / episodic memory indexing)

工具调用循环最多跑 10 轮(可配),每轮:context guard → stop-hook check → provider call → parse response → if no tool calls return → execute tool calls → summarize oversize → append results → loop。

几个有意思的设计:

系统 prompt 只在首轮构建。后续轮复用,因为任何字节级改动都会让推理后端的 KV-cache 前缀失效,迫使完整重新 prefill。动态上下文(记忆检索结果、新学到的片段)作为用户消息内容追加,不插进系统 prompt。

超大工具结果走 summarizer 捷径 。Composio action 返回 200KB JSON、web scrape 返回 50KB Markdown 这种,不走硬截断(会丢信息),而是路由到一个 summarizer 子 Agent 做提取式压缩,父 Agent 只看到压缩后的摘要。原始数据存在 CCR (Compress-Cache-Retrieve) 里,Agent 可以用 tokenjuice_retrieve 按需取回完整原文。

TokenJuice 按内容类型分压缩器 。JSON 走 SmartCrusher(数组对象变表格,保留错误行和数值异常行),Code 走 tree-sitter 签名保留器(折叠函数体),Log 走 100 条规则引擎(git/cargo/npm 命令输出),Diff 保留变更 hunk 折叠未变更上下文,HTML 去标签转可读文本。每种压缩器有损压缩后原始内容 offload 到 CCR store,Agent 用 ⟦tj:<hash>⟧ 标记按需取回。

Sub-agent 三层层级

OpenHuman 是多 Agent 系统。跟你聊天的是 Orchestrator(策略级),它决定什么时候自己答、什么时候用工具、什么时候派专家子 Agent。

三层层级:

Tier 可以 spawn 不可以 spawn 典型成员
chat reasoning, worker 另一个 chat orchestrator
reasoning worker 另一个 reasoning, 任何 chat planner
worker 任何 researcher, code_executor, critic, archivist, tool_maker, integrations_agent

为什么这么分:

  • chat → chat 没意义:chat tier 存在是为了快速响应 UX,chat 生成 chat 只会翻倍首 token 延迟、白烧 token
  • reasoning → reasoning 会爆深度:reasoning tier 贵,链式 reasoning 倾向于重复分解同一问题,造成失控层级
  • worker → 任何东西会混淆执行和编排:worker 是叶子节点,父 Agent 只看到一个紧凑结果,不看到嵌套委派的记录

运行时还有 MAX_SPAWN_DEPTH = 3 硬上限,不管 TOML 怎么配,spawn 链深度不超过三层。

Subconscious Loop:后台思考

Subconscious 是 OpenHuman 区别于其他 Agent 产品的核心特性。它不是等用户发消息才工作,而是自己有一个心跳循环:

markdown 复制代码
Heartbeat(每隔几分钟)
  ↓
Subconscious Engine
  1. 加载到期任务
  2. 标记为进行中
  3. 构建情况报告(记忆 + 工作区)
  4. 用本地模型评估每个任务
  5. 执行决策(act / noop / escalate)
  6. 写结果到活动日志

三种决策:

  • Skip:现在没相关的事
  • Act:发现相关的事,执行
  • Escalate:需要更深的推理,交给云端 Agent

两种任务类型:系统任务(自动播种,不可删,比如"检查连接的 skills 有没有报错""检查新记忆有没有可执行项"),用户任务(UI 手动加,比如"检查紧急邮件""每天发摘要到 Slack")。

审批逻辑很精细:只有 Agent 想做你没明确要求过的写操作时才需要审批。你说"发摘要到 Slack"(写意图),Agent 发就发,不需要审批。你说"检查紧急邮件"(只读),Agent 检查就检查。但如果 Agent 检查完觉得该转发到团队群(你没要求的写操作),就得生成审批卡片等你确认。

Workflows:可视化自动化

Workflows 受 n8n 和 Zapier 启发,但有个关键区别:你不拖框,Agent 帮你画。

你在聊天里说"每当收到客户邮件就总结发到 Slack",Agent 用 propose_workflow 工具生成一个完整工作流图,聊天里出现一张 Workflow Proposal Card,用大白话写清每一步。你点 Save & enable 就跑起来了。

12 种节点类型:trigger(触发器)、agent(完整 Agent turn)、tool_call(工具调用)、http_request、code(JS/Python)、condition、switch、transform、split_out、merge、output_parser、sub_workflow。

四种触发器:Schedule(cron 定时)、App event(集成事件触发,比如新 Gmail 线程)、Manual(Run 按钮)、Resume(审批通过后继续)。

安全设计两条保证:

  • propose_workflow 只验证和描述候选图,不能自己创建或启用 flow
  • 从 proposal 到保存的唯一路径是你点 Save & enable,直接调 flows_create RPC,不经过 Agent

Memory Tree 详解

Memory Tree 是 OpenHuman 最核心的差异化能力,值得单独拆开讲。

写入路径

每个连接的数据源走同一条流水线:

第 1 步:Ingest(摄取) 。新消息/邮件/文档到达后,热路径把它规范化成 Markdown,切成不超过 3000 token 的分块(确定性 ID,重跑不会产生重复),跑一次快速打分,原子写入 SQLite,标记为 pending_extraction,排入后台队列。这一步不做 LLM 调用,只跑便宜启发式。

第 2 步:Job Queue(后台队列) 。持久化在同一个 SQLite 里,每种 job 有自己的类型:extract_chunk(深度打分 + 实体提取,决定 admit 还是 drop)、append_buffer(加入 L0 缓冲区,可能触发密封)、seal(压缩 L0 成 L1 摘要,级联向上)、topic_route(路由到 per-entity topic 树)、digest_daily(构建全局每日摘要)、flush_stale(强制密封超时缓冲区)。3 个后台 worker 并发处理,共享信号量限制并发 LLM 调用。

第 3 步:Tree State(树状态) 。同一批叶子流构建三棵独立树:Source Tree(每个来源一棵,L0 缓冲区满后密封成 L1 摘要,级联向上)、Entity Index(实体提取后建 co-occurrence graph,不新建表,纯 SELF-JOIN)、Global Tree(每天一个节点,按层级聚合)。

第 4 步:Obsidian Wiki 镜像 。同样的数据写成 Markdown 文件放进 wiki/ 目录。你可以用 Obsidian 打开浏览编辑加链接,Agent 会看到你的编辑。这是受 Karpathy 的 obsidian-wiki 工作流启发。如果你哪天不用 OpenHuman 了,这个文件夹就是个完整的个人 wiki。

读取路径

Agent 通过一个叫 memory_tree 的多模式工具检索记忆,7 种模式:

模式 用途
search_entities 模糊查找实体索引,把"Alice"解析成 person:alice
query_source 按来源 + 时间窗口检索摘要
drill_down 从摘要节点 BFS 往下钻
cover_window 找覆盖某时间段的最小节点集合("过去 24 小时发生了什么")
fetch_leaves 按 ID 批量取原始叶子块(最多 20 个)
ingest_document 写入文档到树里(唯一的写模式)
walk / smart_walk 确定性 E2GraphRAG 检索,不用 LLM,提取查询实体后在 co-occurrence graph 上路由

walk 模式值得一提:它不用 LLM,纯靠 spaCy NLP 提取查询实体,在 co-occurrence graph 上算跳数距离,然后做密集重排。一个自然语言问题进去,直接返回排序后的证据出来,不需要 Agent 多轮工具调用。

为什么用树不用向量数据库

向量数据库只能回答"跟这个 query 相似的是什么"。记忆需要回答更多:

  • "今天发生了什么?"(全局摘要)
  • "这个人最近怎样?"(topic 树,hotness 驱动)
  • "上周二下午 3 点 Stripe webhook 说了什么?"(source 树 + 来源追踪)

树给你压缩和导航两个能力。embedding 藏在树里面做语义搜索,但上面的结构让记忆用起来像大脑,不像一堆碎片。

Auto-fetch

每 20 分钟同步一次已连接的服务。Agent 的记忆始终保持新鲜,你睡觉的时候它也在消化你的新邮件和新消息。触发方式:自动(定时调度器)、手动(Memory tab 里点 Run ingest)、RPC(openhuman.memory_tree_ingest)。


安装部署

系统要求

Windows / macOS / Linux 桌面。4GB+ 内存,如果要处理大邮箱或大仓库,或者跑本地模型,建议 16GB+。

macOS 安装

bash 复制代码
brew tap tinyhumansai/core
brew install openhuman

Linux 安装(Debian/Ubuntu)

csharp 复制代码
# 从 GitHub Releases 下载 .deb 包
# OpenHuman_<version>_amd64.deb 或 _arm64.deb
sudo apt-get install -y --no-install-recommends ./OpenHuman_<version>_amd64.deb

Windows 安装

从 GitHub Releases 下载 MSI 安装包双击运行。或者用 PowerShell 脚本:

ruby 复制代码
irm https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.ps1 | iex

脚本安装(macOS / Linux)

ruby 复制代码
curl -fsSL https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.sh | bash

在 Debian/Ubuntu 上这个脚本会优先找 .deb 包用 apt-get 装,自动处理依赖。设 OPENHUMAN_INSTALLER_LINUX_PACKAGE=appimage 强制走 AppImage。

权限

首次启动时 OS 会弹权限请求:macOS 要 Accessibility(无障碍)和 Input Monitoring(输入监控,用于语音热键),如果要开 Meeting Agent 还要 Camera/Microphone。可以在 Settings 里随时调整。

首次配置

  1. 下载安装后打开 App
  2. 登录(社交登录或 Advanced 面板指向自定义 core RPC URL,自建后端的用户用)
  3. 连接 Gmail(OAuth 授权,第一个 auto-fetch tick 会在 20 分钟内跑)
  4. 等 Gmail 摄取完成后试第一条消息:"过去 12 小时有什么我需要知道的?"
  5. 打开 Obsidian Vault:Memory tab 有 View vault in Obsidian 按钮,点击打开 <workspace>/wiki/ 目录

工作区路径

默认 ~/.openhuman,可以用 OPENHUMAN_WORKSPACE 环境变量改。里面有:

路径 内容
memory_tree/chunks.db 分块、打分、摘要、实体索引、jobs、hotness
wiki/ Obsidian 兼容的 Markdown vault
agents/*.toml 自定义 Agent archetype
config.toml 配置文件
.env 环境变量

使用方法

对话模式

打开桌面 GUI,直接跟 Agent 聊。Agent 背后是 Memory Tree + SuperContext,你发消息之前它已经扫过你的记忆和文件了。

几个典型 prompt:

  • "过去 12 小时有什么我需要知道的?"
  • "有什么在等我的?"
  • "总结一下我今天错过了什么。"
  • "这周的关键决策有哪些?"
  • "从邮件和聊天里提取行动项。"
  • "Sarah 在邮件和聊天里分别说了什么关于这个项目的事?"

Workflows

聊天里说一句"每当收到客户邮件就总结发到 Slack",Agent 生成一个完整工作流图。你在画布上审核每一步,点 Save & enable 跑起来。

Workflows 页面 /flows 看所有 flow,每个有 enabled 开关、上次运行状态、Run 按钮。点进 /flows/:id 看只读画布视图。Run Inspector 抽屉展示每次运行的每一步:节点标签、输出、最终状态,每 2 秒刷新。

消息渠道

在 Connections -> Channels 里连接。17 个平台可选:

平台 凭据模式 特色
Telegram 托管或 BotFather token 最全功能:打字指示器、草稿更新、内联审批
Discord 托管或 bot token / OAuth 原生线程回复
Web 内置无需配置 本地富文本
iMessage 无需凭据(macOS) AppleScript 桥接,需 Full Disk Access
Slack bot token 通过 OAuth 连接
WhatsApp Meta Cloud webhook access token
Email IMAP IDLE + SMTP 原生自建,无第三方代理

Email 渠道有个安全注意:allowed_senders 是入站安全门。config.toml 里空列表表示拒绝所有,但 Connections UI 里空白字段默认 ["*"] 允许所有发件人。如果你不想让陌生人通过邮件触发你的 Agent,别留空。

Meeting Agents

Intelligence -> Meetings 页面。粘一个 Meet/Zoom/Teams/Webex 链接,Agent 作为真实参与者加入:有名字、有脸(mascot 动画作为摄像头画面)、有声音(TTS 直接注入会议音频流)。

它能做的:

  • 听到所有人说话(实时流式 STT,按说话人分轨,折叠进 Memory Tree)
  • 被点名时回答("Ghosty,拉一下上季度的数据")
  • 主动补充(如果觉得有有用信息可以加)
  • 会议中调用工具(查记忆、翻 Slack、搜网页、读文件)
  • 会后生成摘要和待办

日历自动加入:连一次 Google Calendar(只读 scope),Agent 看到你的日程可以自动加入会议。加入策略可配:每次问 / 总是 / 从不,可以按平台分(Zoom standup 自动加入,Teams 手动)。

唤醒词安全设计:只有配置的 call owner(或白名单里的人)能唤醒 Agent 进工具调用模式。非 owner 只能收到问候或礼貌拒绝。没配 owner 就永远不唤醒。

Subconscious 配置

Intelligence -> Subconscious 页面:

  • Enable / disable:开关后台循环
  • Tick interval:心跳间隔,默认 5 分钟(也是最小值)
  • Inference:是否每 tick 用本地模型评估任务
  • Context budget:情况报告的上下文预算
  • Active Tasks:系统任务(只读,带 default 徽章)+ 你的任务(可开关删除)
  • Approval Needed:待审批的琥珀色卡片
  • Activity Log:每次评估的彩色点 + 结果
  • Run Now:手动触发一次 tick

Skills 系统

90k+ 技能库,每个 skill 有 SKILL.md 元数据文件。跟 Hermes Agent 的 Skills 系统兼容。

/learn 命令让 Agent 自己生成 skill:粘一段笔记、给一个 URL、或口述一个流程,Agent 用标准 prompt 生成 skill 文件存到 ~/.hermes/skills/(或 OpenHuman 对应目录)。生成走的是 skill_manage 工具,如果开了 write-approval gate 还需要你确认。

Privacy Mode

Settings 里切换。三种模式:

模式 含义
standard(默认) 正常运行:云路由 + 自带 Provider + 本地模型都可用
local_only 不出一个字节推理到云端。Rust 核心拒绝构建任何外部 Provider。只允许 Ollama / LM Studio / MLX / 本地 OpenAI-compatible
sensitive 为即将到来的 PII 感知层做准备(检测、脱敏、目标披露)。当前行为同 standard

local_only 的检查在 src/openhuman/inference/provider/factory.rs,不在 prompt 层。代码里任何路径想访问云模型,在 local_only 模式下结构性地拿不到 client。

Model Routing

一个 OpenHuman 订阅,多个模型。不用单独配 Anthropic / OpenAI / Google 的 API key,后端代理访问,路由器按任务挑模型。

Hint 前缀路由:

Hint 典型目标 用途
hint:reasoning 强推理模型 多步规划、数学、代码密集 turn
hint:fast 快速便宜模型 UI 辅助、自动补全、小分类
hint:vision 视觉模型 截图、图片附件、OCR
hint:summarize 压缩擅长模型 Memory Tree 摘要构建
hint:code 代码模型 编码 turn
hint:burst 高吞吐低成本模型 SuperContext scout 预扫描

路由不是 UI 下拉菜单。Agent 循环本身根据要做什么发 hint。你不用选模型,任务自己选。

tiny.place:Agent 经济

Agent 不只活在你机器上,它还是 tiny.place 这个 Agent 社交网络的公民。

  • 注册 @handle 身份(付费、链上、可买卖可竞价)
  • 通过 Signal 协议 E2E 加密跟别的 Agent 通讯(身份密钥从钱包种子内存派生,不写磁盘)
  • x402 微支付 USDC/SOL 结算赏金和交易(每笔支付带签名用途,可审计)
  • 接赏金任务、提交作品、评审通过后收款
  • 发赏金找人干活,支持 model-council 评审模式
  • 身份和市场交易:浏览、购买、竞价、出价

Agent 间协作走 orchestration 层:paired Agent 之间通过 Signal DM 通讯,入站 session 走 split-brain wake graph(快速反射 Agent 秒级分类 + 深度推理核心做多步工作)。长 session 靠 20:1 历史压缩和 rolling world-state diff 保持有界。Subconscious 定期审查压缩历史和 world diff,注入 steering directive 保持对齐你的目标。


运用场景

场景一:个人助理

连接 Gmail + Slack + 日历 + Notion。每天早上 Agent 推晨报。你在桌面跟它聊"今天有什么会、跟谁、上次跟这人聊了什么"。Agent 从 Memory Tree 里捞记忆,SuperContext 已经预扫过了,第一轮就有答案。

场景二:会议参与者

Agent 加入你的 Google Meet standup。听所有人说话,被点名时回答"上周我们决定了什么"。会后自动生成摘要和行动项存进 Memory Tree。下次同一个项目的会议,它记得上次的承诺。

场景三:自动化工作流

"每当有客户邮件就总结发到 Slack #support 频道,紧急的标红色。"Agent 生成 Workflow 图,你审核后启用。每天 9 点 Agent 还会发一份摘要到你的 Telegram。如果 Agent 觉得某封邮件需要你回复(你没要求的写操作),会生成审批卡片。

场景四:隐私敏感场景

律师、医生、财务顾问。开 Privacy Mode local_only,用 Ollama 跑本地模型。所有推理不出本机。客户通信走 Email 渠道(IMAP IDLE + SMTP),不经过第三方代理。Memory Tree 加密存储在本地 SQLite。

场景五:Agent 间协作

你在做一个项目,需要一个研究 Agent 帮你查资料,但你的 OpenHuman Agent 擅长的是记忆和编排不擅长深度研究。你通过 tiny.place 发一个赏金任务,别的 OpenHuman 用户的 Agent 接单,完成后通过 Signal E2E 加密把结果传回来,x402 自动结算 USDC。

场景六:团队知识管理

团队每个人的 OpenHuman 连接相同的 Slack workspace 和 Notion space。各自的 Memory Tree 独立但有重叠。某天有人问"这个功能上次谁说要做来着",Agent 从 Memory Tree 搜到三条相关记忆(分别来自三个人的邮件/聊天/会议转写),带来源引用拼出完整答案。


跟 OpenClaw / Hermes 的对比

OpenHuman 被称为跟 OpenClaw、Hermes Agent 并行的利器。三者都是"个人 Agent"赛道的产品,但设计重心差别很大。

先说清楚三个项目的定位:

  • OpenHuman:桌面级个人 Agent 操作系统,Rust 核心,强调 Memory Tree 和本地优先
  • Hermes Agent(NousResearch):自我进化的个人 Agent,Python,强调 learning loop 和 Skills 自动生成
  • OpenClaw(OpenClaw Foundation):个人 AI 助手,TypeScript,强调多渠道接入和插件生态。383k Star 的超热门项目
维度 OpenHuman Hermes Agent OpenClaw
核心定位 桌面级 Agent OS,记忆优先 自我进化的 Agent,learning loop 优先 多渠道个人助手,接入优先
技术栈 Rust + TypeScript (Tauri v2) Python TypeScript (Node.js)
协议 GNU GPL v3 MIT MIT
记忆系统 Memory Tree 三级摘要树 + Obsidian Wiki 镜像 + 实体图 + 混合检索 MEMORY.md 文件 + Skills 自动沉淀 + 跨会话搜索 Memory 文件 + Builtin/QMD/Honcho 多引擎可插拔 + Dreaming 压缩
多 Agent tinyagents 图执行 + Sub-agent 三层层级 + Workflows Kanban 多 Profile 协作 + 任务板调度 Multi-agent routing + Parallel specialist lanes + Delegate architecture
消息渠道 17 个(Telegram/Discord/Slack/WhatsApp/Signal/iMessage/Email 等) 5 个(Telegram/Discord/WhatsApp/Signal/Email) 23+ 个(含 LINE/WeChat/QQ/Feishu/Matrix/IRC/Nostr 等区域和长尾平台,最全)
会议能力 Meet/Zoom/Teams/Webex 全平台,有脸有声音参与 Google Meet 插件,可加入会议转写
工作流自动化 tinyflows 可视化画布,12 种节点类型,Agent 生成 + 人类审批 Cron + Automation Blueprints 模板 Cron 定时 + Background Tasks + Task Flow 多步编排 + Hooks 事件钩子 + Standing Orders
语音能力 原生 push-to-talk + TTS + 进程内 Whisper STT 无原生语音 Talk Mode(STT + TTS),14 种语音
Agent 间通讯 tiny.place 社交网络,Signal E2E 加密 A2A Kanban 任务板(同机多 Profile) agent-send + 社区 A2A 插件(win4r 等),协议层仍在完善
Agent 经济 tiny.place @handle 身份 + x402 USDC 赏金/交易
隐私模式 Rust 核心硬门禁 local_only,拒绝所有云 Provider 无硬门禁 无硬门禁
后台思考 Subconscious Loop 心跳循环 + 晨报 Heartbeat 灵活调度 + Inferred Commitments
插件/技能生态 90k+ Skills + 5000+ MCP 服务器 72 内置 + 101 bundled + 85 社区 Skills ClawHub 插件市场 + npm 插件 + Skills Workshop + Self-learning
桌面体验 Tauri 原生桌面 GUI + 吉祥物动画 CLI 为主,Dashboard 可选 Gateway 控制面板 + WebChat UI
GitHub Stars ~12k ~35k ~383k

各自的差异化

OpenHuman 胜在"全"和"深":Memory Tree 是三者里最结构化的记忆系统,不是简单的文件或向量搜索,是三级摘要树 + 实体图 + 混合检索。Meeting Agents 是独一份的,别的产品做不到有脸有声音参与会议。Rust 核心的 Privacy Mode 硬门禁也是独有的。短板是 GPL v3 限制融合,移动端缺失,项目年轻生态还在建设。

Hermes Agent 胜在"进化":learning loop 是真正的差异化。Agent 完成困难任务后自动生成 Skill,下次遇到类似任务直接用。Kanban 多 Profile 协作比较成熟。短板是没有会议能力,消息渠道少,没有可视化工作流,记忆系统是文件级不如 OpenHuman 结构化。

OpenClaw 胜在"接入"和"生态":23+ 个消息渠道是三者最全的,覆盖 LINE/WeChat/QQ/Feishu 这些亚洲市场。ClawHub 插件市场 + npm 生态让社区贡献很活跃,383k Star 不是白来的。Memory 系统走多引擎可插拔路线(Builtin/QMD/Honcho),Dreaming 压缩机制也独特。短板是没有 Agent 经济,Agent 间通讯还在社区插件阶段,没有 OpenHuman 那种结构化的 Memory Tree。

三者可以互补吗

协议层面:OpenClaw(MIT)和 Hermes(MIT)可以双向融合。OpenHuman(GPL v3)可以吸收 MIT 项目的代码,但反过来不行。

Skills 层面:Hermes 和 OpenHuman 的 Skills 系统兼容(都遵循 agentskills.io 标准),OpenClaw 的 Skills Workshop 也是类似格式,三方 Skills 理论上可以互转。

实际组合建议:

  • 想要最强的记忆系统 + 会议能力:用 OpenHuman
  • 想要最强的 learning loop + Kanban 调度:用 Hermes
  • 想要最全的消息渠道 + 插件生态:用 OpenClaw
  • 想要协议安全(Apache 2.0 项目融合):用 OpenClaw 或 Hermes,OpenHuman 不行
  • 想要桌面体验 + 隐私硬门禁:用 OpenHuman

局限

  • GPL v3 协议传染性:不能融入 Apache 2.0 / MIT 项目。
  • 资源占用:Rust 核心内存控制还行,但跑本地模型(Ollama + Whisper + Piper)吃显存吃内存,16GB 是底线
  • 移动端缺失:官方文档说 Android/iOS/Web 不支持当前版本,只有桌面
  • 托管依赖:sign-in、model routing、managed OAuth、web search proxying 还是需要 OpenHuman 后端。想完全自建需要走 custom setup paths
  • 学习曲线:Workflows 画布、Subconscious 任务配置、Skills 系统这些功能要花时间摸索
  • 数据量敏感:大邮箱首次摄取很慢(几万封邮件),Memory Tree 摘要构建要时间

总结

OpenHuman 是目前个人 Agent 领域功能最全的产品之一。Rust 核心保证了性能和安全,Tauri 桌面框架避开了 Electron 的臃肿,Memory Tree + Obsidian Wiki 的组合让"Agent 的记忆"不再是黑箱。

它不是给开发者用的 CLI 工具,是给普通人用的桌面 Agent。你不需要懂编程就能用:装上、连 Gmail、跟它聊天、让它帮你开会、设几个 Workflow、开 Subconscious 让它盯着你的事。

如果你要在 Hermes 和 OpenHuman 之间选:Hermes 更轻、更开发者友好、learning loop 更成熟、MIT 协议更友好。OpenHuman 更全、更重、桌面体验更好、Memory Tree 更结构化、有 Agent 经济。两个都想要?Skills 系统兼容意味着可以部分混用,但完整融合受 GPL v3 限制。

如果用一句话总结:OpenHuman 想做你电脑上的 Agent 操作系统,不只是助手。

相关推荐
集芯微电科技有限公司1 小时前
各种大小尺寸TFT-LCD面板供电偏压电源方案IC
人工智能·单片机·嵌入式硬件·神经网络·生成对抗网络
renhongxia11 小时前
Scaling Law撞墙了吗?大模型的“规模法则”走向何方
人工智能·深度学习·机器学习·架构·机器人
东风破_1 小时前
Agent 一次返回多个 Tool Call,应该并行还是顺序执行?
人工智能
问商十三载1 小时前
大模型GEO内容更新频率:3个节奏规律提收录权重,零成本提30%引用率附更新计划表
前端·人工智能·机器学习
Summer-Bright1 小时前
AI 软件简报 07.11-07.15:DeepSeek天价融资、Copilot用户叛逃、中国AI新规落地
人工智能·软件工程·copilot
哦哦~9211 小时前
西湖大学吴泰霖团队|GenCP:跳出迭代求解,开创多物理耦合生成建模路线
人工智能·耦合·流体
2601_956319881 小时前
最新量化软件怎么选,先按能力短板匹配工具类型
人工智能·python
前端开发江鸟1 小时前
从 messages 看懂 Agent 的工具调用循环:Runtime 如何衔接模型与工具
人工智能
天天代码码天天1 小时前
PP-OCR Linux 部署不再折腾:OpenCV、ONNX Runtime、OpenVINO 三版本开箱即用
人工智能