RepoDaily · 2026-08-25 · Infrastructure / Runtime

OpenHuman:用 Rust 打造的本地优先个人 AI 大脑

#11 Infrastructure / Runtime Rust +515 tinyhumansai/openhuman 打开仓库

OpenHuman 单日拿下 515 星、排名第 11。这是一个早期 Beta 的 GPL-3.0 Tauri 桌面应用:Rust 内核负责本地优先的人生记忆、Agent 舰队编排与深度研究。

项目类型Infrastructure / Runtime
最适合希望把个人记忆、Agent 编排和深度研究全部跑在自己电脑上的开发者与重度用户。
风险等级高——早期 Beta,仅最新版与上一级次要版本获得安全补丁。
评估时间开发环境就绪时约 2–4 小时;Windows 首次搭建接近半天。

核心问题: 一个早期 Beta、GPL-3.0 的桌面运行时,是否适合承载你人生的全部记忆?

87/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 87/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 高
100证据质量

包含 6 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

100可安装/可试用性

检测到 5 个工作流步骤、5 个下一步动作,以及 5 个命令/安装信号。

54维护可信度

趋势热度为 +515 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

77生产准备度

采纳风险标记为 high,并包含 5 条安全说明与 4 条跳过条件。

100差异化

3 个机会视角、5 个替代方案,以及 4 个类型化模块支撑差异化判断。

82许可证清晰度

文章中包含许可证来源或许可证表述。

90Agent / AI 适配度

文章正文和元数据中检测到 7 个 AI/Agent 相关信号。

项目概览

2026-08-25,tinyhumansai/openhuman 以 515 颗星排在 GitHub 趋势榜第 11 位,口号相当直白:“你的个人 AI 超级智能:一个记得一切的头脑、一个出色的编排器、一个深度研究者。本地优先、简单、强大。”仓库描述把它拆成三大支柱——本地优先的人生记忆、Agent 舰队与工作流的编排器、深度研究者。

这个仓库支撑口号的不是一层提示词封装,而是一个真实的桌面运行时。主语言是 Rust;应用是 Tauri 桌面外壳,前端 TypeScript 位于 openhuman-app 工作区,Rust 后端在 app/src-tauri 下,crate 名就叫 openhuman——这一点从 rust:clippy 脚本里的 cargo clippy -p openhuman 可以直接看出。根 package.json 的 resolutions 把 @tauri-apps/api 钉在 2.11.1,并通过 packageManager 字段(含 sha512 哈希)强制使用 pnpm 10.10.0。

许可证是任何想在其上构建的人必须先看清的事实:LICENSE 文件是完整的 GNU GPL v3 全文。对个人使用和向上游贡献没有障碍,但要把代码嵌进闭源产品就会受限,这直接决定了谁会采用它。

项目对成熟度很坦诚。README 状态徽章写着 early beta;SECURITY.md 的支持版本表只覆盖 Latest 和 Previous minor——旧版本可能不再收到补丁。漏洞报告走私密邮件(而非公开 issue),通常 5 个工作日内确认;披露范围明确覆盖前端、Tauri/Rust 后端或 skills 运行时的远程代码执行,以及 npm 与 Cargo 依赖链。

这波热度是有组织推进的结果:README 挂着 Trendshift 徽章(仓库 23680)和四个 Product Hunt 徽章(帖子 1136902 的日榜、周榜及两个话题周榜),并提供了简体中文、日语、韩语、德语、乌尔都语五种翻译。真正的问题是:515 个点星的人里,有多少能扛过 CONTRIBUTING.md 里那份工具链安装清单。

解决什么问题

  • 聊天助手会话之间即失忆,而它保留的上下文存在别人的服务器上。
  • 跑多个 Agent 或一条多步研究线程,通常要自己拼接模型 API、向量存储和编排库。
  • 一个人的记忆——消息、笔记、文档——值得一个把数据留在本机、绝不用于训练的桌面运行时。
  • OpenHuman 给出的答案是同一个“大脑”:记得一切、会编排、会研究,并把本地优先当作设计约束。

