For the complete documentation index, see llms.txt. This page is also available as Markdown.

架构

OpenHuman 系统的高层形态(桌面外壳、Rust 核心、Memory Tree、智能体循环)。指向仓库中更深入的开发者架构说明。

OpenHuman 采用 GNU GPL3 开源。本页展示系统的高层结构;更深入的开发者架构位于 深度架构参考 在仓库中。

结构

OpenHuman 是一个 React + Tauri v2 桌面应用 ,并带一个 Rust 核心 负责处理核心工作。

┌──────────────────────────────────────────────────┐
│ Tauri 外壳 (app/src-tauri/) │
│ • 窗口管理、操作系统集成、sidecar 生命周期 │
│ • 用于集成提供方的 CEF 子 webview │
└──────────────────────────────────────────────────┘
 │ JSON-RPC (HTTP) ↕
┌──────────────────────────────────────────────────┐
│ Rust 核心 (`openhuman` 二进制, `src/`) │
│ • Memory Tree 管道 │
│ • 集成适配器 + 自动抓取调度器 │
│ • 提供方路由器(模型路由) │
│ • TokenJuice 压缩 │
│ • 原生工具(搜索、抓取、文件系统、git 等) │
│ • 语音(输入 STT、输出 TTS、Meet 代理) │
└──────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────┐
│ React 前端 (app/src/) │
│ • 界面、导航 │
│ • 通过 `coreRpcClient` 与核心通信 │
│ • 不包含业务逻辑——仅负责展示 │
└──────────────────────────────────────────────────┘

逻辑所在:

  • Rust 核心。全部业务逻辑。Memory Tree、集成、模型路由、工具、语音。权威来源。

  • Tauri 外壳。窗口管理、进程生命周期、IPC。只是承载层,不是功能所在。

  • React 前端。UI 与编排。通过 JSON-RPC 调用核心。

数据流

  1. 连接。通过 OAuth 连接到一个 集成。后端存储令牌;核心绝不会以明文看到它。

  2. 自动获取。每二十分钟, 调度器 会遍历每个活跃连接,并请求每个原生提供方同步。

  3. 规范化。提供方输出(邮件页面、GitHub diff、Slack 频道转储)会被规范化为带来源标记的 Markdown。

  4. 分块。Markdown 会被拆分为不超过 3k token 的确定性块。

  5. 存储。块会存入 SQLite(<workspace>/memory_tree/chunks.db)以及作为 .md 文件,保存于 <workspace>/wiki/.

  6. 评分。后台工作线程运行嵌入、实体抽取和热度评分。

  7. 总结。来源 / 主题 / 全局摘要树由块池构建并刷新。

  8. 检索。当你提问时,代理会查询 Memory Tree(搜索 / 下钻 / 主题 / 全局 / 获取)。

  9. 压缩。工具输出和大型源数据会先经过 TokenJuice ,再进入 LLM 上下文。

  10. 路由路由器 会根据任务提示选择合适的提供方+模型。

隐私边界

保留在你的机器上:

  • Memory Tree 的 SQLite 数据库。

  • Obsidian Markdown 笔记库。

  • 音频采集缓冲区以及任何本地模型状态。

会经过 OpenHuman 后端(在一个订阅之下):

  • LLM 调用(模型提供方)。

  • 网页搜索代理。

  • 集成 OAuth 和工具代理。

  • TTS 流式传输。

另见 隐私与安全 以了解完整情况。

开源

最后更新于