Commit Graph

636 Commits

Author SHA1 Message Date
Vincent Koc
e2898eaa88 docs(providers): remove duplicate H1s in models and kilocode 2026-05-06 09:12:01 -07:00
Peter Steinberger
5cf55ed3f1 fix(openai): suppress stale Codex OAuth models 2026-05-06 09:38:07 +01:00
Vincent Koc
24fc6a435f docs(providers/senseaudio): add missing Related section 2026-05-05 23:34:07 -07:00
Vincent Koc
506b0bbaad docs(providers): remove duplicate H1 in provider directory 2026-05-05 23:25:47 -07:00
Vincent Koc
963073088d docs: audit and fix 5 pages (sentence-case headings + Related/title) 2026-05-05 21:48:05 -07:00
Vincent Koc
4ee234f8ee docs: typography hygiene across 6 pages
Replaced 66 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.

- docs/channels/mattermost.md: 12 chars
- docs/tools/plugin.md: 11 chars
- docs/providers/xai.md: 11 chars
- docs/plugins/building-plugins.md: 11 chars
- docs/concepts/streaming.md: 11 chars
- docs/concepts/model-providers.md: 11 chars
2026-05-05 20:45:39 -07:00
Vincent Koc
fcb188a41a docs(providers): tighten SenseAudio, Xiaomi, and Inworld pages
SenseAudio (docs/providers/senseaudio.md): removed the duplicate
'# SenseAudio' H1 (Mintlify renders title from frontmatter; an in-body
H1 produces a brittle anchor). Reordered the properties table to lead
with provider id, plugin, and the speechProviders/mediaUnderstanding
contract before the website/docs links, sourced from
extensions/senseaudio/openclaw.plugin.json. Lowercased the H2 to
'Getting started' for consistency.

Xiaomi (docs/providers/xiaomi.md): expanded the 4-row properties table
to include plugin, onboarding flag, direct CLI flag, and contracts
(chat completions plus speechProviders). The TTS default is surfaced
inline so readers see the dual-contract setup in one glance, sourced
from extensions/xiaomi/openclaw.plugin.json.

Inworld (docs/providers/inworld.md): renamed the table header from
'Detail' to 'Property' and added bundled-plugin status and the
speechProviders contract. Surfaced the audio output formats (MP3,
OGG_OPUS, PCM 22050 Hz) as a Property row so readers do not have to
read the Audio outputs accordion to confirm telephony support.
Verified against extensions/inworld/openclaw.plugin.json.
2026-05-05 17:33:59 -07:00
Vincent Koc
813fe0a3be docs(providers): rewrite Tencent, Mistral, and Inferrs with code-verified setup
Tencent (docs/providers/tencent.md): rewrote against
extensions/tencent/openclaw.plugin.json. Removed the duplicate
'# Tencent Cloud TokenHub' H1 (Mintlify renders title from frontmatter;
the in-body H1 produces a brittle anchor). Added a properties summary
with onboarding flag and direct CLI flag. Promoted the Quick Start
auth step into a CodeGroup covering onboarding/direct/env. Added a
tiered-pricing table sourced from the bundled cost.tieredPricing
metadata so cost expectations are visible alongside the catalog.
Replaced trailing bullet list under 'Related documentation' with a
CardGroup pointing at TokenHub product/model-card pages.

Mistral (docs/providers/mistral.md): replaced the 3-bullet provider
header with a properties table that surfaces all four contracts the
plugin registers (chat completions via the model catalog, media
understanding Voxtral batch, voice-call streaming Voxtral Realtime, and
memory embeddings via mistral-embed) plus the onboarding flag and
direct CLI flag. Removed a stray 'Z.AI uses Bearer auth' line that had
leaked into the 'Auth and base URL' accordion from a copy-paste
elsewhere; replaced it with a Mistral-correct base-URL override note.
Verified the seven-row LLM catalog matches plugin manifest model ids.

Inferrs (docs/providers/inferrs.md): added a properties table
explicitly stating that inferrs is NOT a bundled plugin and is
configured under models.providers.inferrs (no onboarding choice flag,
no extension package). Cross-linked SGLang and vLLM as bundled
self-hosted alternatives so readers picking a local backend can
compare.
2026-05-05 17:24:53 -07:00
Vincent Koc
6aaf235aee docs(providers): rewrite GLM, Runway, and Vydra with code-verified setup
GLM (docs/providers/glm.md): rewrote against extensions/zai/openclaw.plugin.json.
Removed the duplicate '# GLM models' H1 (Mintlify renders title from
frontmatter; an in-body H1 produces a brittle anchor). Replaced the
two-column model table with a single Notes column covering all 13
bundled refs, including which are reasoning, which accept image input,
and which is the default image model (zai/glm-4.6v from the auto-routing
defaults). Expanded the auth-choice step into a CodeGroup covering all
five onboarding choices (zai-api-key, zai-coding-global, zai-coding-cn,
zai-global, zai-cn) sourced from the plugin manifest's
providerAuthChoices.