工作原理

  1. 启动 Tauri 桌面应用:openhuman-app 前端(Node ≥24,TypeScript)负责界面,app/src-tauri 下的 Rust 内核承担重活。仓库甚至以 git 子模块形式内嵌了打过补丁的 Tauri 源码,用于支持 CEF 的 CLI 与通知插件修复。
  2. 内核从你的资料构建本地优先的记忆。SECURITY.md 声明消息内容按请求处理,不为训练或长期存储而保留。
  3. 你派出 Agent 舰队与研究任务;skills 在有明确边界的沙箱环境中执行,维护者会尽可能审查 skills 行为及其依赖。
  4. 密钥绝不落明文——桌面应用把凭据存入系统级存储,例如 macOS Keychain 或 Windows 凭据管理器。
  5. 界面与 README 的三张图对应:工作流画布对应编排、记忆图对应上下文构建、编排图对应舰队调度;头图被标注为 The Tet。

产品演示与界面预览

OpenHuman workflow canvas
OpenHuman 工作流画布 — README 中的画布截图展示了被编排的多步任务在界面上如何铺开。 README.md image
OpenHuman context-building diagram
记忆 — 官方记忆示意图,帮助读者判断“本地优先记忆”这一核心主张。 README.md image
OpenHuman orchestration diagram
OpenHuman 编排图 — 在读 Rust 源码之前,先看清编排器如何调度 Agent 舰队。 README.md image
The Tet
The Tet — README 头图被标注为 The Tet,是这个助手项目的视觉标识。 README.md image

目录结构读出的架构:Tauri 外壳、Rust 内核、CEF 助手

根 package.json 把仓库命名为 openhuman-repo,所有命令经 pnpm 10.10.0 过滤进 openhuman-app 工作区。桌面外壳是 Tauri:app/src-tauri 托管 crate 名为 openhuman 的 Rust 后端,仓库还在 app/src-tauri/vendor/ 下以 git 子模块内嵌打过补丁的 Tauri 源码——包括支持 CEF 的 Tauri CLI 与通知插件补丁。根目录 resolutions 把 @tauri-apps/api 钉在 2.11.1。

原生依赖解释了构建的重量:语音用的 Whisper 绑定需要 CMake;内嵌的 CEF 助手在 macOS 和 Windows 上需要 Ninja——CONTRIBUTING.md 明确警告缺了它 cef-dll-sys 构建脚本会直接中止。这套栈沉重但清晰:TypeScript 前端、Rust 内核、需要时的内嵌 Chromium。

架构文档靠代码而非自觉来保鲜。package.json 提供 docs:generate 与 docs:check(scripts/generate-architecture-docs.mjs),gitbooks/developing/architecture.md 可在 CI 中重新生成并校验,而不是慢慢腐烂;CONTRIBUTING.md 还把贡献者指向 AGENTS.md 与 CLAUDE.md 的仓库级编码规则。

贡献者真正会敲的命令

  • pnpm dev:app——以开发模式启动桌面应用(Windows 用 dev:app:win);dev:cef 针对 CEF 构建,dev:staging 运行 scripts/dev-staging.sh。
  • pnpm rust:clippy——先跑 cargo clippy -p openhuman -- -D warnings,再跑应用工作区自己的 clippy;警告即错误。
  • pnpm test:rust 与 bash scripts/test-rust-e2e.sh——Rust 单测与端到端套件;test:rust:e2e:coverage(check-domain-e2e-coverage.mjs)把关领域覆盖。
  • pnpm mock:api——node scripts/mock-api-server.mjs,在前端开发时代替后端服务。
  • pnpm agent-batch——node scripts/agent-batch/cli.mjs,一个批量运行 Agent 的 CLI,在 scripts/agent-batch/__tests__ 下有配套测试。
  • pnpm release:notes——scripts/release/generate-release-notes.mjs;变更日志由脚本生成,预览模式会从最新 release 到 main 写出 CHANGELOG.preview.md。
  • pnpm i18n:check——tsx scripts/i18n-coverage.ts 校验五种 README 翻译背后的多语言覆盖。
  • pre-push 钩子(lint:commands-tokens)用 ripgrep 扫描 app/src/components/commands/;没装 rg 的话 git push 会以 rg: command not found 失败。
  • 移动端与性能目标也在:tauri:ios:init、tauri:android:init 分别调用 scripts/ios-init.sh 和 scripts/android-init.sh;profile:tauri 运行 app/src-tauri/profiling/Cargo.toml 里的 Rust 性能分析程序。

