# 字段索引

知道字段名时，可以在这里找到它所属的对象。清单字段的路径从 `manifest` 开始，`[]` 表示数组项，`<key>` 表示由开发者命名的字段。每个链接都跳转到该属性的定义。

Schema 可以出现在动作、状态或数据提供者中。它的属性统一在 [Schema](./schema.md) 定义，索引使用 `Schema` 作为路径前缀。

## manifest.json

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.apiVersion` | `integer` | [Manifest.apiVersion](./manifest.md#manifest-apiversion) |
| `manifest.id` | `string` | [Manifest.id](./manifest.md#manifest-id) |
| `manifest.name` | `string` | [Manifest.name](./manifest.md#manifest-name) |
| `manifest.version` | `string` | [Manifest.version](./manifest.md#manifest-version) |
| `manifest.main` | `string` | [Manifest.main](./manifest.md#manifest-main) |
| `manifest.hostPlatforms` | `string[]` | [Manifest.hostPlatforms](./manifest.md#manifest-hostplatforms) |
| `manifest.permissions` | `string[]` | [Manifest.permissions](./manifest.md#manifest-permissions) |
| `manifest.contributes` | `Contributions` | [Manifest.contributes](./manifest.md#manifest-contributes) |
| `manifest.description` | `string` | [Manifest.description](./manifest.md#manifest-description) |
| `manifest.author` | `string` | [Manifest.author](./manifest.md#manifest-author) |
| `manifest.icon` | `string` | [Manifest.icon](./manifest.md#manifest-icon) |
| `manifest.category` | `string` | [Manifest.category](./manifest.md#manifest-category) |
| `manifest.tags` | `string[]` | [Manifest.tags](./manifest.md#manifest-tags) |
| `manifest.dependencies` | `Record<string, string>` | [Manifest.dependencies](./manifest.md#manifest-dependencies) |
| `manifest.networkOrigins` | `string[]` | [Manifest.networkOrigins](./manifest.md#manifest-networkorigins) |
| `manifest.widgetConnectOrigins` | `string[]` | [Manifest.widgetConnectOrigins](./manifest.md#manifest-widgetconnectorigins) |
| `manifest.uses` | `ServiceUse[]` | [Manifest.uses](./manifest.md#manifest-uses) |
| `manifest.eventSubscriptions` | `EventSubscription[]` | [Manifest.eventSubscriptions](./manifest.md#manifest-eventsubscriptions) |
| `manifest.eventSubscriptions[].pluginId` | `string` | [EventSubscription.pluginId](./manifest.md#eventsubscription-pluginid) |
| `manifest.eventSubscriptions[].eventId` | `string` | [EventSubscription.eventId](./manifest.md#eventsubscription-eventid) |
| `manifest.eventSubscriptions[].version` | `integer` | [EventSubscription.version](./manifest.md#eventsubscription-version) |
| `manifest.contributes.categories` | `Category[]` | [Contributions.categories](./manifest.md#contributions-categories) |
| `manifest.contributes.actions` | `Action[]` | [Contributions.actions](./manifest.md#contributions-actions) |
| `manifest.contributes.buttonPresets` | `ButtonPreset[]` | [Contributions.buttonPresets](./manifest.md#contributions-buttonpresets) |
| `manifest.contributes.stateSources` | `StateSource[]` | [Contributions.stateSources](./manifest.md#contributions-statesources) |
| `manifest.contributes.widgets` | `Widget[]` | [Contributions.widgets](./manifest.md#contributions-widgets) |
| `manifest.contributes.dataProviders` | `DataProvider[]` | [Contributions.dataProviders](./manifest.md#contributions-dataproviders) |
| `manifest.contributes.events` | `PluginEvent[]` | [Contributions.events](./manifest.md#contributions-events) |
| `manifest.contributes.services` | `Service[]` | [Contributions.services](./manifest.md#contributions-services) |
| `manifest.hostCapabilities` | `HostCapabilityRequirements` | [Manifest.hostCapabilities](./manifest.md#manifest-hostcapabilities) |
| `manifest.hostCapabilities.required` | `Record<string, integer>` | [Manifest.hostCapabilities.required](./manifest.md#manifest-hostcapabilities-required) |
| `manifest.hostCapabilities.optional` | `Record<string, integer>` | [Manifest.hostCapabilities.optional](./manifest.md#manifest-hostcapabilities-optional) |
| `manifest.target` | `object` | [Manifest.target](./manifest.md#manifest-target) |
| `manifest.target.platform` | `string` | [Manifest.target.platform](./manifest.md#manifest-target-platform) |
| `manifest.target.arch` | `string` | [Manifest.target.arch](./manifest.md#manifest-target-arch) |
| `manifest.target.libc` | `string` | [Manifest.target.libc](./manifest.md#manifest-target-libc) |
| `manifest.runtime` | `object` | [Manifest.runtime](./manifest.md#manifest-runtime) |
| `manifest.runtime.node` | `string` | [Manifest.runtime.node](./manifest.md#manifest-runtime-node) |
| `manifest.runtime.electron` | `string` | [Manifest.runtime.electron](./manifest.md#manifest-runtime-electron) |
| `manifest.runtime.modules` | `string` | [Manifest.runtime.modules](./manifest.md#manifest-runtime-modules) |
| `manifest.runtime.napi` | `integer` | [Manifest.runtime.napi](./manifest.md#manifest-runtime-napi) |
| `manifest.nativeModules` | `string[]` | [Manifest.nativeModules](./manifest.md#manifest-nativemodules) |
| `manifest.settingsSchema` | `WidgetSettings` | [Manifest.settingsSchema](./manifest.md#manifest-settingsschema) |
| `manifest.configPage` | `string` | [Manifest.configPage](./manifest.md#manifest-configpage) |
| `manifest.configurationVersion` | `integer` | [Manifest.configurationVersion](./manifest.md#manifest-configurationversion) |
| `manifest.configurationMigrations` | `integer[]` | [Manifest.configurationMigrations](./manifest.md#manifest-configurationmigrations) |

## actions

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.contributes.actions[].id` | `string` | [Action.id](./actions.md#action-id) |
| `manifest.contributes.actions[].title` | `string` | [Action.title](./actions.md#action-title) |
| `manifest.contributes.actions[].hostPlatforms` | `string[]` | [Action.hostPlatforms](./actions.md#action-hostplatforms) |
| `manifest.contributes.actions[].description` | `string` | [Action.description](./actions.md#action-description) |
| `manifest.contributes.actions[].icon` | `string` | [Action.icon](./actions.md#action-icon) |
| `manifest.contributes.actions[].category` | `string` | [Action.category](./actions.md#action-category) |
| `manifest.contributes.actions[].argsSchema` | `Schema` | [Action.argsSchema](./actions.md#action-argsschema) |
| `manifest.contributes.actions[].outputSchema` | `Schema` | [Action.outputSchema](./actions.md#action-outputschema) |
| `manifest.contributes.actions[].execution` | `ActionExecution` | [Action.execution](./actions.md#action-execution) |
| `manifest.contributes.actions[].execution.timeoutMs` | `integer` | [ActionExecution.timeoutMs](./actions.md#actionexecution-timeoutms) |
| `manifest.contributes.actions[].execution.concurrency` | `"serial" \| "parallel"` | [ActionExecution.concurrency](./actions.md#actionexecution-concurrency) |
| `manifest.contributes.actions[].execution.resource` | `string` | [ActionExecution.resource](./actions.md#actionexecution-resource) |
| `manifest.contributes.actions[].execution.hostResource` | `"desktop" \| "audio"` | [ActionExecution.hostResource](./actions.md#actionexecution-hostresource) |
| `manifest.contributes.categories[].id` | `string` | [Category.id](./actions.md#category-id) |
| `manifest.contributes.categories[].title` | `string` | [Category.title](./actions.md#category-title) |
| `manifest.contributes.categories[].icon` | `string` | [Category.icon](./actions.md#category-icon) |
| `manifest.contributes.widgets[].instanceActions[].execution.timeoutMs` | `integer` | [ActionExecution.timeoutMs](./actions.md#actionexecution-timeoutms) |
| `manifest.contributes.widgets[].instanceActions[].execution.concurrency` | `"serial" \| "parallel"` | [ActionExecution.concurrency](./actions.md#actionexecution-concurrency) |
| `manifest.contributes.widgets[].instanceActions[].execution.resource` | `string` | [ActionExecution.resource](./actions.md#actionexecution-resource) |
| `manifest.contributes.widgets[].instanceActions[].execution.hostResource` | `"desktop" \| "audio"` | [ActionExecution.hostResource](./actions.md#actionexecution-hostresource) |
| `manifest.contributes.actions[].valueControl` | `object` | [Action.valueControl](./actions.md#action-valuecontrol) |
| `manifest.contributes.actions[].valueControl.parameter` | `string` | [Action.valueControl](./actions.md#action-valuecontrol) |
| `manifest.contributes.actions[].valueControl.state` | `object` | [Action.valueControl](./actions.md#action-valuecontrol) |
| `manifest.contributes.actions[].valueControl.state.sourceId` | `string` | [Action.valueControl](./actions.md#action-valuecontrol) |
| `manifest.contributes.actions[].valueControl.state.path` | `string[]` | [Action.valueControl](./actions.md#action-valuecontrol) |
| `manifest.contributes.actions[].valueControl.state.availabilityPath` | `string[]` | [Action.valueControl](./actions.md#action-valuecontrol) |
| `manifest.contributes.categories[].group` | `string` | [Category.group](./actions.md#category-group) |

## Schema

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `Schema.type` | `string` | [Schema.type](./schema.md#schema-type) |
| `Schema.title` | `string` | [Schema.title](./schema.md#schema-title) |
| `Schema.description` | `string` | [Schema.description](./schema.md#schema-description) |
| `Schema.properties` | `Record<string, Schema>` | [Schema.properties](./schema.md#schema-properties) |
| `Schema.required` | `string[]` | [Schema.required](./schema.md#schema-required) |
| `Schema.additionalProperties` | `boolean` | [Schema.additionalProperties](./schema.md#schema-additionalproperties) |
| `Schema.items` | `Schema` | [Schema.items](./schema.md#schema-items) |
| `Schema.enum` | `JSON[]` | [Schema.enum](./schema.md#schema-enum) |
| `Schema.enumLabels` | `string[]` | [Schema.enumLabels](./schema.md#schema-enumlabels) |
| `Schema.minimum` | `number` | [Schema.minimum](./schema.md#schema-minimum) |
| `Schema.maximum` | `number` | [Schema.maximum](./schema.md#schema-maximum) |
| `Schema.maxLength` | `integer` | [Schema.maxLength](./schema.md#schema-maxlength) |
| `Schema.maxItems` | `integer` | [Schema.maxItems](./schema.md#schema-maxitems) |
| `Schema.default` | `JSON` | [Schema.default](./schema.md#schema-default) |
| `Schema.options` | `SchemaOption[]` | [Schema.options](./schema.md#schema-options) |
| `Schema.format` | `string` | [Schema.format](./schema.md#schema-format) |
| `Schema.allowedSchemes` | `string[]` | [Schema.allowedSchemes](./schema.md#schema-allowedschemes) |
| `Schema.filePicker` | `FilePicker` | [Schema.filePicker](./schema.md#schema-filepicker) |
| `Schema.options[].label` | `string` | [SchemaOption.label](./schema.md#schemaoption-label) |
| `Schema.options[].value` | `string` | [SchemaOption.value](./schema.md#schemaoption-value) |
| `manifest.contributes.actions[].argsSchema.type` | `"object"` | [Schema.type](./schema.md#schema-type) |
| `manifest.contributes.widgets[].instanceActions[].argsSchema.type` | `"object"` | [Schema.type](./schema.md#schema-type) |
| `manifest.contributes.dataProviders[].requestSchema.type` | `"object"` | [Schema.type](./schema.md#schema-type) |
| `manifest.contributes.events[].payloadSchema.type` | `"object"` | [Schema.type](./schema.md#schema-type) |
| `Schema.dynamicOptions` | `true` | [Schema.dynamicOptions](./schema.md#schema-dynamicoptions) |

## 参数编辑器

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `Schema.filePicker.filters` | `FileFilter[]` | [FilePicker.filters](./editors.md#filepicker-filters) |
| `Schema.filePicker.filters[].name` | `string` | [FileFilter.name](./editors.md#filefilter-name) |
| `Schema.filePicker.filters[].extensions` | `string[]` | [FileFilter.extensions](./editors.md#filefilter-extensions) |

## stateSources

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.contributes.stateSources[].id` | `string` | [StateSource.id](./states.md#statesource-id) |
| `manifest.contributes.stateSources[].title` | `string` | [StateSource.title](./states.md#statesource-title) |
| `manifest.contributes.stateSources[].description` | `string` | [StateSource.description](./states.md#statesource-description) |
| `manifest.contributes.stateSources[].scope` | `string` | [StateSource.scope](./states.md#statesource-scope) |
| `manifest.contributes.stateSources[].visibility` | `string` | [StateSource.visibility](./states.md#statesource-visibility) |
| `manifest.contributes.stateSources[].widgetId` | `string` | [StateSource.widgetId](./states.md#statesource-widgetid) |
| `manifest.contributes.stateSources[].schema` | `Schema` | [StateSource.schema](./states.md#statesource-schema) |
| `manifest.contributes.stateSources[].readAccess` | `StateReadAccess` | [StateSource.readAccess](./states.md#statesource-readaccess) |
| `manifest.contributes.stateSources[].writeAccess` | `"owner-plugin"` | [StateSource.writeAccess](./states.md#statesource-writeaccess) |
| `manifest.contributes.stateSources[].lifetime` | `"plugin" \| "layout" \| "placement"` | [StateSource.lifetime](./states.md#statesource-lifetime) |
| `manifest.contributes.stateSources[].maxBytes` | `integer` | [StateSource.maxBytes](./states.md#statesource-maxbytes) |
| `manifest.contributes.stateSources[].readAccess.workflows` | `boolean` | [StateReadAccess.workflows](./states.md#statereadaccess-workflows) |
| `manifest.contributes.stateSources[].readAccess.widgets` | `boolean` | [StateReadAccess.widgets](./states.md#statereadaccess-widgets) |

## widgets

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.contributes.widgets[].id` | `string` | [Widget.id](./widgets.md#widget-id) |
| `manifest.contributes.widgets[].title` | `string` | [Widget.title](./widgets.md#widget-title) |
| `manifest.contributes.widgets[].description` | `string` | [Widget.description](./widgets.md#widget-description) |
| `manifest.contributes.widgets[].category` | `string` | [Widget.category](./widgets.md#widget-category) |
| `manifest.contributes.widgets[].page` | `string` | [Widget.page](./widgets.md#widget-page) |
| `manifest.contributes.widgets[].configPage` | `string` | [Widget.configPage](./widgets.md#widget-configpage) |
| `manifest.contributes.widgets[].defaultSize` | `WidgetSize` | [Widget.defaultSize](./widgets.md#widget-defaultsize) |
| `manifest.contributes.widgets[].allowedSizes` | `WidgetSize[]` | [Widget.allowedSizes](./widgets.md#widget-allowedsizes) |
| `manifest.contributes.widgets[].stateSource` | `string` | [Widget.stateSource](./widgets.md#widget-statesource) |
| `manifest.contributes.widgets[].customizableGestures` | `string[]` | [Widget.customizableGestures](./widgets.md#widget-customizablegestures) |
| `manifest.contributes.widgets[].instanceActions` | `WidgetInstanceAction[]` | [Widget.instanceActions](./widgets.md#widget-instanceactions) |
| `manifest.contributes.widgets[].settingsSchema` | `WidgetSettings` | [Widget.settingsSchema](./widgets.md#widget-settingsschema) |
| `manifest.contributes.widgets[].defaultSize.cols` | `integer` | [WidgetSize.cols](./widgets.md#widgetsize-cols) |
| `manifest.contributes.widgets[].defaultSize.rows` | `integer` | [WidgetSize.rows](./widgets.md#widgetsize-rows) |
| `manifest.contributes.widgets[].instanceActions[].id` | `string` | [WidgetInstanceAction.id](./widgets.md#widgetinstanceaction-id) |
| `manifest.contributes.widgets[].instanceActions[].title` | `string` | [WidgetInstanceAction.title](./widgets.md#widgetinstanceaction-title) |
| `manifest.contributes.widgets[].instanceActions[].argsSchema` | `Schema` | [WidgetInstanceAction.argsSchema](./widgets.md#widgetinstanceaction-argsschema) |
| `manifest.contributes.widgets[].allowedSizes[].cols` | `integer` | [WidgetSize.cols](./widgets.md#widgetsize-cols) |
| `manifest.contributes.widgets[].allowedSizes[].rows` | `integer` | [WidgetSize.rows](./widgets.md#widgetsize-rows) |
| `manifest.contributes.widgets[].instanceActions[].execution` | `ActionExecution` | [WidgetInstanceAction.execution](./widgets.md#widgetinstanceaction-execution) |
| `manifest.contributes.widgets[].valueControl` | `true` | [Widget.valueControl](./widgets.md#widget-valuecontrol) |

## WidgetSettings

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.contributes.widgets[].settingsSchema.properties` | `Record<string, WidgetSetting>` | [WidgetSettings.properties](./settings.md#widgetsettings-properties) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.type` | `"string" \| "integer" \| "boolean"` | [WidgetSetting.type](./settings.md#widgetsetting-type) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.title` | `string` | [WidgetSetting.title](./settings.md#widgetsetting-title) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.description` | `string` | [WidgetSetting.description](./settings.md#widgetsetting-description) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.default` | `string \| number \| boolean` | [WidgetSetting.default](./settings.md#widgetsetting-default) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.minimum` | `integer` | [WidgetSetting.minimum](./settings.md#widgetsetting-minimum) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.maximum` | `integer` | [WidgetSetting.maximum](./settings.md#widgetsetting-maximum) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.control` | `"search-select" \| "password"` | [WidgetSetting.control](./settings.md#widgetsetting-control) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.visibility` | `"public" \| "private"` | [WidgetSetting.visibility](./settings.md#widgetsetting-visibility) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.options` | `SettingOption[]` | [WidgetSetting.options](./settings.md#widgetsetting-options) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.dynamicOptions` | `true` | [WidgetSetting.dynamicOptions](./settings.md#widgetsetting-dynamicoptions) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.options[].label` | `string` | [SettingOption.label](./settings.md#settingoption-label) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.options[].value` | `string` | [SettingOption.value](./settings.md#settingoption-value) |

## buttonPresets

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.contributes.buttonPresets[].id` | `string` | [ButtonPreset.id](./presets.md#buttonpreset-id) |
| `manifest.contributes.buttonPresets[].title` | `string` | [ButtonPreset.title](./presets.md#buttonpreset-title) |
| `manifest.contributes.buttonPresets[].description` | `string` | [ButtonPreset.description](./presets.md#buttonpreset-description) |
| `manifest.contributes.buttonPresets[].category` | `string` | [ButtonPreset.category](./presets.md#buttonpreset-category) |
| `manifest.contributes.buttonPresets[].icon` | `string` | [ButtonPreset.icon](./presets.md#buttonpreset-icon) |
| `manifest.contributes.buttonPresets[].actionId` | `string` | [ButtonPreset.actionId](./presets.md#buttonpreset-actionid) |
| `manifest.contributes.buttonPresets[].button` | `ButtonAppearance` | [ButtonPreset.button](./presets.md#buttonpreset-button) |
| `manifest.contributes.buttonPresets[].multiState` | `MultiState` | [ButtonPreset.multiState](./presets.md#buttonpreset-multistate) |
| `manifest.contributes.buttonPresets[].button.title` | `string` | [ButtonAppearance.title](./presets.md#buttonappearance-title) |
| `manifest.contributes.buttonPresets[].button.titleFrom` | `ButtonTitleFrom` | [ButtonAppearance.titleFrom](./presets.md#buttonappearance-titlefrom) |
| `manifest.contributes.buttonPresets[].button.icon` | `ButtonIcon` | [ButtonAppearance.icon](./presets.md#buttonappearance-icon) |
| `manifest.contributes.buttonPresets[].button.backgroundColor` | `string` | [ButtonAppearance.backgroundColor](./presets.md#buttonappearance-backgroundcolor) |
| `manifest.contributes.buttonPresets[].button.foregroundColor` | `string` | [ButtonAppearance.foregroundColor](./presets.md#buttonappearance-foregroundcolor) |
| `manifest.contributes.buttonPresets[].button.showTitle` | `boolean` | [ButtonAppearance.showTitle](./presets.md#buttonappearance-showtitle) |
| `manifest.contributes.buttonPresets[].button.size` | `string` | [ButtonAppearance.size](./presets.md#buttonappearance-size) |
| `manifest.contributes.buttonPresets[].button.titleFrom.arg` | `string` | [ButtonTitleFrom.arg](./presets.md#buttontitlefrom-arg) |
| `manifest.contributes.buttonPresets[].button.titleFrom.transform` | `string` | [ButtonTitleFrom.transform](./presets.md#buttontitlefrom-transform) |
| `manifest.contributes.buttonPresets[].button.icon.kind` | `string` | [ButtonIcon.kind](./presets.md#buttonicon-kind) |
| `manifest.contributes.buttonPresets[].button.icon.text` | `string` | [ButtonIcon.text](./presets.md#buttonicon-text) |
| `manifest.contributes.buttonPresets[].button.icon.arg` | `string` | [ButtonIcon.arg](./presets.md#buttonicon-arg) |
| `manifest.contributes.buttonPresets[].button.icon.id` | `string` | [ButtonIcon.id](./presets.md#buttonicon-id) |
| `manifest.contributes.buttonPresets[].multiState.sourceId` | `string` | [MultiState.sourceId](./presets.md#multistate-sourceid) |
| `manifest.contributes.buttonPresets[].multiState.sourceKind` | `"local"` | [MultiState.sourceKind](./presets.md#multistate-sourcekind) |
| `manifest.contributes.buttonPresets[].multiState.initialState` | `string` | [MultiState.initialState](./presets.md#multistate-initialstate) |
| `manifest.contributes.buttonPresets[].multiState.persistent` | `boolean` | [MultiState.persistent](./presets.md#multistate-persistent) |
| `manifest.contributes.buttonPresets[].multiState.states` | `ButtonState[]` | [MultiState.states](./presets.md#multistate-states) |
| `manifest.contributes.buttonPresets[].multiState.states[].id` | `string` | [ButtonState.id](./presets.md#buttonstate-id) |
| `manifest.contributes.buttonPresets[].multiState.states[].actionId` | `string` | [ButtonState.actionId](./presets.md#buttonstate-actionid) |
| `manifest.contributes.buttonPresets[].multiState.states[].nextState` | `string` | [ButtonState.nextState](./presets.md#buttonstate-nextstate) |
| `manifest.contributes.buttonPresets[].multiState.states[].button` | `ButtonAppearance` | [ButtonState.button](./presets.md#buttonstate-button) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.title` | `string` | [ButtonAppearance.title](./presets.md#buttonappearance-title) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.titleFrom` | `ButtonTitleFrom` | [ButtonAppearance.titleFrom](./presets.md#buttonappearance-titlefrom) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.icon` | `ButtonIcon` | [ButtonAppearance.icon](./presets.md#buttonappearance-icon) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.backgroundColor` | `string` | [ButtonAppearance.backgroundColor](./presets.md#buttonappearance-backgroundcolor) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.foregroundColor` | `string` | [ButtonAppearance.foregroundColor](./presets.md#buttonappearance-foregroundcolor) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.showTitle` | `boolean` | [ButtonAppearance.showTitle](./presets.md#buttonappearance-showtitle) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.size` | `string` | [ButtonAppearance.size](./presets.md#buttonappearance-size) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.titleFrom.arg` | `string` | [ButtonTitleFrom.arg](./presets.md#buttontitlefrom-arg) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.titleFrom.transform` | `string` | [ButtonTitleFrom.transform](./presets.md#buttontitlefrom-transform) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.icon.kind` | `string` | [ButtonIcon.kind](./presets.md#buttonicon-kind) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.icon.text` | `string` | [ButtonIcon.text](./presets.md#buttonicon-text) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.icon.arg` | `string` | [ButtonIcon.arg](./presets.md#buttonicon-arg) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.icon.id` | `string` | [ButtonIcon.id](./presets.md#buttonicon-id) |

## dataProviders

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.contributes.dataProviders[].id` | `string` | [DataProvider.id](./data-providers.md#dataprovider-id) |
| `manifest.contributes.dataProviders[].widget` | `string` | [DataProvider.widget](./data-providers.md#dataprovider-widget) |
| `manifest.contributes.dataProviders[].lifetime` | `"request"` | [DataProvider.lifetime](./data-providers.md#dataprovider-lifetime) |
| `manifest.contributes.dataProviders[].visibility` | `"instance"` | [DataProvider.visibility](./data-providers.md#dataprovider-visibility) |
| `manifest.contributes.dataProviders[].requestSchema` | `Schema` | [DataProvider.requestSchema](./data-providers.md#dataprovider-requestschema) |
| `manifest.contributes.dataProviders[].responseSchema` | `Schema` | [DataProvider.responseSchema](./data-providers.md#dataprovider-responseschema) |
| `manifest.contributes.dataProviders[].timeoutMs` | `integer` | [DataProvider.timeoutMs](./data-providers.md#dataprovider-timeoutms) |
| `manifest.contributes.dataProviders[].maxBytes` | `integer` | [DataProvider.maxBytes](./data-providers.md#dataprovider-maxbytes) |

## events

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.contributes.events[].id` | `string` | [PluginEvent.id](./events-manifest.md#pluginevent-id) |
| `manifest.contributes.events[].title` | `string` | [PluginEvent.title](./events-manifest.md#pluginevent-title) |
| `manifest.contributes.events[].delivery` | `"ephemeral"` | [PluginEvent.delivery](./events-manifest.md#pluginevent-delivery) |
| `manifest.contributes.events[].version` | `integer` | [PluginEvent.version](./events-manifest.md#pluginevent-version) |
| `manifest.contributes.events[].consumers` | `("host" \| "plugins")[]` | [PluginEvent.consumers](./events-manifest.md#pluginevent-consumers) |
| `manifest.contributes.events[].payloadSchema` | `Schema` | [PluginEvent.payloadSchema](./events-manifest.md#pluginevent-payloadschema) |
| `manifest.contributes.events[].maxBytes` | `integer` | [PluginEvent.maxBytes](./events-manifest.md#pluginevent-maxbytes) |

## services 与 uses

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.contributes.services[].id` | `string` | [Service.id](./services.md#service-id) |
| `manifest.contributes.services[].title` | `string` | [Service.title](./services.md#service-title) |
| `manifest.contributes.services[].version` | `integer` | [Service.version](./services.md#service-version) |
| `manifest.contributes.services[].methods` | `string[]` | [Service.methods](./services.md#service-methods) |
| `manifest.uses[].pluginId` | `string` | [ServiceUse.pluginId](./services.md#serviceuse-pluginid) |
| `manifest.uses[].serviceId` | `string` | [ServiceUse.serviceId](./services.md#serviceuse-serviceid) |
| `manifest.uses[].version` | `integer` | [ServiceUse.version](./services.md#serviceuse-version) |
| `manifest.contributes.services[].methodSchemas` | `object` | [Service.methodSchemas](./services.md#service-methodschemas) |
| `manifest.contributes.services[].maxBytes` | `integer` | [Service.maxBytes](./services.md#service-maxbytes) |
| `manifest.contributes.services[].methodSchemas.<key>.argsSchema` | `Schema` | [Service.methodSchemas](./services.md#service-methodschemas) |
| `manifest.contributes.services[].methodSchemas.<key>.argsSchema.type` | `object` | [Service.methodSchemas](./services.md#service-methodschemas) |
| `manifest.contributes.services[].methodSchemas.<key>.outputSchema` | `Schema` | [Service.methodSchemas](./services.md#service-methodschemas) |

## 国际化

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.i18n` | `object` | [资源归属](./i18n.md#资源归属) |
| `manifest.i18n.messages` | `object` | [资源归属](./i18n.md#资源归属) |
| `manifest.i18n.defaultLocale` | `string` | [资源归属](./i18n.md#资源归属) |
| `manifest.i18n.resources` | `Record<string, string>` | [资源归属](./i18n.md#资源归属) |
| `manifest.nameKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.descriptionKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.actions[].titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.actions[].descriptionKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.buttonPresets[].button.titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.buttonPresets[].multiState.states[].button.titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.buttonPresets[].titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.buttonPresets[].descriptionKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.stateSources[].titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.stateSources[].descriptionKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.widgets[].instanceActions[].titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.options[].labelKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.widgets[].settingsSchema.properties.<key>.descriptionKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.widgets[].titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.widgets[].descriptionKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.widgets[].categoryKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.events[].titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.services[].titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.contributes.categories[].titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `Schema.options[].labelKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `Schema.filePicker.filters[].nameKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `Schema.titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `Schema.descriptionKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.settingsSchema.properties.<key>.options[].labelKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.settingsSchema.properties.<key>.titleKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |
| `manifest.settingsSchema.properties.<key>.descriptionKey` | `string` | [清单展示字段](./i18n.md#清单展示字段) |

## 插件图标与资源

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.contributes.iconPacks` | `array` | [IconPack](./icons.md#iconpack) |
| `manifest.contributes.iconPacks[].id` | `string` | [IconPack](./icons.md#iconpack) |
| `manifest.contributes.iconPacks[].title` | `string` | [IconPack](./icons.md#iconpack) |
| `manifest.contributes.iconPacks[].titleKey` | `string` | [IconPack](./icons.md#iconpack) |
| `manifest.contributes.iconPacks[].description` | `string` | [IconPack](./icons.md#iconpack) |
| `manifest.contributes.iconPacks[].descriptionKey` | `string` | [IconPack](./icons.md#iconpack) |
| `manifest.contributes.iconPacks[].paint` | `string` | [IconPack](./icons.md#iconpack) |
| `manifest.contributes.iconPacks[].index` | `string` | [IconPack](./icons.md#iconpack) |
| `manifest.contributes.iconPacks[].license` | `string` | [IconPack](./icons.md#iconpack) |

## 插件全局设置

| 字段路径 | 类型 | 定义 |
| --- | --- | --- |
| `manifest.settingsSchema.properties` | `Record<string, WidgetSetting>` | [PluginSettings.properties](./plugin-settings.md#pluginsettings-properties) |
| `manifest.settingsSchema.properties.<key>.type` | `"string" \| "integer" \| "boolean"` | [PluginSetting.type](./plugin-settings.md#pluginsetting-type) |
| `manifest.settingsSchema.properties.<key>.title` | `string` | [PluginSetting.title](./plugin-settings.md#pluginsetting-title) |
| `manifest.settingsSchema.properties.<key>.description` | `string` | [PluginSetting.description](./plugin-settings.md#pluginsetting-description) |
| `manifest.settingsSchema.properties.<key>.default` | `string \| number \| boolean` | [PluginSetting.default](./plugin-settings.md#pluginsetting-default) |
| `manifest.settingsSchema.properties.<key>.minimum` | `integer` | [PluginSetting.minimum](./plugin-settings.md#pluginsetting-minimum) |
| `manifest.settingsSchema.properties.<key>.maximum` | `integer` | [PluginSetting.maximum](./plugin-settings.md#pluginsetting-maximum) |
| `manifest.settingsSchema.properties.<key>.control` | `"search-select" \| "password"` | [PluginSetting.control](./plugin-settings.md#pluginsetting-control) |
| `manifest.settingsSchema.properties.<key>.visibility` | `"public" \| "private"` | [PluginSetting.visibility](./plugin-settings.md#pluginsetting-visibility) |
| `manifest.settingsSchema.properties.<key>.options` | `SettingOption[]` | [PluginSetting.options](./plugin-settings.md#pluginsetting-options) |
| `manifest.settingsSchema.properties.<key>.options[].label` | `string` | [PluginSettingOption.label](./plugin-settings.md#pluginsettingoption-label) |
| `manifest.settingsSchema.properties.<key>.options[].value` | `string` | [PluginSettingOption.value](./plugin-settings.md#pluginsettingoption-value) |
| `manifest.settingsSchema.properties.<key>.maxLength` | `integer` | [PluginSetting.maxLength](./plugin-settings.md#pluginsetting-maxlength) |

