Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11), free to diverge. Tree copied sans upstream .git; upstream remote added for future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19. Preserves docs/ARCHITECTURE.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
114 lines
4.0 KiB
Markdown
114 lines
4.0 KiB
Markdown
---
|
||
summary: "Adds Microsoft Foundry model provider support to OpenClaw."
|
||
read_when:
|
||
- You are installing, configuring, or auditing the microsoft-foundry plugin
|
||
title: "Microsoft Foundry plugin"
|
||
---
|
||
|
||
# Microsoft Foundry plugin
|
||
|
||
Adds Microsoft Foundry model provider support to OpenClaw.
|
||
|
||
## Distribution
|
||
|
||
- Package: `@openclaw/microsoft-foundry`
|
||
- Install route: included in OpenClaw
|
||
|
||
## Surface
|
||
|
||
providers: microsoft-foundry; contracts: imageGenerationProviders
|
||
|
||
<!-- openclaw-plugin-reference:manual-start -->
|
||
|
||
- Image-generation provider: `microsoft-foundry`
|
||
|
||
## Requirements
|
||
|
||
- A Microsoft Foundry or Azure AI Foundry resource with deployments.
|
||
- API-key auth through `AZURE_OPENAI_API_KEY` or a configured provider API key.
|
||
- For Entra ID auth, install the Azure CLI and run `az login` before
|
||
onboarding. OpenClaw refreshes Microsoft Foundry runtime tokens through
|
||
`az account get-access-token`.
|
||
|
||
## Chat models
|
||
|
||
Microsoft Foundry chat deployments use the provider model ref
|
||
`microsoft-foundry/<deployment-name>`. Onboarding discovers Foundry resources
|
||
and deployments with the Azure CLI, then writes the selected deployment name to
|
||
the model config.
|
||
|
||
OpenClaw uses the Foundry `/openai/v1` endpoint for supported OpenAI-compatible
|
||
chat APIs:
|
||
|
||
- GPT, `o*`, `computer-use-preview`, and DeepSeek-V4 model families default to
|
||
`openai-responses`.
|
||
- MAI-DS-R1 and other chat-completion deployments use `openai-completions`
|
||
unless an explicit supported API is configured.
|
||
- MAI-DS-R1 is recorded as reasoning-capable through reasoning content, not
|
||
through `reasoning_effort`. Its context and output token metadata are
|
||
163,840 tokens.
|
||
|
||
Anthropic Claude deployments in Microsoft Foundry use the Anthropic Messages
|
||
API shape, not the OpenAI-compatible `/openai/v1` shape. Configure those as a
|
||
custom `anthropic-messages` provider until the Microsoft Foundry plugin grows a
|
||
native Anthropic runtime. When the Foundry deployment name differs from the
|
||
Claude model ID, set `params.canonicalModelId` on the model entry so OpenClaw
|
||
can apply model-specific wire contracts, map `/think off` correctly, and
|
||
preserve signed thinking safely.
|
||
|
||
## MAI image generation
|
||
|
||
The plugin registers `microsoft-foundry` for `image_generate` with the current
|
||
Microsoft AI image models:
|
||
|
||
- `MAI-Image-2.5-Flash`
|
||
- `MAI-Image-2.5`
|
||
- `MAI-Image-2e`
|
||
- `MAI-Image-2`
|
||
|
||
Use a deployed MAI image deployment name as the model ref. The provider does
|
||
not declare a default image model because the MAI API requires your deployment
|
||
name in the request `model` field:
|
||
|
||
```json5
|
||
{
|
||
agents: {
|
||
defaults: {
|
||
imageGenerationModel: {
|
||
primary: "microsoft-foundry/<deployment-name>",
|
||
timeoutMs: 600000,
|
||
},
|
||
},
|
||
},
|
||
}
|
||
```
|
||
|
||
Prompt-only generation calls Microsoft Foundry's MAI generations endpoint:
|
||
`/mai/v1/images/generations`. Reference-image edits call
|
||
`/mai/v1/images/edits` and are limited to `MAI-Image-2.5-Flash` and
|
||
`MAI-Image-2.5` deployments.
|
||
|
||
Prompt-only generation can use a custom deployment name with just the Foundry
|
||
endpoint configured. For image edits with a custom deployment name, select the
|
||
deployment through onboarding or include model metadata so OpenClaw can verify
|
||
that the deployment is backed by `MAI-Image-2.5-Flash` or `MAI-Image-2.5`.
|
||
|
||
MAI image constraints:
|
||
|
||
- Output: one PNG image per request.
|
||
- Size: default `1024x1024`; both width and height must be at least 768 px.
|
||
- Total pixels: width × height must be at most 1,048,576.
|
||
- Edits: one PNG or JPEG input image.
|
||
- Unsupported shared hints such as `aspectRatio`, `resolution`, `quality`,
|
||
`background`, and non-PNG `outputFormat` are not sent to Microsoft Foundry.
|
||
|
||
## Troubleshooting
|
||
|
||
- `az: command not found`: install the Azure CLI or use API-key auth.
|
||
- `Microsoft Foundry endpoint missing for MAI image generation`: select a
|
||
Foundry deployment through onboarding or add `models.providers.microsoft-foundry.baseUrl`.
|
||
- `supports MAI image deployments only`: the selected image model points at a
|
||
non-MAI deployment. Use a deployed MAI image model for `image_generate`.
|
||
|
||
<!-- openclaw-plugin-reference:manual-end -->
|