系统要求:比一般桌面应用重得多

  • 钉死的工具链:rust-toolchain.toml 中的 Rust 1.96.1(rustfmt 与 clippy 为必需组件)、app/package.json 的 Node ≥24.0.0、根 package.json 的 pnpm 10.10.0。
  • CMake 为 Whisper 绑定等原生 Rust 依赖所需;Ninja 在 macOS 和 Windows 上构建内嵌 CEF 助手时必需。
  • pre-push 检查需要 ripgrep;macOS 需要 Xcode 命令行工具;Linux 需要各发行版要求的 GTK/WebKit/AppIndicator 构建包。
  • Windows 还要装 Visual Studio C++ Build Tools——约 5.4 GB 装在 C 盘,含 MSVC v143 与 Windows 11 SDK;CONTRIBUTING.md 要求按顺序安装并在每步后重启终端。
  • app/src-tauri/vendor/ 下的 Tauri 子模块必须就位,否则支持 CEF 的 Tauri CLI 与通知插件补丁无法构建。

值得掂量的 Beta 信号

  • README 状态徽章写着 early beta,Latest Release 徽章指向 GitHub releases——版本频繁变动应当被预期。
  • SECURITY.md 支持版本表:Latest 与 Previous minor 有补丁,Older 没有。日常使用者必须紧跟每个版本。
  • 对一个 Beta 项目而言流程纪律罕见地高:脚本生成的 release notes、由 docs:check 校验的架构文档、领域级 e2e 覆盖门禁、PR 检查清单脚本、把 main 合入开放 PR 的助手,甚至给 Windows 安装脚本配了 Pester 测试(OpenHumanWindowsInstall.Tests.ps1)。
  • 社区渠道有五个(Discussions、Discord、Reddit、X、Product Hunt),但 README 把单一创作者 @senamakel 放在最前面——巴士因子是长期风险。

谁适合关注

适合关注

  • 熟悉 pnpm 与 Rust、想通读一个 GPL-3.0 下成型 Tauri + Rust Agent 运行时的开发者。
  • 坚持隐私优先、希望助手的记忆留在自己磁盘而不是厂商云端的个人用户。
  • 任何水平的贡献者:CONTRIBUTING-BEGINNERS.md、按类别引导提问的 SUPPORT.md、以及成文的 Discussions 分流文档都降低了上手门槛。
  • 正在研究 skills 沙箱与系统钥匙串凭据存储如何在已发布桌面应用中落地的人。

可以先跳过

  • 需要长期稳定支持版本来承载不可替代个人数据的人——只有 Latest 与 Previous minor 收到安全更新。
  • 打算把 OpenHuman 嵌入闭源产品的团队;GPL-3.0 的著佐权约束衍生分发。
  • C 盘拿不出约 5.4 GB 装 Visual Studio C++ Build Tools 的 Windows 用户。
  • 不愿为了从源码运行而装齐 Rust 1.96.1、Node 24、pnpm 10.10.0、CMake、Ninja、ripgrep 的用户。

风险与注意事项

高