Runway (docs/providers/runway.md): expanded the supported-modes table
to cover all seven Runway models from
extensions/runway/video-generation-provider.ts. Text-to-video now lists
veo3, veo3.1, veo3.1_fast alongside gen4.5; image-to-video adds
gen4_turbo, gen3a_turbo, veo3, veo3.1, and veo3.1_fast. Added an
aspect-ratio table covering the documented RUNWAY_TEXT_ASPECT_RATIOS
('16:9'/'9:16') and RUNWAY_EDIT_ASPECT_RATIOS ('1:1'/'16:9'/'9:16'/
'3:4'/'4:3'/'21:9'). Promoted the existing properties table with
plugin/onboarding/CLI flag rows from the manifest.

Vydra (docs/providers/vydra.md): added a properties table sourced from
extensions/vydra/openclaw.plugin.json, including the three
providerAuthContract memberships (image/video/speech) and the
vydra-api-key onboarding choice plus --vydra-api-key direct flag. Kept
the existing Warning about the apex-host redirect intact.
2026-05-05 17:15:52 -07:00
Vincent Koc
58c706451e docs(providers): rewrite Cerebras, Groq, and SGLang with code-verified setup
Cerebras (docs/providers/cerebras.md): rewrote against
extensions/cerebras/openclaw.plugin.json. Added a complete properties
summary, CodeGroup for onboarding/direct-flag/env, a Reasoning column on
the four-model catalog table (Z.ai GLM 4.7 and GPT OSS 120B are
reasoning-capable; Qwen 3 235B and Llama 3.1 8B are not), and a
CardGroup of related links.

Groq (docs/providers/groq.md): expanded the catalog from 4 hand-picked
entries to all 18 bundled models from extensions/groq/openclaw.plugin.json
with model refs, reasoning flags, input modalities, and context windows.
Removed a stale 'Mixtral 8x7B' row that does not exist in the bundled
catalog. Surfaced the audio media-understanding contract (whisper-large-v3-turbo,
auto priority 20) as a properties table and explained the per-model
reasoning_effort mapping for qwen/qwen3-32b vs the GPT OSS reasoning
models. Added an onboarding CodeGroup so the API-key step does not skip
'openclaw onboard --auth-choice groq-api-key'.

SGLang (docs/providers/sglang.md): added a properties summary table at
the top, including the Qwen/Qwen3-8B model placeholder from
extensions/sglang/defaults.ts, the supportsStreamingUsage runtime flag,
and the modelPricing.external: false setting. Clarified that the
onboarding choice id is bare 'sglang' (custom method) rather than the
'-api-key' suffix used by other providers, matching the manifest.
2026-05-05 16:58:01 -07:00
Vincent Koc
67657356f0 docs(providers): rewrite Fireworks page with thinking-off context
Verified against extensions/fireworks/openclaw.plugin.json and the
bundled provider entry. The plugin is enabledByDefault, registers the
`fireworks-ai` alias (defineSingleProviderPluginEntry), and dynamically
clones the Fire Pass template for any custom Fireworks model id with
thinking forced off when the id matches the Kimi pattern (model-id.ts +
thinking-policy.ts).

Added: alias mention, direct CLI flag, properties summary, dedicated
Note explaining why thinking is forced off for Kimi (the bundled
thinking policy + Fireworks API rejecting reasoning_* params), and a
'Why thinking is off' accordion pointing operators at Moonshot for
native reasoning. Replaced the broken `/concepts/model-providers` Tip
ordering and added a Thinking modes card to round out cross-links.

Reorganized Step 1 as a CodeGroup so onboarding, direct flag, and env
fallback are visible up front instead of buried under a separate
non-interactive example block (kept the non-interactive block for full
unattended install). Verified `/concepts/model-providers`,
`/help/troubleshooting`, `/tools/thinking`, and `/providers/moonshot`
targets exist on origin/main.
2026-05-05 16:41:41 -07:00
Vincent Koc
d9545babb5 docs(providers): rewrite Alibaba page with code-verified setup
Fixed: the Getting Started step pointed users at `--auth-choice
qwen-standard-api-key`, which is the Qwen plugin's onboarding choice,
not Alibaba's. The bundled Alibaba plugin's manifest declares
`alibaba-model-studio-api-key` as its onboarding choiceId and
`--alibaba-model-studio-api-key <key>` as its direct CLI flag
(extensions/alibaba/openclaw.plugin.json). Restate against that source
of truth.

