> For the complete documentation index, see [llms.txt](https://tinyhumans.gitbook.io/openhuman/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tinyhumans.gitbook.io/openhuman/zh/kai-fa-zhong/architecture.md).

# 架构

OpenHuman 系统的高层结构（桌面外壳、Rust 核心、记忆树、代理循环）。指向仓库中更深入的开发者架构。

OpenHuman 采用 GNU GPL3 开源。本页展示系统的高层结构；更深入的开发者架构位于 [深层架构参考](/openhuman/zh/kai-fa-zhong/architecture/architecture.md) 在仓库中。

## 结构

OpenHuman 是一个 **React + Tauri v2 桌面应用** 带有一个 **Rust 核心** 负责处理主要工作，而且与应用在同一进程中运行，而不是作为独立服务。

```
┌──────────────────────────────────────────────────────────────────┐
│ Tauri 外壳 (crates/openhuman-app/)                              │
│ • 窗口管理、操作系统集成、嵌入式核心生命周期（tokio 任务）│
│ • 全局热键、PTT/听写覆盖层、深度链接             │
└──────────────────────────────────────────────────────────────────┘
                     │ JSON-RPC（回环 HTTP） ↕
┌──────────────────────────────────────────────────────────────────┐
│ Rust 核心 (crates/openhuman-core/, 二进制 `openhuman-core`)      │
│ • Memory Tree 流水线                                           │
│ • 集成适配器 + 自动抓取调度器                    │
│ • 提供方路由器（模型路由）                                │
│ • TokenJuice 压缩                                         │
│ • 原生工具（搜索、抓取、文件系统、git，…）                       │
│ • 语音（输入 STT，输出 TTS，Meet 代理）                            │
└──────────────────────────────────────────────────────────────────┘
                     │
┌──────────────────────────────────────────────────────────────────┐
│ React 前端 (app/src/)                                        │
│ • 屏幕、导航                                            │
│ • 通过 `coreRpcClient` 与核心通信                             │
│ • 没有业务逻辑——仅负责展示                          │
└──────────────────────────────────────────────────────────────────┘
```

**逻辑所在：**

* **Rust 核心**. 所有业务逻辑：Memory Tree、集成、模型路由、工具、语音。权威来源。
* **Tauri 外壳**. 窗口管理、进程生命周期、IPC。只是承载层，不是功能所在。
* **React 前端**. 界面与编排。通过 JSON-RPC 调用核心： `coreRpcClient` `fetch()`es `http://127.0.0.1:<port>/rpc` 直接；只有非回环的纯文本-`http://` 运行时通过外壳的 `relay_http_rpc` 命令（即 `openhuman-rpc` HTTP 客户端）。

将核心以内嵌进程运行，而不是放在 socket 后面，这也是为什么同时运行很多智能体很便宜：没有每个智能体一个 OS 进程，也没有每个智能体一个 socket。参见 [性能](/openhuman/zh/kai-fa-zhong/performance.md) 了解相关测量，以及 [将 OpenHuman 作为嵌入式组件](/openhuman/zh/kai-fa-zhong/embedding.md) 了解如何在桌面应用之外将相同的核心作为库使用。

## 代码包

* `crates/openhuman-app/` - Tauri v2 桌面宿主；不包含在根 workspace 中，使用自己的 manifest 构建。
* `crates/openhuman-core/` - Cargo 包 `openhuman`: 业务域、JSON-RPC 服务器、CLI， `CoreBuilder`/`CoreRuntime`.
* `crates/openhuman-embed/` - 类型化库门面（`openhuman_embed::Runtime` / `Agent`，并带有 `Harness` 作为单智能体的简写），用于将核心嵌入到其他产品中。
* `crates/openhuman-rpc/` - 共享的 RPC 契约（`Outcome`, `unwrap_rpc`, `StructuredRpcError`）以及应用和 TUI 使用的 HTTP 客户端。
* `crates/openhuman-tui/` - 独立终端前端，以进程内方式启动核心。

完整表格位于“Repository layout”中的 [深层架构参考](/openhuman/zh/kai-fa-zhong/architecture/architecture.md).

## 数据流

1. **连接**. 通过 OAuth 登录到一个 [集成](/openhuman/zh/gong-neng/integrations.md). 后端存储令牌；核心从不以明文看到它。
2. **自动抓取**. 每二十分钟， [调度器](/openhuman/zh/gong-neng/obsidian-wiki/auto-fetch.md) 会遍历所有活跃连接，并要求每个原生提供方同步。
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](/openhuman/zh/gong-neng/token-compression.md) 再进入 LLM 上下文。
10. **路由**. 该 [路由器](/openhuman/zh/gong-neng/model-routing.md) 会根据任务提示选择合适的提供方和模型，这是多个 [可插拔引擎](/openhuman/zh/kai-fa-zhong/engines.md) 之一，由核心在运行时选择。

## 隐私边界

留在你的机器上：

* Memory Tree 的 SQLite 数据库。
* Obsidian Markdown 库。
* 音频采集缓冲区以及任何本地模型状态。

通过 OpenHuman 后端（一个订阅，以及供嵌入者使用的一个 TinyHumans API 密钥）：

* LLM 调用（模型提供方）。
* Web 搜索代理。
* 集成 OAuth 和工具代理转发。
* TTS 流式传输。

参见 [隐私与安全](/openhuman/zh/gong-neng/privacy-and-security.md) 以了解完整情况，以及 [一个 TinyHumans API 密钥](/openhuman/zh/kai-fa-zhong/tinyhumans-api-key.md) 了解这一个密钥涵盖哪些内容。

## 开源

* **仓库：** [github.com/tinyhumansai/openhuman](https://github.com/tinyhumansai/openhuman). GNU GPL3。
* **问题和 PR** 都欢迎。该项目仍处于早期测试阶段。
* 对于贡献者，权威开发指南是 [深层架构参考](/openhuman/zh/kai-fa-zhong/architecture/architecture.md).
