mirror of
https://github.com/moltbot/moltbot.git
synced 2026-04-25 23:47:20 +00:00
refactor: move provider discovery config into plugins
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
8bbf281d0c63e38098b2132174b77ed58faf2083fb68cb88f90ebe76d7acda1b config-baseline.json
|
||||
7163170accb9a8b62455ede5437f057d5a9e9ab5da42010cf0f39cbad952071d config-baseline.core.json
|
||||
d5a737eb69a2b2b64526fa0197ef9fe576b1d5d4b949a5c610a8457d5f5706cd config-baseline.json
|
||||
b1a181b667568b5860a80945837d544fdec4f946fba34e871936ce0cd3eb689b config-baseline.core.json
|
||||
3c999707b167138de34f6255e3488b99e404c5132d3fc5879a1fa12d815c31f5 config-baseline.channel.json
|
||||
76d011c68b8bc44ec862afa826dd8ddd7c577d89ce0b822eed306f8e1e9301ab config-baseline.plugin.json
|
||||
031b237717ca108ea2cd314413db4c91edfdfea55f808179e3066331f41af134 config-baseline.plugin.json
|
||||
|
||||
@@ -2301,13 +2301,13 @@ OpenClaw uses the built-in model catalog. Add custom providers via `models.provi
|
||||
- `models.providers.*.models.*.contextWindow`: native model context window metadata.
|
||||
- `models.providers.*.models.*.contextTokens`: optional runtime context cap. Use this when you want a smaller effective context budget than the model's native `contextWindow`.
|
||||
- `models.providers.*.models.*.compat.supportsDeveloperRole`: optional compatibility hint. For `api: "openai-completions"` with a non-empty non-native `baseUrl` (host not `api.openai.com`), OpenClaw forces this to `false` at runtime. Empty/omitted `baseUrl` keeps default OpenAI behavior.
|
||||
- `models.bedrockDiscovery`: Bedrock auto-discovery settings root.
|
||||
- `models.bedrockDiscovery.enabled`: turn discovery polling on/off.
|
||||
- `models.bedrockDiscovery.region`: AWS region for discovery.
|
||||
- `models.bedrockDiscovery.providerFilter`: optional provider-id filter for targeted discovery.
|
||||
- `models.bedrockDiscovery.refreshInterval`: polling interval for discovery refresh.
|
||||
- `models.bedrockDiscovery.defaultContextWindow`: fallback context window for discovered models.
|
||||
- `models.bedrockDiscovery.defaultMaxTokens`: fallback max output tokens for discovered models.
|
||||
- `plugins.entries.amazon-bedrock.config.discovery`: Bedrock auto-discovery settings root.
|
||||
- `plugins.entries.amazon-bedrock.config.discovery.enabled`: turn implicit discovery on/off.
|
||||
- `plugins.entries.amazon-bedrock.config.discovery.region`: AWS region for discovery.
|
||||
- `plugins.entries.amazon-bedrock.config.discovery.providerFilter`: optional provider-id filter for targeted discovery.
|
||||
- `plugins.entries.amazon-bedrock.config.discovery.refreshInterval`: polling interval for discovery refresh.
|
||||
- `plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow`: fallback context window for discovered models.
|
||||
- `plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens`: fallback max output tokens for discovered models.
|
||||
|
||||
### Provider examples
|
||||
|
||||
|
||||
@@ -652,7 +652,7 @@ for usage/billing and raise limits as needed.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Is AWS Bedrock supported?">
|
||||
Yes. OpenClaw has a bundled **Amazon Bedrock (Converse)** provider. With AWS env markers present, OpenClaw can auto-discover the streaming/text Bedrock catalog and merge it as an implicit `amazon-bedrock` provider; otherwise you can explicitly enable `models.bedrockDiscovery.enabled` or add a manual provider entry. See [Amazon Bedrock](/providers/bedrock) and [Model providers](/providers/models). If you prefer a managed key flow, an OpenAI-compatible proxy in front of Bedrock is still a valid option.
|
||||
Yes. OpenClaw has a bundled **Amazon Bedrock (Converse)** provider. With AWS env markers present, OpenClaw can auto-discover the streaming/text Bedrock catalog and merge it as an implicit `amazon-bedrock` provider; otherwise you can explicitly enable `plugins.entries.amazon-bedrock.config.discovery.enabled` or add a manual provider entry. See [Amazon Bedrock](/providers/bedrock) and [Model providers](/providers/models). If you prefer a managed key flow, an OpenAI-compatible proxy in front of Bedrock is still a valid option.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="How does Codex auth work?">
|
||||
|
||||
@@ -27,9 +27,10 @@ cached (default: 1 hour).
|
||||
|
||||
How the implicit provider is enabled:
|
||||
|
||||
- If `models.bedrockDiscovery.enabled` is `true`, OpenClaw will try discovery
|
||||
even when no AWS env marker is present.
|
||||
- If `models.bedrockDiscovery.enabled` is unset, OpenClaw only auto-adds the
|
||||
- If `plugins.entries.amazon-bedrock.config.discovery.enabled` is `true`,
|
||||
OpenClaw will try discovery even when no AWS env marker is present.
|
||||
- If `plugins.entries.amazon-bedrock.config.discovery.enabled` is unset,
|
||||
OpenClaw only auto-adds the
|
||||
implicit Bedrock provider when it sees one of these AWS auth markers:
|
||||
`AWS_BEARER_TOKEN_BEDROCK`, `AWS_ACCESS_KEY_ID` +
|
||||
`AWS_SECRET_ACCESS_KEY`, or `AWS_PROFILE`.
|
||||
@@ -37,18 +38,24 @@ How the implicit provider is enabled:
|
||||
shared config, SSO, and IMDS instance-role auth can work even when discovery
|
||||
needed `enabled: true` to opt in.
|
||||
|
||||
Config options live under `models.bedrockDiscovery`:
|
||||
Config options live under `plugins.entries.amazon-bedrock.config.discovery`:
|
||||
|
||||
```json5
|
||||
{
|
||||
models: {
|
||||
bedrockDiscovery: {
|
||||
enabled: true,
|
||||
region: "us-east-1",
|
||||
providerFilter: ["anthropic", "amazon"],
|
||||
refreshInterval: 3600,
|
||||
defaultContextWindow: 32000,
|
||||
defaultMaxTokens: 4096,
|
||||
plugins: {
|
||||
entries: {
|
||||
"amazon-bedrock": {
|
||||
config: {
|
||||
discovery: {
|
||||
enabled: true,
|
||||
region: "us-east-1",
|
||||
providerFilter: ["anthropic", "amazon"],
|
||||
refreshInterval: 3600,
|
||||
defaultContextWindow: 32000,
|
||||
defaultMaxTokens: 4096,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -120,20 +127,21 @@ export AWS_BEARER_TOKEN_BEDROCK="..."
|
||||
When running OpenClaw on an EC2 instance with an IAM role attached, the AWS SDK
|
||||
can use the instance metadata service (IMDS) for authentication. For Bedrock
|
||||
model discovery, OpenClaw only auto-enables the implicit provider from AWS env
|
||||
markers unless you explicitly set `models.bedrockDiscovery.enabled: true`.
|
||||
markers unless you explicitly set
|
||||
`plugins.entries.amazon-bedrock.config.discovery.enabled: true`.
|
||||
|
||||
Recommended setup for IMDS-backed hosts:
|
||||
|
||||
- Set `models.bedrockDiscovery.enabled` to `true`.
|
||||
- Set `models.bedrockDiscovery.region` (or export `AWS_REGION`).
|
||||
- Set `plugins.entries.amazon-bedrock.config.discovery.enabled` to `true`.
|
||||
- Set `plugins.entries.amazon-bedrock.config.discovery.region` (or export `AWS_REGION`).
|
||||
- You do **not** need a fake API key.
|
||||
- You only need `AWS_PROFILE=default` if you specifically want an env marker
|
||||
for auto mode or status surfaces.
|
||||
|
||||
```bash
|
||||
# Recommended: explicit discovery enable + region
|
||||
openclaw config set models.bedrockDiscovery.enabled true
|
||||
openclaw config set models.bedrockDiscovery.region us-east-1
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
|
||||
|
||||
# Optional: add an env marker if you want auto mode without explicit enable
|
||||
export AWS_PROFILE=default
|
||||
@@ -176,8 +184,8 @@ aws ec2 associate-iam-instance-profile \
|
||||
--iam-instance-profile Name=EC2-Bedrock-Access
|
||||
|
||||
# 3. On the EC2 instance, enable discovery explicitly
|
||||
openclaw config set models.bedrockDiscovery.enabled true
|
||||
openclaw config set models.bedrockDiscovery.region us-east-1
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
|
||||
openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
|
||||
|
||||
# 4. Optional: add an env marker if you want auto mode without explicit enable
|
||||
echo 'export AWS_PROFILE=default' >> ~/.bashrc
|
||||
@@ -194,7 +202,7 @@ openclaw models list
|
||||
- Automatic discovery needs the `bedrock:ListFoundationModels` permission.
|
||||
- If you rely on auto mode, set one of the supported AWS auth env markers on the
|
||||
gateway host. If you prefer IMDS/shared-config auth without env markers, set
|
||||
`models.bedrockDiscovery.enabled: true`.
|
||||
`plugins.entries.amazon-bedrock.config.discovery.enabled: true`.
|
||||
- OpenClaw surfaces the credential source in this order: `AWS_BEARER_TOKEN_BEDROCK`,
|
||||
then `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`, then `AWS_PROFILE`, then the
|
||||
default AWS SDK chain.
|
||||
|
||||
Reference in New Issue
Block a user