---
description: 从源码构建、运行、测试和发布 OpenHuman。
icon: code-branch
lang: zh-CN
---

# 概览

OpenHuman 在 [github.com/tinyhumansai/openhuman](https://github.com/tinyhumansai/openhuman) 以 GPLv3 协议开源。本节面向贡献者和所有从源码运行 OpenHuman 的人。

如果你只是想使用应用，请前往[快速开始](../overview/getting-started.md)。如果你来这里是为了阅读架构文档、hack 一个新特性，或者提交一个 PR，那你来对地方了。

***

## 代码结构

| 路径 | 内容 |
| ---- | ---- |
| `app/` | pnpm workspace `openhuman-app`。Vite + React 前端（`app/src/`）和 Tauri 桌面宿主（`app/src-tauri/`）。 |
| `src/` | Rust 库 crate `openhuman`，并包含 `openhuman-core` CLI 二进制文件。领域逻辑、JSON-RPC、MCP 路由。 |
| `gitbooks/` | 本站（面向公众的文档）。 |
| `docs/` | 尚未迁移到 GitBook 的深层参考资料（记忆流水线图、智能体流程等）。 |

仓库根目录的 `CLAUDE.md` 是给在该代码库上工作的 AI 智能体的权威参考。人类也适用同样的规则。

***

## 从这里开始

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

1. [**环境搭建**](getting-set-up.zh-CN.md)。工具链、依赖、vendored Tauri CLI、sidecar staging —— 让 `pnpm dev` 真正跑起来所需的一切。
2. [**构建 Rust 核心**](building-rust-core.zh-CN.md)。仅针对仓库根目录 Rust crate 的新机搭建：固定工具链、OS 包，以及精确的 `cargo` 命令。
3. [**架构**](architecture.zh-CN.md)。桌面应用、Rust 核心 sidecar、JSON-RPC 桥接，以及双 socket 如何协同工作。在做非平凡改动之前先读这个。
4. [**前端**](architecture/frontend.zh-CN.md) 和 [**Tauri 壳层**](architecture/tauri-shell.zh-CN.md)。React 应用，以及包裹它的桌面宿主。
5. [**MCP 服务器**](mcp-server.zh-CN.md)。可选的 stdio MCP 模式，将只读的 OpenHuman 记忆工具暴露给本地客户端。

***

## 测试

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

* [**测试策略**](testing-strategy.zh-CN.md)。什么时候写 Vitest、什么时候写 cargo tests、什么时候写 WDIO。
* [**E2E 测试**](e2e-testing.zh-CN.md)。WDIO/Appium spec、双平台设置（Linux tauri-driver、macOS Appium Mac2），以及如何在本地运行单个 spec。
* [**智能体可观测性**](agent-observability.zh-CN.md)。让 E2E 和智能体运行事后可调试的工件捕获层。

PR 必须通过 **变更行覆盖率 ≥ 80%** 的门禁。为新行为添加测试，不要只测 happy path。

***

## 发布

* [**发布策略**](release-policy.zh-CN.md)。版本策略、发布节奏、OAuth + 安装包规则。
* [**云端部署**](../features/cloud-deploy.md)。当变更跨越桌面边界时，后端/云端侧的部署。

***

## 深入探索

* [**Agent Harness**](architecture/agent-harness.zh-CN.md)。智能体面向代码的工具表面，以及如何扩展它。
* [**Chromium Embedded Framework**](cef.zh-CN.md)。嵌入式提供商 webview 如何工作、为什么不运行注入的 JS，以及各提供商 scanner 实际上做了什么。

对于仍在构建中的特性，[Subconscious Loop](../features/subconscious.md) 页面从头到尾涵盖了后台任务评估系统。

***

## 贡献

* 在 [tinyhumansai/openhuman](https://github.com/tinyhumansai/openhuman) 提交 issue 和 PR。
* PR 目标分支为 `main`。推送到你的 fork，不要推 upstream。
* 遵循 [`CONTRIBUTING.md`](../../CONTRIBUTING.md) 和 issue/PR 模板。
* 保持改动聚焦。一个 bug fix 不需要附带周边清理；一个一次性操作不需要 helper。

帮助构建 AGI 并不意味着一定要提交内核代码 —— bug 修复、文档、集成和测试都在推动进展。
