Peter Steinberger
0c8c8d95c7
fix(ai): restore cached OpenAI continuation ( #122483 )
2026-08-11 23:24:57 -07:00
Peter Steinberger
8c567306ba
fix(openai): remove duplicate GPT-5.6 picker entry ( #122178 )
...
* fix(openai): remove duplicate GPT-5.6 picker entry
* test(gateway): split OpenAI model picker coverage
* test(openai): align canonical model fixtures
* chore(plugin-sdk): refresh agent harness API baseline
2026-08-11 12:29:36 -07:00
Peter Steinberger
a0ad38e71a
feat(docs-ci): validate docs config examples against the schema ( #121336 )
...
* feat(docs-ci): validate config examples against schema
* docs: teach canonical agent roster configuration
* docs: nest inline environment variables under vars
* docs: update canonical media model keys
* docs: remove retired config keys from examples
* fix(docs-ci): keep audit internals private
* feat(docs-ci): validate plugin-owned config examples
* fix(docs-ci): validate indented config fences
* fix(ci): route manifest changes through docs audit
* chore(docs): refresh generated config baselines
2026-08-10 07:57:56 -07:00
Peter Steinberger
36c6b854eb
fix(openai): honor explicit service tier over fast mode ( #120696 )
2026-08-08 14:26:54 -07:00
Peter Steinberger
6f94e7b23d
docs: clarify OpenAI fast mode precedence ( #120682 )
2026-08-08 13:14:10 -07:00
Vincent Koc
e93de36081
feat(plugins): externalize BytePlus provider ( #116866 )
2026-07-31 22:37:47 +08:00
Vincent Koc
d540255ce7
docs(google): document supported auth paths
2026-07-30 22:56:26 +08:00
EricKwan
e00ef16ee7
fix(xai): follow OAuth default model automatically ( #115617 )
...
* fix(xai): default OAuth login to Grok 4.5
* fix(xai): follow OAuth default model automatically
* fix(xai): send OAuth proxy request headers
* fix(xai): avoid provider API shadowing
* fix(qa): restore current main validation gates
---------
Co-authored-by: echeung <echeung@agentsonly.com >
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com >
2026-07-29 23:05:29 +00:00
Peter Steinberger
48addb3d57
fix(kimi): refresh K3 catalog and add 256K variant ( #113918 )
...
* fix(kimi): retire k3[1m], add k3-256k, k3 now 1M
* fix(kimi): integrate K3 256K catalog split
* docs(kimi): correct K3 thinking-level ladder in thinking.md
2026-07-25 20:57:26 -07:00
Peter Steinberger
3cec82e145
feat(kimi): add first-class Kimi K3 support ( #113909 )
2026-07-25 16:48:10 -07:00
Peter Steinberger
5bea268128
feat(anthropic): complete Claude Opus 5 rollout ( #113392 )
...
* feat(models): add Claude Opus 5 support
* test(models): align Opus 5 setup fixtures
* test(models): update ambient Opus 5 detection
* fix(models): reconcile Opus 5 support with main
2026-07-24 14:55:36 -07:00
Peter Steinberger
5808b72ed6
refactor(models): own compat in provider catalogs ( #112542 )
2026-07-22 02:14:29 -07:00
Peter Steinberger
09a64f7ab0
feat(models): make per-agent allowlists explicit ( #110888 )
2026-07-18 21:42:05 +01:00
Peter Steinberger
349f78776d
fix(models): refresh bundled provider catalogs ( #109410 )
...
* fix(models): refresh bundled provider catalogs
* docs(models): refresh generated docs map
* fix(xiaomi): keep provider helper private
* chore(release): defer catalog release note
2026-07-16 16:47:25 -07:00
NianJiu
42ff5ec754
feat(kimi): add Kimi K3 support ( #109202 )
...
* feat(moonshot): add Kimi K3 support
* feat(kimi): add K3 subscription models
---------
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 11:41:12 -07:00
Peter Steinberger
3c8269ca52
refactor(codex)!: fold the codex text provider into openai with a doctor migration
...
The live codex text provider was a redundant projection of the openai
catalog (exclusive provider ownership; the openai plugin's ChatGPT OAuth
discovery already serves gpt-5.6-* route-aware). Folding it:
- extensions/codex no longer registers a text provider, catalog entry, or
synthetic text auth; provider.ts/provider-catalog.ts/provider-discovery.ts
and the route-blind model-name heuristics are deleted; the narrow
post-harness reasoning fallback moves to an app-server-owned module
- openai thinking policy keys on explicit selected-route provenance
(api === openai-chatgpt-responses) instead of value-shape inference
- models.list gains an optional additive agentRuntime field (configured
intent); session agentHarnessId remains the execution proof
- doctor --fix migrates the shipped codex/* config shape end to end:
every model slot, provider-config merge with blocker-aware conflict
handling, sessions, cron payloads (two-phase: runtime policy persists
before cron refs rewrite), transcripts; migrated refs carry model-scoped
agentRuntime.id=codex preserving the shipped wizard semantics; auto
runtime policies normalize to codex with sibling fields preserved;
blocked provider conflicts retain the whole legacy namespace fail-closed
with an actionable warning
- the stale openai:default profile cleanup (#91352 ) was deliberately
deferred to a follow-up after review showed it needs per-agent identity
proofs; doctor keeps warning about unusable profiles
Fixes #105561
Fixes #84637
Fixes #90420
2026-07-16 03:06:43 +01:00
Peter Steinberger
9166b23318
feat: configure model providers from the Control UI settings page ( #106490 )
...
* feat(gateway): add models.probe RPC, credential provenance, targeted auth logout
* feat(ui): configure model providers from settings — keys, probes, logout, defaults
* docs: Control UI provider configuration section
* fix(ui): confirm fallback shrinkage via replacePaths; guard model catalog refresh races; scanner-safe probe fixtures
* test(models): scanner-safe probe fixture identifier
* chore(i18n): resync model-providers strings after rebase
* fix(gateway-protocol): drop duplicate probe type imports after rebase
* chore(protocol): regenerate Swift client for probe field order
* chore(i18n): resync model-providers strings after main rebase
* test(ui): scope model-providers E2E to settings-section headings
* fix(models): isolate marker probes from stored profiles; emit no_model for config-only providers [AI]
* fix(models): honor configured auth mode for env probes; probe config-bound profiles past auth.order [AI]
* fix(gateway): resolve provider auth aliases in models.probe [AI]
* fix(gateway): scope targeted auth logout to skip provider-wide run abort [AI]
* fix(models): probe requested provider for overrides; unregister ephemeral probe DB [AI]
* fix(gateway): exclude local no-auth markers from models.authStatus API-key provenance [AI]
* chore(i18n): resync model-providers strings for landing
2026-07-13 11:23:34 -07:00
Peter Steinberger
1b1cebfe42
fix(openai): align auth availability with effective routes ( #104685 )
...
* feat(openai): add provider-owned route facts
* fix(openai): harden provider route facts
* test(codex): update rebased auth fixtures
* chore: leave release notes to release workflow
* fix(openai): align route auth with current contracts
* test(openai): align route and shard expectations
* test(openai): satisfy route fixture contracts
* fix(openai): preserve direct profile forwarding
* test(models): complete route auth mocks
* test(codex): type compaction factory mock
* fix(openai): preserve provider-native model ids
* test(agents): align route auth fixtures
* style(agents): format route integrations
* test(plugin-sdk): pin current surface counts
2026-07-11 15:26:48 -07:00
Peter Steinberger
ab5d143d59
feat(openai): default new setups to GPT-5.6 ( #103581 )
...
* feat(openai): default fresh setup to GPT-5.6
* test(crestodian): expect GPT-5.6 Codex defaults
* test(crestodian): expect GPT-5.6 bootstrap default
2026-07-10 10:22:58 +01:00
Peter Steinberger
db12cb7023
fix(xai): align current model catalog and tools ( #103260 )
...
* fix(xai): align current model catalog and tools
* chore(xai): defer release note to release closeout
* docs: refresh xai documentation map
2026-07-10 03:36:14 +01:00
Peter Steinberger
fc5a4defaf
feat(cohere): add current Command models ( #102563 )
...
* feat(cohere): add current Command models
* docs: keep release notes out of PR
2026-07-09 11:07:50 +01:00
Peter Steinberger
eae3fc1a79
feat(xai): add Grok 4.5 support ( #102316 )
...
* feat(xai): add Grok 4.5 support
* chore: leave release notes to release automation
2026-07-09 01:39:03 +01:00
Vincent Koc
8970fa2e83
docs(provider): document Featherless AI setup
2026-07-06 16:17:44 -07:00
Peter Steinberger
f7d7148cf0
docs: rewrite published docs grounded in current source ( #100142 )
...
Source-grounded rewrite of 529 published docs pages with per-unit information-loss verification: 1,713 factual corrections cited to src/**, generated surfaces regenerated, frontmatter titles preserved for i18n, release notes pages untouched. All docs gates green.
Closes #100141
2026-07-05 00:32:47 -04:00
Peter Steinberger
4a354f76c1
feat(providers): add ClawRouter routing and quotas ( #99658 )
...
* feat(providers): add ClawRouter routing and quotas
* docs(plugins): refresh Ollama inventory
* test(plugins): register ClawRouter boundary coverage
* docs(i18n): add ClawRouter glossary terms
* docs(providers): expand ClawRouter setup guide
2026-07-03 18:29:14 -07:00
Vincent Koc
f2eca94391
feat(plugins): externalize additional official plugins ( #95683 )
2026-06-22 16:12:51 +08:00
Vincent Koc
21728777df
feat(plugins): externalize official provider batch
2026-06-19 01:05:52 +08:00
Patrick Erichsen
1b19c790bf
feat: externalize GMI provider plugin ( #94350 )
...
* feat: externalize gmi provider plugin
* fix(plugins): repair gmi alias installs
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-06-18 16:47:38 +08:00
Vincent Koc
85d5d94519
feat(cohere): add provider plugin
2026-06-17 16:23:52 +08:00
Shakker
c6d7d85763
fix: parse Gemini CLI stream output
2026-06-17 03:31:14 +01:00
VACInc
8ea848acb0
docs(openai): clarify spark oauth support
2026-06-15 14:17:15 +05:30
Peter Steinberger
735f59af73
feat(providers): add GLM-5.2 support ( #92796 )
...
* feat(providers): add GLM-5.2 support
* ci(live): add GLM-5.2 provider shard
2026-06-13 14:33:28 -07:00
Peter Steinberger
8c7e5c6918
feat(moonshot): add Kimi K2.7 Code support ( #92554 )
...
* feat(moonshot): add Kimi K2.7 Code support
* test(moonshot): surface K2.7 live provider errors
* ci(live): accept Kimi key for Moonshot sweeps
* test(moonshot): verify K2.7 across API regions
2026-06-12 17:37:28 -07:00
kenny
b9280d5863
feat: add OpenRouter OAuth login
...
(cherry picked from commit dccfb60656 )
2026-06-09 21:59:56 -07:00
Vinayaka Jyothi
443ac732a1
fix(minimax): keep thinking active for M3
...
Fix MiniMax-M3 Anthropic-compatible requests so OpenClaw no longer sends the disabled-thinking payload that makes M3 return empty content. M3 defaults now stay on MiniMax's omitted/adaptive thinking path, explicit `/think off` is still respected, and MiniMax-M2.x keeps the disabled-thinking default that prevents reasoning_content leaks.
Also wires the MiniMax thinking policy through bundled provider-policy loading so pre-runtime and configless embedded-agent paths resolve the same defaults.
Thanks @IamVNIE for the live MiniMax API repro and initial patch.
2026-06-06 22:56:17 -07:00
Jacob Tomlinson
829847292e
feat(nvidia): default to nemotron ultra
...
Add NVIDIA Nemotron 3 Ultra to the bundled NVIDIA provider catalog and make it the bundled fallback default. Keep successful NVIDIA featured-model feeds authoritative, while treating the first live feed row as the setup default option. Update NVIDIA provider docs and focused provider/model-picker tests for the new Ultra behavior.
Verification:
- node scripts/run-vitest.mjs src/commands/model-picker.test.ts extensions/nvidia/provider-catalog.test.ts extensions/nvidia/index.test.ts extensions/nvidia/onboard.test.ts
- pnpm exec oxfmt --check src/flows/model-picker.ts src/commands/model-picker.test.ts
- pnpm format:docs:check
- pnpm docs:check-mdx
- git diff --check upstream/main...HEAD
- .agents/skills/autoreview/scripts/autoreview --mode branch --base upstream/main --parallel-tests "node scripts/run-vitest.mjs src/commands/model-picker.test.ts extensions/nvidia/provider-catalog.test.ts extensions/nvidia/index.test.ts extensions/nvidia/onboard.test.ts"
2026-06-04 20:13:06 +01:00
Peter Steinberger
0369672691
feat(minimax): add m3 model support ( #88860 )
2026-05-31 21:47:47 -04:00
Peter Steinberger
4c33aaa86c
refactor: unify OpenAI provider identity ( #88451 )
...
* refactor: unify OpenAI provider identity
* refactor: move legacy oauth sidecar doctor helpers
* test: align OpenAI fixtures after rebase
* test: clean OpenAI provider unification
* fix: finish OpenAI provider cleanup
* fix: finish OpenAI cleanup follow-through
* fix: finish OpenAI CI cleanup
2026-05-31 00:29:44 +01:00
Peter Steinberger
d92b3b5cc2
refactor: unify OpenAI provider identity
...
Refactor OpenAI provider identity so OpenAI remains the canonical provider for API-key and OAuth-backed flows while legacy openai-codex state is doctor/migration-only.
Keeps OpenAI Codex Responses as an API/transport class rather than a provider identity, moves auth aliases through providerAuthAliases, updates doctor repair sequencing for old auth/profile state, and refreshes tests/docs around the canonical OpenAI behavior.
2026-05-30 11:48:41 +02:00
NianJiu
da5d1a6215
feat(xiaomi): add Token Plan provider support
...
Adds first-class Xiaomi Token Plan provider support with regional onboarding/configuration, token-plan key prefix validation, runtime pricing/catalog metadata, and docs/test coverage.
Keeps Token Plan model catalog discovery runtime-owned so region-specific base URLs are required and the provider cannot silently fall back to the static SGP manifest catalog.
Fixes #86169 .
Verification:
- node scripts/run-vitest.mjs src/plugins/provider-discovery.runtime.test.ts extensions/xiaomi/index.test.ts src/plugins/manifest-model-catalog.test.ts src/model-catalog/manifest-planner.test.ts
- git diff --check
- autoreview --mode local: clean, no accepted/actionable findings
- CI run 26678998539: all relevant checks passed; check-prod-types failed on unrelated browser unused-function issue already present on origin/main
Co-authored-by: NianJiuZst <3235467914@qq.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-30 11:37:36 +02:00
Peter Steinberger
470fc879e8
feat: add hosted model providers ( #88247 )
...
* feat(providers): add GMI provider
* feat(providers): add Novita provider
* feat(providers): add Qwen OAuth provider
* feat(providers): add Ollama Cloud provider
* docs: add hosted provider pages
* test(providers): align qwen catalog result typing
2026-05-30 08:26:16 +02:00
Peter Steinberger
1188aa3b81
feat: add Claude Opus 4.8 support ( #87890 )
...
* feat: add Claude Opus 4.8 support
* fix: omit Vertex Opus sampling overrides
* fix: preserve Opus adaptive thinking levels
* fix: clamp Anthropic max effort support
* fix: use sha256 for QA mock call ids
* fix: type Anthropic transport test model metadata
* test: update PDF model default for Opus 4.8
2026-05-29 06:10:42 +01:00
Peter Steinberger
b1c95a82a0
fix: refresh live Together and Vydra coverage
2026-05-28 21:27:50 +01:00
Peter Steinberger
bb46b79d3c
refactor: internalize OpenClaw agent runtime ( #85341 )
...
* refactor: extract agent core package
Introduce packages/agent-core as the OpenClaw-owned home for reusable agent loop, harness, session, prompt, and runtime dependency contracts.
* refactor: extract shared llm runtime
Move provider model registries, stream wrappers, OAuth helpers, and LLM utilities into src/llm with plugin-sdk barrels instead of depending on the old embedded runtime layout.
* refactor: remove pi runtime internals
Rename remaining Pi-shaped agent surfaces to OpenClaw agent runtime names, delete obsolete Pi docs and package graph checks, and add the third-party notice for incorporated code.
* refactor: tighten agent session runtime
Make agent-core/runtime dependencies explicit, consolidate compaction and session transcript helpers, and move model/session helpers behind OpenClaw-owned contracts.
* refactor: remove static model and pi auth paths
Drop static model catalogs and Pi auth bridges, move model/provider facts to manifest-owned runtime contracts, and harden internal embedded-agent utilities.
* refactor: remove legacy provider compat paths
* docs: remove agent parity notes
* fix: skip provider wildcard metadata parsing
* refactor: share session extension sdk loading
* refactor: inline acpx proxy error formatter
* refactor: fold edit recovery into edit tool
* fix: accept extension batch separator
* test: align startup provider plugin expectations
* fix: restore provider-scoped release discovery
* test: align static asset packaging expectations
* fix: run static provider catalogs during scoped discovery
* fix: add provider entry catalogs for scoped live discovery
* fix: load lightweight provider catalog entries
* fix: refresh provider-scoped plugin metadata
* fix: keep provider catalog entries on release live path
* fix: keep static manifest models in release live checks
* fix: harden release model discovery
* fix: reduce OpenAI live cache probe reasoning
* fix: disable OpenAI cache probe reasoning
* ci: extend OpenAI gateway live timeout
* fix: extend live gateway model budget
* fix: stabilize release validation regressions
* fix: honor provider aliases in model rows
* fix: stabilize release validation lanes
* fix: stabilize release memory qa
* ci: stabilize release validation lanes
* ci: prefer ipv4 for live docker node calls
* fix: restore shared tool-call stream wrapper
* ci: remove legacy pi test shard alias
* fix: clean up embedded agent test drift
* fix: stabilize runtime alias status
* fix: clean up embedded agent ci drift
* fix: restore release ci invariants
* fix: clean up post-rebase runtime drift
* fix: restore release ci checks
* fix: restore release ci after rebase
* fix: remove stale pi runtime path
* test: align compaction runtime expectations
* test: update plugin prerelease expectations
* fix: handle claude live tool approvals
* fix: stabilize release validation gates
* fix: finish agent runtime import
* test: finish post-rebase agent runtime mocks
* fix: keep codex compaction native
* fix: stabilize codex app-server hook tests
* test: isolate codex diagnostic active run
* test: remove codex diagnostic completion race
# Conflicts:
# extensions/codex/src/app-server/run-attempt.test.ts
* ci: fix full release manifest performance run id
* refactor: narrow llm plugin sdk boundary
* chore: drop generated google boundary stamps
* fix: repair rebase fallout
* fix: clean up rebased runtime references
* fix: decode codex jwt payloads as base64url
* fix: preserve shipped pi runtime alias
* fix: add scoped sdk virtual modules
* fix: decode llm codex oauth jwt as base64url
* fix: avoid stale vertex adc negative cache
* fix: harden tool arg decoding and codeql path
* fix: keep vertex adc negative checks live
* refactor: consolidate codex jwt and edit helpers
* fix: await codex oauth node runtime imports
* fix: preserve sdk tool and notice contracts
* fix: preserve shipped compat config boundaries
* fix: align codex oauth callback host
* fix: terminate agent-core loop streams on failure
* fix: keep codex oauth callback alive during fallback
* ci: include session tools in critical codeql scans
* fix: keep Cloudflare Anthropic provider auth header
* docs: redirect legacy pi runtime pages
* fix: honor bundled web provider compat discovery
* fix: protect session output spill files
* fix: keep legacy agent dir env blocked
* fix: contain auto-discovered skill symlinks
* fix: harden agent core sdk proxy surfaces
* fix: restore approval reaction sdk compat
* fix: keep live docker runs bounded
* fix: keep codex oauth redirect host aligned
* fix: resolve post-rebase agent runtime drift
* fix: redact anthropic oauth parse failures
* fix: preserve responses strict tool shaping
* fix: repair agent runtime rebase cleanup
* docs: redirect retired parity pages
* fix: bound auto-discovered resources to roots
* fix: repair post-rebase agent test drift
* fix: preserve bundled provider allowlist migration
* fix: preserve manifest-owned provider aliases
* fix: declare photon image dependency
* fix: keep provider headers out of proxy body
* fix: preserve shipped env aliases
* fix: refresh control ui i18n generated state
* fix: quote read fallback paths
* fix: preview edits through configured backend
* test: satisfy core test typecheck
* fix: preserve ZAI usage auth fallback
* test: repair codex diagnostic test
* fix: repair agent runtime rebase drift
* test: finish embedded runner import rename
* fix: repair agent runtime rebase integrations
* test: align compaction oauth fallback expectations
* fix: allow sdk-auth session models
* fix: update doctor tool schema import
* fix: preserve bedrock plugin region
* fix: stream harmony-like prose immediately
* ci: include session runtime in codeql shards
* fix: repair latest rebase integrations
* fix: honor explicit codex websocket transport
* fix: keep openai-compatible credentials provider-scoped
* fix: refresh sdk api baseline after rebase
* fix: route cli runtime aliases through openclaw harness
* test: rename stale harness mock expectation
* test: rename embedded agent overflow calls
* test: clean embedded auth test wording
* test: use openclaw stream types in deepinfra cache test
* fix: refresh sdk api baseline on latest main
* fix: honor bundled discovery compat allowlists
* fix: refresh sdk api baseline after latest rebase
* fix: remove stale rebase imports
* test: rename stale model catalog mock
* test: mock renamed doctor runtime modules
* fix: map canonical kimi env auth
* fix: use internal model registry in bench script
* fix: migrate deepinfra provider catalog entry
* fix: enforce builtin tool suppression
* fix: route compaction auth and proxy payloads safely
* refactor: prune unused llm registry leftovers
* test: update codex hooks session import
* test: fix model picker ci coverage
* test: align model picker auth mock types
2026-05-27 19:24:04 +01:00
Georgi Atsev
9e7c2b356b
fix(deepinfra): load all DeepInfra models when user wants to browse t… ( #84549 )
...
* fix(deepinfra): load all DeepInfra models when user wants to browse them during onboarding
* docs(deepinfra): align TTS default
* fix(deepinfra): refresh video fallbacks
* fix(deepinfra): share credential-aware catalog discovery
* test(deepinfra): narrow catalog regression types
* test(deepinfra): keep catalog narrowing across callback
* fix(deepinfra): preserve default model in live catalog
* fix(deepinfra): align default model pricing
* fix(deepinfra): keep pixverse as video default
* docs(deepinfra): match video fallback default
* fix(deepinfra): honor config api keys for live catalog
* test(e2e): wait for watchdog stdio close
* test(media): align live harness provider expectation
* fix(deepinfra): always augment custom catalogs
* test(e2e): resolve watchdog commands before spawning
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-05-27 10:43:37 +01:00
Peter Steinberger
cda7c30150
build: refresh dependency pins ( #86628 )
...
* build: refresh dependencies
* build: align pi fallback version
2026-05-25 21:55:46 +01:00
Peter Steinberger
e0fda55cf7
docs: absorb maintainer docs sweep
...
Co-authored-by: Bob Du <i@bobdu.cc >
Co-authored-by: alitariksahin <alitariksah@gmail.com >
Co-authored-by: Jefsky <hwj3344@hotmail.com >
Co-authored-by: Musaab Hasan <m9.3b@Hotmail.com >
Co-authored-by: Intern Dev <dev@wukongai.io >
Co-authored-by: majin.nathan <majin.nathan@bytedance.com >
2026-05-22 20:29:10 +01:00
fuller-stack-dev
65471a2da6
feat: add xai oauth web search and provider timeouts
2026-05-22 08:49:53 +01:00
Dave Morin
a00e7d3898
docs: clarify xai oauth setup ( #84350 )
2026-05-19 16:33:18 -07:00
Peter Steinberger
9da0f80356
fix(openai): allow available Codex OAuth models
2026-05-18 01:04:14 +01:00