> ## 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 或前端行为达成的共识。
内核提供插件运行时、传输、进程间通信 (IPC) 和生命周期。

插件可以通过遵循相同的约定在内核之外构建这些功能。
一个插件发布资源或功能，另一个插件通过其约定的名称和格式识别它。

## 为什么约定很重要

约定使插件集成独立于特定的提供程序。
当替换插件发布相同的元数据并遵循相同的行为时，即可替换原插件。
您还可以添加自定义提供程序或使用者，而无需更改内核或扩展插件协议。

这使得约定对于应用程序级行为非常有用，例如：

* 发布可发现的资源 URL；
* 在应用程序导航中公开插件页面；
* 共享应用程序的视觉主题和前端样式；
* 提供可选的浏览器端辅助行为。

内核传输和进程间通信 (IPC) 机制仍然是基础，但约定的含义属于参与的插件。

## 核心插件实现

本节中的约定目前由 `coreplugins` 实现。

这些约定推荐给希望与标准应用程序体验集成的插件。
它们并非额外的内核 API，插件不应依赖于提供程序的私有实现细节。

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

只要约定保持兼容，实现方式可以更改。
如果您替换了这些插件之一，请保留其他插件使用的键、元数据含义、URL 或浏览器行为。
