|
| 1 | +--- |
| 2 | +title: 规范概述 |
| 3 | +description: ObjectStack 协议的权威指南。理解"意图优于实现"的哲学。 |
| 4 | +--- |
| 5 | + |
| 6 | +# 规范概述 |
| 7 | + |
| 8 | +> "我们塑造工具,随后工具塑造我们。" — Marshall McLuhan |
| 9 | +
|
| 10 | +欢迎来到 ObjectStack 的**规范**部分("圣经")。 |
| 11 | + |
| 12 | +与*指南*(告诉你如何使用 SDK)或*概念*(解释哲学)不同,本节定义了生态系统的**严格契约**。它详细说明了每个 ObjectStack 实现必须遵守的线路格式、Schema 结构和确定性行为。 |
| 13 | + |
| 14 | +如果你正在构建新的数据库驱动程序、自定义 UI 渲染器或生成软件的 AI Agent,这就是你的参考手册。 |
| 15 | + |
| 16 | +## 核心哲学: 意图优于实现 |
| 17 | + |
| 18 | +驱动这些规范的唯一公理是**意图优于实现**。 |
| 19 | + |
| 20 | +在传统软件工程中,"业务意图"与"技术实现"不可分割地混合在一起。 |
| 21 | +* **意图:** "18 岁以上的用户可以看到'葡萄酒'类别。" |
| 22 | +* **实现:** Python 的 `if` 语句、SQL 的 `WHERE` 子句或 React 条件渲染。 |
| 23 | + |
| 24 | +ObjectStack 将这些完全分离。 |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | +### 关注点分离 |
| 29 | + |
| 30 | +| 层次 | 职责 | 格式 | 示例 | |
| 31 | +| :--- | :--- | :--- | :--- | |
| 32 | +| **意图(规范)** | 定义系统*是什么*。 | JSON / YAML | `visible_on: "user.age >= 18"` | |
| 33 | +| **引擎(运行时)** | 决定*如何*执行它。 | Node.js / Go / Rust | 编译为 SQL 或生成 React Tree。 | |
| 34 | + |
| 35 | +通过将**意图**固定为标准化的数据协议,我们实现了: |
| 36 | +1. **可移植性:** 相同的逻辑可以在 PostgreSQL、SQLite 或 MongoDB 上运行。 |
| 37 | +2. **持久性:** 你今天编写的 JSON Schema 在 10 年后仍然有效,即使底层运行时从 Node.js 切换到 Bun 或 Rust。 |
| 38 | +3. **AI 原生性:** AI 生成结构化的 JSON 意图比生成充满副作用的命令式代码更安全、更准确。 |
| 39 | + |
| 40 | +## 协议栈 |
| 41 | + |
| 42 | +这些规范分为三大支柱,对应于"三位一体"架构: |
| 43 | + |
| 44 | +### 1. ObjectQL(数据规范) |
| 45 | +* **重点:** 数据建模、查询和变更。 |
| 46 | +* **核心规范:** Schema 定义、AST 线路协议、事务模型。 |
| 47 | +* **目标:** 使数据库层声明化且可互换。 |
| 48 | + |
| 49 | +### 2. ObjectUI(视图规范) |
| 50 | +* **重点:** 界面结构、布局和交互。 |
| 51 | +* **核心规范:** Component Schema、视图类型、Action 协议。 |
| 52 | +* **目标:** 实现服务端驱动 UI,其中后端决定前端体验。 |
| 53 | + |
| 54 | +### 3. ObjectOS(运行时规范) |
| 55 | +* **重点:** 身份、治理和编排。 |
| 56 | +* **核心规范:** 工作流 FSM、权限注入、审计跟踪。 |
| 57 | +* **目标:** 为业务逻辑提供标准操作环境。 |
| 58 | + |
| 59 | +## 一致性与术语 |
| 60 | + |
| 61 | +在本文档中,关键词 **"MUST"**(必须)、**"MUST NOT"**(禁止)、**"REQUIRED"**(需要)、**"SHALL"**(应当)、**"SHALL NOT"**(不应当)、**"SHOULD"**(应该)、**"SHOULD NOT"**(不应该)、**"RECOMMENDED"**(推荐)、**"MAY"**(可以)和 **"OPTIONAL"**(可选)应按照 [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) 中的描述进行解释。 |
| 62 | + |
| 63 | +### 这适用于谁? |
| 64 | + |
| 65 | +* **✅ 架构师:** 了解系统的能力和约束。 |
| 66 | +* **✅ 驱动程序开发者:** 实现新的存储后端(例如 ClickHouse 驱动程序)。 |
| 67 | +* **✅ 平台工程师:** 将 ObjectStack 集成到现有的微服务网格中。 |
| 68 | +* **❌ 初级开发者:** 如果你只想构建一个应用,请从 **[入门指南](../index)** 开始。 |
| 69 | + |
| 70 | +--- |
| 71 | + |
| 72 | +**继续阅读第一个规范:** **[ObjectQL 概述](objectql/index)** |
0 commit comments