# 技术总览 - 大道 (Dao OS) 文档
大道（Dao OS）官方文档，你的赛博生命操作系统。

## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# 技术总览

本文档为希望在大道 (Dao OS) 生态系统中进行构建或贡献的开发者，提供了关于架构、核心技术和指导原则的高阶概览。

## 技术指导原则

我们的工程决策由一套核心原则指引，以确保系统是健壮、可移植和开放的。

- Web原生与可移植性: 我们将源自Web的技术作为应用开发的主路径。
- 通过WASM实现多语言主义: 核心应用逻辑被编译成 WebAssembly (WASM)，允许开发者使用他们选择的语言（如 Rust, Go, 或 Nim）。
- API优先: 应用逻辑和用户界面之间的交互，由一个严格的、版本化的API契约来定义。
- 安全第一: 所有第三方应用逻辑都运行在`元`内部的安全沙箱中，并恪守“最小权限原则”。
- 自由及开源软件 (FOSS): 整个核心协议和参考实现都是开源的。

## 应用开发路径

从开发者的角度看，“大道”应用由一个后端的“灵魂”（WASM服务模块）和一个前端的“皮囊”（UI）组成。我们提供多种路径来构建它们，以满足不同的需求和偏好。

### 1. 主流路径 (推荐起点)

这是最稳健、生态最丰富的路径。

- 后端 (服务于 `核化身`): 应用的核心逻辑，以一个用 Rust 或 Go 编写的 WASM 模块存在。虽然它理论上可以在任何化身上运行，但其持久的、资源密集型的任务，通常被设计为在**`核化身 (Core Avatar)`**上执行。
- 前端 (呈现于 `器化身`): 一个标准的 Web 应用 (使用 TypeScript/JavaScript)。这个 UI 被设计为运行在我们官方的、安全的**“大道 Web 化身”**中。

### 2. 快速通道：Nim 开发套件 (官方支持)

为了追求极致的生产力，我们为 Nim 提供了一流的支持。

- 后端 (服务于 `核化身`): 应用的核心逻辑，从 Nim 编译到 WASM。同主流路径一样，它理想的运行环境是`核化身`。
- 前端 (呈现于 `器化身`): 从同一份 Nim 源码编译到 JavaScript 的 Web 应用。这个统一的方案运行在“大道 Web 化身”中。

### 3. 原生路径 (高级)

对于需要深度平台集成或顶尖原生性能的开发者，可以构建一个自定义的`器化身`。

- 后端 (服务于 `核化身`): 同样是那个 WASM 服务模块，它可以被任何类型的化身调用。
- 前端 (自定义 `器化身`): 一个完全原生的应用（例如，用 Flutter 或 Swift 编写），它直接作为`元`的宿主并提供 UI。

## API 契约与关键技术

API 契约通过 `dao.js` 桥为 Web UI 暴露，或为原生 UI 直接暴露，统一使用 Protocol Buffers 进行数据序列化。所有路径的核心技术保持一致。