Added: provider properties summary table; explicit baseUrl override for
the China-region DashScope endpoint with the trailing-slash handling
documented; per-mode capability table (text-to-video / image-to-video /
reference-to-video) sourced from DASHSCOPE_WAN_VIDEO_CAPABILITIES in
src/video-generation/dashscope-compatible.ts; default-duration note
sourced from DEFAULT_VIDEO_GENERATION_DURATION_SECONDS = 5; Models FAQ
cross-link for auth profile mechanics; clarified the overlap with the
Qwen plugin (one MODELSTUDIO_API_KEY authenticates both).

Verified Wan model list, default model id, default base URL, and auth
env precedence against extensions/alibaba/video-generation-provider.ts
and extensions/alibaba/openclaw.plugin.json.
2026-05-05 16:38:12 -07:00
Sally O'Malley
02ac7dc5a6 fix(openrouter): keep DeepSeek V4 reasoning effort valid (#77423)
Summary:
- The PR removes `max` from OpenRouter DeepSeek V4 thinking profiles, maps stale OpenRouter `max` overrides to `xhigh`, preserves direct DeepSeek behavior, and updates docs, tests, and changelog.
- Reproducibility: yes. Source inspection on current main shows OpenRouter DeepSeek V4 advertises `max` and se ... ffort: "max"`, matching the linked 400 logs; I did not need a live OpenRouter request for this assist pass.

Automerge notes:
- Ran the ClawSweeper repair loop before final review.
- Addressed earlier ClawSweeper review findings before merge.
- Included post-review commit in the final squash: docs(changelog): credit OpenRouter duplicate fix
- Included post-review commit in the final squash: fix(openrouter): keep DeepSeek V4 reasoning effort valid

Validation:
- ClawSweeper review passed for head becdea4223.
- Required merge gates passed before the squash merge.

Prepared head SHA: becdea4223
Review: https://github.com/openclaw/openclaw/pull/77423#issuecomment-4372880583

Co-authored-by: sallyom <somalley@redhat.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-04 21:05:05 +00:00
Peter Steinberger
70850d15ee docs: document google meet elevenlabs voice setup 2026-05-04 07:16:48 +01:00
Peter Steinberger
7d98e7f1fe docs: document realtime voice parity (#77064) 2026-05-04 05:42:59 +01:00
Vincent Koc
f1340be051 feat(openrouter): expand app attribution categories 2026-05-03 17:07:22 -07:00
Vincent Koc
34b3471f85 feat(openrouter): add opt-in response caching
Adds opt-in OpenRouter response caching params, preserves alias precedence across config scopes, and documents the behavior.\n\nVerification:\n- pnpm test:serial src/agents/pi-embedded-runner/proxy-stream-wrappers.test.ts src/agents/pi-embedded-runner-extraparams-openrouter.test.ts -- --reporter=verbose\n- pnpm exec oxfmt --check --threads=1 src/agents/pi-embedded-runner/proxy-stream-wrappers.ts src/plugin-sdk/provider-stream.ts src/agents/pi-embedded-runner/proxy-stream-wrappers.test.ts src/agents/pi-embedded-runner-extraparams-openrouter.test.ts docs/providers/openrouter.md CHANGELOG.md\n- git diff --check\n- Testbox tbx_01kqr4dakpsk9rswz9pem49nz0: pnpm check:changed (https://github.com/openclaw/openclaw/actions/runs/25294515012)
2026-05-03 17:02:18 -07:00
pashpashpash
8f4eaa9c00 Stop heartbeat tool turns from asking for HEARTBEAT_OK (#76338)
* fix heartbeat tool prompt sentinel

* fix: remove agent runtime fallback config
2026-05-03 13:46:26 +09:00
Val Alexander
05c9492bff fix: reduce WebUI session latency churn (#76277) thanks @BunsDev
Reduce WebUI/Gateway latency churn by avoiding redundant session reloads, carrying session keys through transcript update events, and deferring explicit media provider discovery. Includes changelog attribution and closes the referenced runtime latency issues.
2026-05-02 18:39:06 -05:00
Vincent Koc
dd43caa27a Fix Trinity main-session compatibility mismatch (#73388)
Summary:
- The PR marks Arcee Trinity Large Thinking tool-incompatible in catalog/config/runtime paths, updates Arcee docs and changelog, and adds provider regression tests.
- Reproducibility: yes. The linked reports provide concrete main-session failure logs, and current main still exposes Trinity without `compat.supportsTools:false` while the runtime sends tools unless that flag is false.

ClawSweeper fixups:
- Included follow-up commit: fix(arcee): disable Trinity tools in main sessions
- Included follow-up commit: fix(clawsweeper): address review for automerge-openclaw-openclaw-7338…
- Included follow-up commit: fix(arcee): repair Trinity main-session compatibility

Validation:
- ClawSweeper review passed for head 4c669d66cb.
- Required merge gates passed before the squash merge.

Prepared head SHA: 4c669d66cb
Review: https://github.com/openclaw/openclaw/pull/73388#issuecomment-4338585215

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-02 23:10:13 +00:00
Peter Steinberger
2fd1e7b32d fix: normalize LM Studio binary reasoning efforts 2026-05-02 22:46:44 +01:00
Peter Steinberger
e0221d37e5 fix(openrouter): preserve deepseek v4 reasoning replay 2026-05-02 10:48:28 +01:00
pashpashpash
8adbee3a68 docs: fix codex strict json examples (#75916) 2026-05-02 15:30:34 +09:00
Peter Steinberger
24d5649284 fix(openrouter): strip Anthropic reasoning prefill 2026-05-02 06:48:25 +01:00
Peter Steinberger
0b3d260285 fix: let lmstudio skip native preload 2026-05-02 06:13:00 +01:00
Peter Steinberger
a6240b26aa fix(minimax): respect usage base url 2026-05-02 05:48:55 +01:00
Peter Steinberger
f2370b769c fix(web-search): allow MiniMax OAuth search credentials
Co-authored-by: 周鹤0668001310 <zhou.he3@xydigit.com>
2026-05-02 05:43:08 +01:00
Peter Steinberger
ed6df7dd8b fix(gemini): reuse google provider config for web search 2026-05-02 05:15:02 +01:00
Peter Steinberger
b813183bfd fix(web-search): support provider base url overrides 2026-05-02 03:44:46 +01:00
pashpashpash
9fb90f3d29 docs: clarify Codex subscription runtime (#75910) 2026-05-02 11:33:20 +09:00
Peter Steinberger
a273441bbe feat(xai): add Grok 4.3 default model 2026-05-02 02:41:01 +01:00
Peter Steinberger
5e3265b09b feat: support openai tts extra body 2026-05-01 22:57:35 +01:00
Shakker
6c86972fbe docs: note zai manifest catalog migration 2026-05-01 14:10:21 +01:00
Shakker
3a24a25f4b docs: note venice manifest catalog migration 2026-05-01 13:55:17 +01:00
Shakker
2c152ffa7f docs: note groq manifest catalog migration 2026-05-01 13:45:40 +01:00
NVIDIAN
797d574dfd fix(deepseek): expose V4 max thinking levels (#73008)
Merged via squash.

Prepared head SHA: ef561a59de
Co-authored-by: ai-hpc <183861985+ai-hpc@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-04-30 23:34:05 +08:00
Peter Steinberger
3766bbb674 fix(models): restore codex mini oauth route 2026-04-30 14:43:39 +01:00
Agustin Rivera
9a0b43c47e feat(nvidia): add NVIDIA provider with onboarding flow (#71204)
* feat(nvidia): add NVIDIA provider with onboarding flow

Add the NVIDIA build.nvidia.com API as a bundled provider. Default model
is nvidia/nvidia/nemotron-3-super-120b-a12b: first segment is the provider
id, remaining "nvidia/nemotron-3-super-120b-a12b" is the literal upstream
model id (which happens to start with "nvidia/" because NVIDIA is also the
model maker).

Supporting core change: introduce a provider capability flag
nativeIdsIncludeProviderPrefix so providers whose native catalog ids
intentionally include their provider prefix (OpenRouter) opt into self-prefix
dedupe in modelKey, without hardcoding provider names in core. Providers
whose ids merely happen to start with their own name (NVIDIA) leave the flag
unset and get the full <provider>/<model-id> concatenation.

- extensions/nvidia/*: new plugin, catalog, onboarding, tests, docs
- extensions/openrouter/index.ts: declare nativeIdsIncludeProviderPrefix
- src/plugins/types.ts: add field to ProviderPlugin
- src/plugins/registry.ts: populate self-prefix set on registration
- src/agents/provider-self-prefix.ts: sync accessor used by modelKey
- src/agents/model-ref-shared.ts: modelKey consults the flag
- test updates for affected surfaces

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* refactor(model-picker): simplify literal-prefix display to label-only

* fix(model-picker): pass workspaceDir/env to allowlist literal-prefix resolution

* chore: untrack generated baseline JSON artifacts (gitignored)

* fix(nvidia): show literal model ref in picker and onboarding notes

* fix(nvidia): show hint whenever display label differs from stored config

* fix(nvidia): drop redundant hint from Keep current label

* fix(nvidia): restore literal double-prefix display labels

* fix(picker): handle literal-prefix fast path

* fix(picker): show literal keep label

* fix(docs): update nvidia provider docs

* fix(nvidia): update test helper imports

* fix(changelog): add nvidia provider entry

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 09:25:12 -07:00
Peter Steinberger
9d1c5a77c2 fix: add vercel ai gateway thinking profile
Adds a Vercel AI Gateway provider thinking-profile resolver for trusted OpenAI and Anthropic upstream refs, preserving catalog compat fallback for unsupported/base-only refs.

Includes provider tests, docs, and changelog coverage. Supersedes #41561.

Co-authored-by: Zcg2021 <80769518+Zcg2021@users.noreply.github.com>
2026-04-29 12:13:20 +01:00
Peter Steinberger
04f6ffd8be fix(ollama): resolve cloud models omitted from tags 2026-04-29 04:37:52 +01:00
Vincent Koc
14f140d6f0 docs(providers/bedrock): document Opus 4.7 temperature omission
For 771846c5fa: docs/providers/bedrock.md "Advanced configuration" now
includes a "Claude Opus 4.7 temperature" accordion describing that
OpenClaw automatically omits `temperature` for Opus 4.7 Bedrock refs
(foundation model ids, named profiles, application inference profiles
whose underlying model resolves to Opus 4.7, and dotted `opus-4.7`
variants with regional prefixes), since Bedrock rejects the parameter on
that model. The fix has no user-facing knob, but Opus 4.7 Bedrock users
need to know the request shape changes silently.
2026-04-28 13:39:53 -07:00
Peter Steinberger
53d34e7cde fix(cli): support image files in model probes 2026-04-28 18:52:15 +01:00
Vincent Koc
3c0eac31f1 docs(providers/qwen): note explicit qwen3.6-plus opt-in on Coding Plan
For 058b57867e: docs/providers/qwen.md "Qwen 3.6 Plus availability"
accordion now records that the bundled catalog still does not advertise
`qwen3.6-plus` on Coding Plan endpoints, but explicitly configured
`models.providers.qwen.models` entries for that model are honored on
Coding Plan baseUrls so subscribers whose plan enables it can opt in. The
upstream API still decides whether the call succeeds.
2026-04-28 03:40:39 -07:00
Peter Steinberger
1b13f53047 fix(ollama): reject garbled Kimi symbol output 2026-04-28 11:20:15 +01:00
Gabriel Kripalani
17ef9ef895 feat(openrouter): add video generation provider (#72700)
Adds OpenRouter video generation via video_generate, with hardened async polling/download handling, docs, and regression coverage.

Validation:
- pnpm test src/plugins/plugin-lookup-table.test.ts src/secrets/target-registry.fast-path.test.ts src/gateway/server-startup-post-attach.test.ts extensions/openrouter/video-generation-provider.test.ts src/video-generation/live-test-helpers.test.ts src/media-generation/provider-capabilities.contract.test.ts src/agents/pi-embedded-helpers/failover-matches.test.ts src/plugins/manifest-metadata-scan.test.ts src/agents/openai-transport-stream.test.ts src/media-understanding/openai-compatible-audio.test.ts src/agents/schema-normalization-runtime-contract.test.ts src/agents/provider-request-config.test.ts src/plugin-sdk/provider-stream.test.ts src/agents/pi-embedded-runner/run/attempt.spawn-workspace.websocket.test.ts -- --reporter=verbose
- OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_TEST_QUIET=0 OPENCLAW_LIVE_VIDEO_GENERATION_MODELS=openrouter/google/veo-3.1-fast pnpm test:live src/video-generation/video-generation.live.test.ts -- --runInBand

Co-authored-by: notamicrodose <gabrielkripalani@me.com>
2026-04-28 10:57:31 +01:00
Peter Steinberger
fac116cfa4 fix: resolve providerless image model refs 2026-04-28 10:18:07 +01:00
Peter Steinberger
62997f7fce fix(deepseek): backfill v4 assistant reasoning replay 2026-04-28 10:07:39 +01:00
Peter Steinberger
732e5805e3 fix(ollama): preserve configured native thinking 2026-04-28 09:20:44 +01:00
Peter Steinberger
db40ec404a fix: honor Ollama thinking catalog metadata 2026-04-28 09:15:28 +01:00
Peter Steinberger
78a12706ec fix(docs): make docs formatter mintlify-safe 2026-04-28 08:13:21 +01:00