> 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/developing.md).

# 概览

从源码构建、运行、测试并发布 OpenHuman。

OpenHuman 在 GPLv3 许可证下开源于 [github.com/tinyhumansai/openhuman](https://github.com/tinyhumansai/openhuman). 本节面向贡献者以及任何从源代码运行 OpenHuman 的人。

如果你只是想使用该应用，请前往 [快速入门](/openhuman/zh/gai-lan/getting-started.md). 如果你是来阅读架构、动手开发功能或提交 PR，那你来对地方了。

***

## 各部分所在位置

| 路径          | 内容                                                                                                                                                                                                                                          |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `app/`      | pnpm 工作区 `openhuman-app`. Vite + React 前端（`app/src/`）以及 Tauri 桌面宿主（`crates/openhuman-app/`).                                                                                                                                                |
| `crates/`   | Rust crates： `openhuman-core` (库 `openhuman_core` + 以及 `openhuman-core` CLI 二进制；领域位于 `src/<domain>/`，JSON-RPC、MCP 路由）， `openhuman-app` （Tauri 宿主）， `openhuman-embed` （库门面）， `openhuman-rpc` （共享 RPC 契约 + HTTP 客户端）， `openhuman-tui` （终端前端）。 |
| `gitbooks/` | 本网站（面向公众的文档）。                                                                                                                                                                                                                               |
| `docs/`     | 内部维护者文档：测试覆盖率矩阵、发布冒烟检查清单、库基准测试与最小示例说明、已翻译的 README， `community/`.                                                                                                                                                                            |

`AGENTS.md` 位于仓库根目录，是在该代码库上工作的 AI 代理的唯一事实来源（`CLAUDE.md` 是指向它的符号链接）。同样的规则也适用于人类。

***

## 从这里开始

如果这是你第一次拉取该仓库：

1. [**环境设置**](/openhuman/zh/kai-fa-zhong/getting-set-up.md). 工具链、依赖项、Tauri CLI——一切 `pnpm dev` 都需要真正启动。
2. [**构建 Rust 核心**](/openhuman/zh/kai-fa-zhong/building-rust-core.md). 仅针对 Rust 工作区的新机器设置：固定工具链、操作系统包，以及精确的 `cargo` 命令。
3. [**架构**](/openhuman/zh/kai-fa-zhong/architecture/architecture.md). 桌面应用、进程内 Rust 核心、JSON-RPC 桥以及双套接字如何协同工作。在进行非平凡修改之前请先阅读。
4. [**前端**](/openhuman/zh/kai-fa-zhong/architecture/frontend.md) 和 [**Tauri Shell**](/openhuman/zh/kai-fa-zhong/architecture/tauri-shell.md). React 应用及其外层的桌面宿主。
5. [**MCP 服务器**](/openhuman/zh/kai-fa-zhong/mcp-server.md). 可选的 stdio MCP 模式，用于向本地客户端暴露只读的 OpenHuman 记忆工具。

***

## 测试

OpenHuman 随附三层测试。要知道你的改动属于哪一层：

* [**测试策略**](/openhuman/zh/kai-fa-zhong/testing-strategy.md). 何时编写 Vitest、cargo 测试或 WDIO 测试。
* [**端到端测试**](/openhuman/zh/kai-fa-zhong/e2e-testing.md). WDIO/Appium 规范、双平台设置（Linux tauri-driver、macOS Appium Mac2），以及如何在本地运行单个规范。
* [**代理可观测性**](/openhuman/zh/kai-fa-zhong/agent-observability.md). 让端到端和代理运行在事后可调试的制品捕获层。

PR 必须通过 **变更行覆盖率 ≥ 80%** 门槛。为新行为添加测试，而不仅仅是正常路径。

***

## 发布

* [**发布政策**](/openhuman/zh/kai-fa-zhong/release-policy.md). 版本策略、发布节奏、OAuth + 安装程序规则。
* [**云端部署**](/openhuman/zh/gong-neng/cloud-deploy.md). 当变更跨越桌面边界时的后端/云端部署。

***

## 深入了解

* [**Agent Harness**](/openhuman/zh/kai-fa-zhong/architecture/agent-harness.md). 基于 tinyagents 的回合循环（检查点、断路器、子代理交接、日志/重放）以及如何扩展工具表面。
* [**工作流**](/openhuman/zh/gong-neng/workflows.md). 由 tinyflows 支持的 `flows` 领域：触发器、信任来源、需审批的运行，以及 `flows_*` RPC 接口。
* [**钩子**](/openhuman/zh/kai-fa-zhong/hooks.md). 由用户拥有的脚本，在工具执行前、文件编辑后或回合结束时运行。
* [**Chromium 嵌入式框架**](/openhuman/zh/kai-fa-zhong/cef.md). 来自 CEF 时代的历史设计说明；当前外壳运行在原生 Tauri（Wry）上。

***

## 贡献

* 在以下处查看开放的 issue 和 PR： [tinyhumansai/openhuman](https://github.com/tinyhumansai/openhuman).
* PR 目标分支为 `main`. 推送到你的 fork，而不是上游仓库。
* 遵循 [`CONTRIBUTING.md`](https://github.com/tinyhumansai/openhuman/tree/main/CONTRIBUTING.md) 以及 issue/PR 模板。
* 保持改动聚焦。修复 bug 不需要顺带清理周边代码；一次性操作不需要额外的辅助函数。

助力迈向 AGI 并不一定意味着要交付一个内核——修复 bug、文档、集成和测试都能提升门槛。
