跳到主要内容

平台与可用性

OpenHuman 是一个原生桌面应用,使用 React + Tauri v2 构建,搭配 Rust 核心,体积小、启动快、不打扰您的工作。

支持的平台

平台架构分发方式
macOSIntel、Apple Silicon.dmg 安装包、Homebrew
Windowsx64、ARM64.msi 安装包
Linuxx64AppImage、.deb、AUR 包 (openhuman-bin)

Linux AppImage 说明

Linux AppImage 为 x64 桌面构建,在启用了更严格非特权用户命名空间或 AppArmor 默认值的新发行版上,AppImage 启动可能会失败。常见症状:

  • unlink: write failed /proc/self/uid_map: Operation not permitted
  • Interpreter 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 更新会同时升级两者。

下一步