> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arupa.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 惯例

> 了解服务如何使用共享惯例在内核之外进行协作。

惯例是服务之间就名称、数据格式、元数据、URL 或前端行为达成的共享约定。内核提供服务运行时、传输、ISC 和生命周期管理。

服务可以在遵循相同惯例的前提下，在内核之外构建这些功能。一个服务发布某项资源或能力，另一个服务则通过双方约定好的名称和格式来识别它。

## 为什么惯例很重要

惯例让服务之间的集成不依赖于某个特定的提供方。只要替代服务发布相同的元数据、遵循相同的行为，某个服务就可以被替换。您也可以添加自定义的提供方或消费方，而不需要改动内核，也不需要扩展服务协议。

这使得惯例对以下这类应用层行为非常有用：

* 发布可被发现的资源 URL；
* 在应用导航中展示服务页面；
* 共享应用的视觉主题和前端样式；
* 提供可选的浏览器端辅助行为。

内核的传输和 ISC 机制仍然是基础，但惯例的具体含义属于参与其中的各个服务。

## 核心服务实现

本节中的这些惯例目前由 `coreplugins` 实现。它们是推荐给希望与标准应用体验集成的服务使用的惯例，并不是额外的内核 API，服务不应依赖提供方的私有实现细节。

| 惯例                            | 当前实现                     | 用途                          |
| ----------------------------- | ------------------------ | --------------------------- |
| [KV](./convention-kv)         | 核心资源与系统服务                | 定义共享的 KV 名称，以及为可发现资源发布的元数据。 |
| [导航](./convention-navigation) | `navigator`              | 定义用于暴露服务页面的服务清单元数据。         |
| [样式](./convention-styling)    | `web-assets` 与 `web-sdk` | 定义共享的前端主题、样式资源和主题状态。        |

只要惯例本身保持兼容，其实现可以发生变化。如果您替换了这些服务中的某一个，请保留其他服务所依赖的键、元数据含义、URL 或浏览器行为。
