@atomic-ai/msco-openclaw
v0.1.13
Published
Microsoft Copilot provider plugin for OpenClaw.
Readme
msco-openclaw
Microsoft Copilot provider plugin for OpenClaw.
Install
Install from a local path:
openclaw plugins install /absolute/path/to/msco-openclawEnable the provider plugin:
openclaw plugins enable msco-openclawRestart OpenClaw after enabling.
Authenticate
Run token auth:
openclaw models auth login --provider microsoft-copilot --set-defaultWhen prompted, paste your Microsoft Copilot access token.
Configuration
Environment variables:
MICROSOFT_COPILOT_ACCESS_TOKEN=
MICROSOFT_COPILOT_COOKIE=
MICROSOFT_COPILOT_CONVERSATION_ID=
MICROSOFT_COPILOT_CLIENT_SESSION_ID=
MICROSOFT_COPILOT_MODE=reasoning
MICROSOFT_COPILOT_CHANNEL=edge
MICROSOFT_COPILOT_API_VERSION=2
MICROSOFT_COPILOT_DEBUG=0
MICROSOFT_COPILOT_TRACE=0
MICROSOFT_COPILOT_TRACE_FILE=logs/copilot-session.ndjsonLegacy COPILOT_* names are accepted.
Model
This plugin currently exposes one model:
microsoft-copilot/copilot
Thinking mapping:
off,minimal,low->smartmedium,high,xhigh->reasoning
Limitations (v1)
- Single-model provider: only
microsoft-copilot/copilotis supported. - Token-based auth only (paste token via
openclaw models auth login). - Usage/quota endpoint integration is not included in v1.
Troubleshooting
Microsoft Copilot token missing- Re-run:
openclaw models auth login --provider microsoft-copilot --set-default - Confirm
MICROSOFT_COPILOT_ACCESS_TOKENis set (or configured in OpenClaw auth storage).
- Re-run:
Unknown model error
- Use exactly:
microsoft-copilot/copilot. - This provider is intentionally single-model in v1.
- Use exactly:
Plugin not available after install
- Ensure plugin is enabled:
openclaw plugins enable msco-openclaw - Restart OpenClaw after enabling.
- Ensure plugin is enabled:
No usage/quota numbers shown
- Expected in v1. Usage endpoint wiring is not implemented yet.
No output and no visible Copilot web conversation
- Use daemon-safe env (recommended):
mkdir -p ~/.openclaw/logs cat > ~/.openclaw/.env <<'EOF' MICROSOFT_COPILOT_TRACE=1 MICROSOFT_COPILOT_TRACE_FILE=$HOME/.openclaw/logs/msco-openclaw.ndjson EOF - Restart gateway and retry once:
openclaw gateway restart - Inspect trace (latest entries):
tail -n 120 ~/.openclaw/logs/msco-openclaw.ndjson - Quick verification filters:
grep -E "plugin.debug.enabled|plugin.stream.invoked|conversation.create.request|config.fetch.request|socket.connecting|request.start|request.completed|request.failed" ~/.openclaw/logs/msco-openclaw.ndjson | tail -n 80 - Look for these events:
plugin.debug.enabled(confirms daemon loaded env + plugin startup)provider.wrapStreamFn(confirms OpenClaw actually wired this provider's stream path)plugin.stream.invoked(confirms your actual request executed through this plugin)conversation.create.request/config.fetch.request(sanitized outbound HTTP request details)socket.connecting(sanitized websocket URL + headers used)request.startconversation.create.start/conversation.create.donesocket.inbound.eventrequest.completedorrequest.failed
- TUI-visible validation: when debug is enabled and request fails, the trace now includes explicit reasons such as
No Copilot response events received before timeout, which should align with the user-facing error path.
- Use daemon-safe env (recommended):
