























@@ -169,6 +169,7 @@ or npm install metadata. Those belong in your plugin code and `package.json`.
169169| `modelIdNormalization` | No | `object` | Provider-owned model-id alias/prefix cleanup that must run before provider runtime loads. |
170170| `providerEndpoints` | No | `object[]` | Manifest-owned endpoint host/baseUrl metadata for provider routes that core must classify before provider runtime loads. |
171171| `providerRequest` | No | `object` | Cheap provider-family and request-compatibility metadata used by generic request policy before provider runtime loads. |
172+| `secretProviderIntegrations` | No | `Record<string, object>` | Declarative SecretRef exec provider presets that setup or install surfaces can offer without hardcoding provider-specific integrations in core. |
172173| `cliBackends` | No | `string[]` | CLI inference backend ids owned by this plugin. Used for startup auto-activation from explicit config refs. |
173174| `syntheticAuthRefs` | No | `string[]` | Provider or CLI backend refs whose plugin-owned synthetic auth hook should be probed during cold model discovery before runtime loads. |
174175| `nonSecretAuthMarkers` | No | `string[]` | Bundled-plugin-owned placeholder API key values that represent non-secret local, OAuth, or ambient credential state. |
@@ -1080,6 +1081,72 @@ Provider fields:
10801081| `compatibilityFamily` | `"moonshot"` | Optional provider-family compatibility bucket for shared request helpers. |
10811082| `openAICompletions` | `object` | OpenAI-compatible completions request flags, currently `supportsStreamingUsage`. |
108210831084+## secretProviderIntegrations reference
1085+1086+Use `secretProviderIntegrations` when a plugin can publish a reusable SecretRef
1087+exec provider preset. OpenClaw reads this metadata before plugin runtime loads,
1088+stores plugin ownership in `secrets.providers.<alias>.pluginIntegration`, and
1089+leaves actual secret resolution to the SecretRef runtime.
1090+Presets are exposed only for bundled plugins and installed plugins discovered
1091+from the managed plugin install roots, such as git and ClawHub installs.
1092+1093+```json
1094+{
1095+"secretProviderIntegrations": {
1096+"secret-store": {
1097+"providerAlias": "team-secrets",
1098+"displayName": "Team secrets",
1099+"source": "exec",
1100+"command": "${node}",
1101+"args": ["./bin/resolve-secrets.mjs"]
1102+ }
1103+ }
1104+}
1105+```
1106+1107+The map key is the integration id. If `providerAlias` is omitted, OpenClaw uses
1108+the integration id as the SecretRef provider alias. Provider aliases must match
1109+the normal SecretRef provider alias pattern, for example `team-secrets` or
1110+`onepassword-work`.
1111+1112+When an operator selects the preset, OpenClaw writes a provider reference like:
1113+1114+```json
1115+{
1116+"secrets": {
1117+"providers": {
1118+"team-secrets": {
1119+"source": "exec",
1120+"pluginIntegration": {
1121+"pluginId": "acme-secrets",
1122+"integrationId": "secret-store"
1123+ }
1124+ }
1125+ }
1126+ }
1127+}
1128+```
1129+1130+At startup/reload, OpenClaw resolves that provider by loading current plugin
1131+manifest metadata, checking that the owning plugin is installed and active, and
1132+materializing the exec command from the manifest. Disabling or removing the
1133+plugin revokes the provider for active SecretRefs. Operators who want standalone
1134+exec configuration can still write manual `command`/`args` providers directly.
1135+1136+Only `source: "exec"` presets are currently supported. `command` must be
1137+`${node}`, and `args[0]` must be a `./` plugin-root-relative resolver script.
1138+OpenClaw materializes it at startup/reload to the current Node executable and
1139+the absolute in-plugin script path. Node options such as `--require`, `--import`,
1140+`--loader`, `--env-file`, `--eval`, and `--print` are not part of the manifest
1141+preset contract. Operators who need non-Node commands can configure standalone
1142+manual exec providers directly.
1143+1144+OpenClaw derives `trustedDirs` for manifest presets from the plugin root and,
1145+for `${node}` presets, the current Node executable directory. Manifest-authored
1146+`trustedDirs` are ignored. Other exec provider options such as `timeoutMs`,
1147+`maxOutputBytes`, `jsonOnly`, `env`, `passEnv`, and `allowInsecurePath` pass
1148+through to the normal SecretRef exec provider config.
1149+10831150## modelPricing reference
1084115110851152Use `modelPricing` when a provider needs control-plane pricing behavior before
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。