早期 Beta、仅两个版本窗口的安全补丁、单一 foregrounded 创作者、沉重的构建栈,决定了它更适合研究与共建,而不是承载关键个人数据的日常主力。

  • README 状态徽章为 early beta。
  • SECURITY.md 仅支持 Latest 与 Previous minor;旧版本可能不收补丁。
  • README 突出单一创作者 @senamakel,即便有五个社区渠道,巴士因子仍然存在。
  • 构建需要 Rust 1.96.1、Node ≥24、pnpm 10.10.0、CMake、Ninja、ripgrep、内嵌 Tauri 子模块,Windows 上还要约 5.4 GB 的 Visual Studio 工具。
  • GPL-3.0 限制了公司在其产品中复用这些代码的方式。
  • 凭据存入系统级存储(如 macOS Keychain、Windows 凭据管理器);SECURITY.md 明确否认明文存储密钥。
  • 消息内容按请求处理,不为训练或长期存储而保留。
  • skills 在有明确边界的沙箱中运行;维护者尽可能审查 skills 行为与依赖。
  • 漏洞披露范围点名认证/授权绕过、数据外泄,以及前端、Tauri/Rust 后端、skills 运行时的远程代码执行,外加 npm 与 Cargo 依赖链。
  • 报告走私密邮件、不开公开 issue;通常 5 个工作日内确认;对善意研究者声明了安全港。

替代方案比较

方案适用场景代价
Letta
想要一个可自托管、可扩展的持久 Agent 记忆框架。开源,自托管免费。
mem0
只需要一个可挂进自有 Agent 栈的专用记忆层,而非完整桌面大脑。开源核心加付费云服务。
Khoj
想要一个自托管个人助手,对你的笔记和文件建索引做搜索与对话。开源,自托管免费。
AnythingLLM
只想要更简单的本地文档桌面问答,不需要 Agent 舰队。开源桌面应用。
云端助手(ChatGPT、Claude)
接受服务端记忆,以换取零安装和打磨过的交互。按月订阅。

这个趋势说明了什么

能跨越重启的本地记忆

差异化主张是“人生记忆存在你的机器上”,与 README 记忆图相呼应。若持久化与召回真能兑现,它就占据了云端助手因隐私而让出的位置。

构建应用,喂入一周的笔记,重启桌面进程,检查大脑还记得多少。

少见的学生贡献者通道

CONTRIBUTING-BEGINNERS.md、SUPPORT.md 分流、Discussions 处理文档、脚本生成的 release notes、覆盖五种语言的 i18n:check,都表明维护者要的是外部贡献而不只是星标。

从 README 里选一个语言(zh-CN、ja-JP、ko、de、ur-pk),运行 tsx scripts/i18n-coverage.ts,修掉最大的覆盖缺口。

skills 沙箱即信任边界

一切取决于第三方 skills 是否真被限制在沙箱内;SECURITY.md 的披露范围表明维护者把 skills 运行时的 RCE 视为灾难性失效模式。

阅读 app/src-tauri 下的沙箱实现,再运行一个尝试越界写文件系统的 skill,观察拒绝行为。

下一步建议

先搭好开发栈、读完架构文档,再决定是否托付数据

判断一个早期 Beta 运行时最快的方式,是在本地把它立起来并检查各处接缝:前端契约、Rust 内核、skills 边界、记忆持久化。

  1. 用 rustup 安装 Rust 1.96.1(rustfmt 与 clippy 为必需组件),外加 Node ≥24 与 pnpm 10.10.0。
  2. 补齐 CMake、macOS/Windows 上的 Ninja、ripgrep;macOS 装 Xcode 命令行工具,Linux 装 GTK/WebKit/AppIndicator 系列包。
  3. 带子模块克隆——支持 CEF 的内嵌 Tauri 源码位于 app/src-tauri/vendor/。
  4. 运行 pnpm dev:app(Windows 用 dev:app:win)启动桌面应用,再跑 pnpm rust:clippy 确认工具链干净构建。
  5. 阅读 gitbooks/developing/architecture.md,并运行 pnpm mock:api 观察前端如何对着替身后端开发。

RepoDaily 判断

一个文档罕见完善的 Beta:GPL-3.0 的 Rust 桌面运行时,本地优先记忆、沙箱 skills、系统钥匙串存凭据,发布工程水平超过多数早期项目——但只有最新版与上一级次要版本收安全补丁,所以先把它当作可以研读与共建的机器,还不要当作人生数据的保险库。

信息来源