平台与可用性
OpenHuman 是一个原生桌面应用,使用 React + Tauri v2 构建,搭配 Rust 核心,体积小、启动快、不打扰您的工作。
支持的平台
| 平台 | 架构 | 分发方式 |
|---|---|---|
| macOS | Intel、Apple Silicon | .dmg 安装包、Homebrew |
| Windows | x64、ARM64 | .msi 安装包 |
| Linux | x64 | AppImage、.deb、AUR 包 (openhuman-bin) |
Linux AppImage 说明
Linux AppImage 为 x64 桌面构建,在启用了更严格非特权用户命名空间或 AppArmor 默认值的新发行版上,AppImage 启动可能会失败。常见症状:
unlink: write failed /proc/self/uid_map: Operation not permittedInterpreter not found!cannot execute binary file
遇到这种情况时,在 Debian/Ubuntu 系统上优先使用 .deb 包。
为什么是原生应用
OpenHuman 选择原生桌面应用而非网页封装,基于三个原因:
体积小。 比典型通讯工具小很多。一秒内启动,内存占用极低。
启动快。 无需初始化浏览器引擎。立即准备接受请求。
系统级安全。 凭证存储在平台的密钥链中——macOS Keychain、Windows Credential Manager、Linux Secret Service。敏感数据永不存储在浏览器存储或纯文本文件中。
系统架构概览
┌──────────────────────────────────────────────────┐
│ Tauri shell - 窗口管理、系统集成 │
└──────────────────────────────────────────────────┘
│ JSON-RPC ↕
┌──────────────────────────────────────────────────┐
│ Rust core (`openhuman` sidecar) │
│ • 记忆树、集成、自动抓取 │
│ • 模型路由、TokenJuice、原生工具 │
│ • 语音(STT 输入、TTS 输出、会议助手) │
└──────────────────────────────────────────────────┘
│
┌──────────────────────────────────────────────────┐
│ React 前端 - 界面、导航 │
└──────────────────────────────────────────────────┘
Shell 是交付工具(窗口化、进程生命周期、IPC)。所有产品逻辑位于 Rust 核心。React 前端通过 JSON-RPC 与核心通信。
远程/无头使用
Linux 服务器可以托管 Rust 核心,无需桌面会话。生产形态是远程 openhuman-core JSON-RPC 服务,加上配置了该核心 URL 和 bearer token 的本地桌面客户端。
私有浏览器 UI 可以通过 Vite 前端开发/预览服务实现,但桌面专属功能(系统托盘、原生 deep link、CEF 账户扫描器、系统密钥链访问、窗口/屏幕集成)仍需要 Tauri 应用。
实时通信
桌面应用保持与 OpenHuman 后端的持久连接。响应在生成时流式传输;输出渐进显示,而非等待后一次性显示。
离线行为
您的本地状态保存在设备上。偏好设置、配置和连接源配置在离线时保持可用。记忆树完全可访问,您可以在无网络连接时浏览 Obsidian 保险库并阅读现有笔记。
自动抓取和实时 LLM 调用需要网络连接。网络恢复后,下一个 20 分钟 tick 从中断处继续。
自动更新
桌面 shell 通过 Tauri 的更新器插件自动更新,对抗 GitHub Releases 上发布的清单。OpenHuman 核心 sidecar 捆绑在同一包中,因此 shell 更新会同时升级两者。