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 操作系统,不只是助手。

相关推荐
jzshmyt3 小时前
我用 Python 从零“生成“了一个宇宙,然后让它观察自己(v14)
人工智能·pytorch·python·numpy·matplotlib·空间计算·scipy
LuTshoes3 小时前
spring ai 实战 手搓 PlaneExecuteAgent
java·人工智能·spring·ai
火山引擎开发者社区3 小时前
火山引擎 AgentKit 获评中国信通院 2026 智能原生软件“银弹”标杆实践
人工智能
米小虾3 小时前
RSI 走到哪一步了:拆开递归自我改进的三个可写面、五条定律,和那个没人做的对照实验
人工智能·agent
ACP广源盛139246256734 小时前
GSV9001E 国产 4K 视频处理器,AI 多模态可视化大屏多路画面合成方案解析
人工智能·硬件架构·国产芯片·ai服务器
长谷深风1114 小时前
评测AI Agent:三种裁判各司其职
java·大数据·开发语言·人工智能·ai agent
火山引擎开发者社区4 小时前
火山方舟Agent Plan上线最新生图生视频模型
人工智能
明志数科4 小时前
具身智能产业基础设施换挡:从算力本体到数据层的技术逻辑
人工智能·机器学习
gongfeng30004 小时前
福州企业级AI自动化获客解决方案品牌梳理与适用场景分析
运维·人工智能·自动化·g-claw ai员工
陈碧甫4 小时前
因果Agent的Memory在对话中的表现
人工智能