6963 Commits

Author SHA1 Message Date
Peter Steinberger
cbc228f0f6 docs: explain blocked plugin ownership repair 2026-05-06 04:43:37 +01:00
Vincent Koc
f4a63940cc docs: typography hygiene across 6 pages
Replaced 74 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.

- docs/gateway/opentelemetry.md: 13 chars
- docs/channels/msteams.md: 13 chars
- docs/tools/skills.md: 12 chars
- docs/start/setup.md: 12 chars
- docs/nodes/location-command.md: 12 chars
- docs/concepts/context-engine.md: 12 chars
2026-05-05 20:34:37 -07:00
Vincent Koc
ae9f779e5f docs: typography hygiene + 1 in-body H1 removal across 6 pages
Replaced 84 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.

- docs/gateway/tools-invoke-http-api.md: 14 chars; removed the
  duplicate '# Tools Invoke (HTTP)' H1 (Mintlify renders title from
  frontmatter; the in-body H1 with parens produced a brittle anchor).
- docs/tools/browser-control.md: 14 chars
- docs/security/formal-verification.md: 14 chars
- docs/gateway/configuration-reference.md: 14 chars
- docs/concepts/agent.md: 14 chars
- docs/channels/qa-channel.md: 14 chars
2026-05-05 20:26:16 -07:00
Vincent Koc
861a593921 docs: typography hygiene across 5 pages
Replaced 75 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.

- docs/plugins/skill-workshop.md: 15 chars
- docs/gateway/pairing.md: 15 chars
- docs/gateway/configuration.md: 15 chars
- docs/concepts/oauth.md: 15 chars
- docs/channels/bluebubbles.md: 15 chars
2026-05-05 20:14:18 -07:00
Val Alexander
60171e8638 Keep Control UI responsive under slow status and history loads 2026-05-05 22:07:39 -05:00
Vincent Koc
fafd76c5e6 docs: typography hygiene across 5 pages
Replaced 80 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.

- docs/plugins/sdk-entrypoints.md: 17 chars
- docs/help/index.md: 17 chars
- docs/concepts/agent-workspace.md: 16 chars
- docs/tools/lobster.md: 15 chars
- docs/tools/exec-approvals.md: 15 chars
2026-05-05 20:04:12 -07:00
Vincent Koc
7a39551685 docs: typography hygiene + 2 in-body H1 removals across 5 pages
Replaced 92 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/feishu.md: 19 chars; removed the duplicate
  '# Feishu / Lark' H1 (Mintlify renders title from frontmatter; the
  in-body H1 with a slash produced a brittle anchor).
- docs/gateway/bonjour.md: 18 chars; removed the duplicate
  '# Bonjour / mDNS discovery' H1.
- docs/channels/matrix.md: 19 chars
- docs/tools/browser.md: 18 chars
- docs/automation/standing-orders.md: 18 chars
2026-05-05 19:54:53 -07:00
Vincent Koc
4395f1dd66 docs: typography hygiene + drop one in-body H1 across 5 pages
Replaced 98 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.

- docs/plugins/sdk-migration.md: 20 chars
- docs/help/testing.md: 20 chars
- docs/automation/tasks.md: 20 chars
- docs/plugins/sdk-channel-plugins.md: 19 chars
- docs/channels/yuanbao.md: 19 chars; removed the duplicate '# Yuanbao'
  H1 (Mintlify renders title from frontmatter).
2026-05-05 19:46:32 -07:00
Vincent Koc
2b8d91d9ee docs: typography hygiene + 2 in-body H1 removals across 5 pages
Replaced 112 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.

- docs/help/gpt55-codex-agentic-parity.md: 22 chars; removed the
  duplicate '# GPT-5.5 / Codex Agentic Parity in OpenClaw' H1 (Mintlify
  renders the title from frontmatter; the in-body H1 with the slash
  produced a brittle anchor).
- docs/platforms/mac/menu-bar.md: 21 chars; removed the duplicate
  '# Menu Bar Status Logic' H1.
- docs/tools/acp-agents.md: 23 chars
- docs/concepts/qa-matrix.md: 23 chars
- docs/concepts/qa-e2e-automation.md: 23 chars
2026-05-05 19:34:52 -07:00
Vincent Koc
b9f711089a docs: typography hygiene + drop one in-body H1 across 5 pages
Replaced 138 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules so grep, copy-paste,
and Mintlify search hit clean tokens.

- docs/reference/AGENTS.default.md: 29 chars, plus removed the
  duplicate '# AGENTS.md - OpenClaw Personal Assistant (default)' H1
  (Mintlify renders title from frontmatter; the in-body H1 with
  parens and a bare hyphen produced a brittle anchor).
- docs/help/testing-live.md: 29 chars
- docs/tools/image-generation.md: 28 chars
- docs/channels/index.md: 27 chars
- docs/tools/video-generation.md: 25 chars
2026-05-05 19:25:16 -07:00
Vincent Koc
736f627fb5 docs: typography hygiene across 4 large pages
Replaced 152 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents so grep,
copy-paste, and Mintlify search hit clean tokens. Per docs/CLAUDE.md
heading and content hygiene rules.

- docs/gateway/security/index.md: 59 chars
- docs/plugins/hooks.md: 34 chars
- docs/reference/session-management-compaction.md: 30 chars
- docs/tools/clawhub.md: 29 chars
2026-05-05 19:19:15 -07:00
Val Alexander
36df0d93b9 fix: repair iOS LAN pairing
Fix iOS LAN/setup-code pairing policy for #47887.

- Allow explicit private LAN and .local plaintext ws:// setup/manual connects where policy allows it.
- Keep public hosts, .ts.net, and Tailscale CGNAT plaintext fail-closed.
- Prefer explicit passwords over stale bootstrap tokens in Swift and TypeScript gateway clients.
- Update setup-code/device-pair coverage, docs, and changelog with source credit for #65185.

Verification:
- pnpm install
- git diff --check origin/main..HEAD
- pnpm exec oxfmt --check --threads=1 src/gateway/client.ts src/gateway/client.test.ts src/pairing/setup-code.ts src/pairing/setup-code.test.ts extensions/device-pair/index.ts extensions/device-pair/index.test.ts
- pnpm format:docs:check
- pnpm test src/gateway/client.test.ts src/pairing/setup-code.test.ts extensions/device-pair/index.test.ts
- cd apps/shared/OpenClawKit && swift test --filter 'DeepLinksSecurityTests|GatewayNodeSessionTests'
- pnpm lint:swift passes with the existing TalkModeRuntime.swift type-body-length warning

Blocked locally:
- iOS app-target xcodebuild tests require unavailable watchOS 26.4 runtime here.
- Testbox check:changed previously failed because the image lacks swiftlint; local swiftlint passes.
2026-05-05 21:07:19 -05:00
Vincent Koc
bff5051e38 docs: drop in-body H1s and typography hygiene across 4 pages
docs/install/macos-vm.md: removed the duplicate '# OpenClaw on macOS
VMs (Sandboxing)' H1 (Mintlify renders title from frontmatter; the
in-body H1 plus parens produced a brittle anchor).

docs/install/development-channels.md: removed the duplicate
'# Development channels' H1.

docs/install/index.md: replaced 3 typography characters (curly quotes
and en-dash) with ASCII equivalents.

docs/concepts/delegate-architecture.md: replaced 10 typography
characters (curly quotes, apostrophes, em/en dashes) with ASCII
equivalents.
2026-05-05 19:04:46 -07:00
Vincent Koc
9671a91590 docs: Related CardGroups + typography hygiene across 4 pages
docs/install/clawdock.md: renamed '## Related pages' to '## Related'
for consistency with sibling install docs and converted the 3-bullet
list into a CardGroup linking docker, docker-vm-runtime, and updating.

docs/install/nix.md: replaced 2 typography characters with ASCII
equivalents and converted the 3-bullet Related list into a CardGroup,
adding an Updating card so readers wiring nix-openclaw next to a
managed install see the upgrade path.

docs/concepts/features.md: converted the 2-bullet Related list into a
CardGroup, adding cross-links to channels and plugins so the page now
points readers at both deeper concepts (experimental features, agent
runtime) and direct surfaces (channels, plugins).

docs/tools/pdf.md: replaced 2 typography characters with ASCII
equivalents.
2026-05-05 18:56:25 -07:00
Vincent Koc
e36cb33379 docs: drop in-body H1s and typography hygiene across 4 pages
docs/install/gcp.md: removed the duplicate '# OpenClaw on GCP Compute
Engine (Docker, Production VPS Guide)' H1 plus its redundant '## Goal'
header. Mintlify renders the title from frontmatter, so the body H1
created a brittle anchor and the prose now starts directly with the
goal sentence.

docs/install/node.md: replaced 8 typography characters (curly quotes
and non-breaking hyphens) with ASCII equivalents.

docs/tools/duckduckgo-search.md: replaced 9 typography characters with
ASCII equivalents.

docs/tools/browser-login.md: removed the duplicate '# Browser login +
X/Twitter posting' H1 (Mintlify renders title from frontmatter; the
'+' would also have produced a brittle anchor). Replaced 2 typography
characters with ASCII equivalents.
2026-05-05 18:46:03 -07:00
Peter Steinberger
057d3a43c0 feat(mantis): capture logged-in discord web evidence 2026-05-06 02:43:49 +01:00
Peter Steinberger
71cd132f1f docs: remove refactor notes 2026-05-06 02:40:34 +01:00
Peter Steinberger
9b1d28edf1 chore: refresh talk sdk baseline 2026-05-06 02:39:15 +01:00
Peter Steinberger
7431cb8def docs: detail talk refactor plan 2026-05-06 02:39:15 +01:00
Peter Steinberger
7760edc68e chore: refresh talk generated metadata 2026-05-06 02:39:15 +01:00
Peter Steinberger
24853ced11 docs: outline unified talk API 2026-05-06 02:39:15 +01:00
Vincent Koc
1f7d0ef310 docs: typography hygiene + Related CardGroups across 4 pages
docs/concepts/context.md: replaced 12 curly quote and italic-marker
typography characters with ASCII equivalents so grep, copy-paste, and
Mintlify search hit clean tokens. Converted the 4-bullet Related list
into a CardGroup linking context-engine, compaction, system-prompt,
and agent-loop. Verified all four targets exist.

docs/concepts/soul.md: replaced 7 typography characters (curly
apostrophe in 'agent's' and similar) with ASCII equivalents. Renamed
'## Related docs' to '## Related' for consistency with sibling pages
and converted the 3-bullet list into a CardGroup linking
agent-workspace, system-prompt, and the SOUL.md template.

docs/tools/perplexity-search.md: removed the duplicate
'# Perplexity Search API' H1 (Mintlify renders title from frontmatter).
Replaced 2 typography characters and converted the 4-bullet Related
list into a CardGroup; verified web/brave-search/exa-search targets.

docs/tools/apply-patch.md: converted the 3-bullet Related list into a
CardGroup linking diffs, exec, and code-execution.
2026-05-05 18:36:06 -07:00
Vincent Koc
7f71e84248 docs(concepts): typography hygiene + Related CardGroups across 3 pages
docs/concepts/presence.md: replaced 8 curly quote and non-breaking
hyphen characters (U+201C/U+201D/U+2019/U+2011) with ASCII equivalents
so grep, copy-paste, and Mintlify search hit the right tokens.
Converted the 2-bullet Related list into a CardGroup adding cross-links
to gateway architecture and gateway protocol since presence is produced
by both surfaces.

docs/concepts/markdown-formatting.md: replaced 5 typography characters
(en-dash and curly quotes) with ASCII equivalents and converted the
2-bullet Related list into a CardGroup pointing at streaming/chunking
and system prompt.

docs/concepts/typing-indicators.md: replaced 4 typography characters
with ASCII equivalents and converted the 2-bullet Related list into a
CardGroup with the same Presence and Streaming cross-links.

Verified /concepts/streaming, /concepts/system-prompt,
/concepts/architecture, and /gateway/protocol targets all exist.
2026-05-05 18:30:39 -07:00
Peter Steinberger
538605ff44 [codex] Extract filesystem safety primitives (#77918)
* refactor: extract filesystem safety primitives

* refactor: use fs-safe for file access helpers

* refactor: reuse fs-safe for media reads

* refactor: use fs-safe for image reads

* refactor: reuse fs-safe in qqbot media opener

* refactor: reuse fs-safe for local media checks

* refactor: consume cleaner fs-safe api

* refactor: align fs-safe json option names

* fix: preserve fs-safe migration contracts

* refactor: use fs-safe primitive subpaths

* refactor: use grouped fs-safe subpaths

* refactor: align fs-safe api usage

* refactor: adapt private state store api

* chore: refresh proof gate

* refactor: follow fs-safe json api split

* refactor: follow reduced fs-safe surface

* build: default fs-safe python helper off

* fix: preserve fs-safe plugin sdk aliases

* refactor: consolidate fs-safe usage

* refactor: unify fs-safe store usage

* refactor: trim fs-safe temp workspace usage

* refactor: hide low-level fs-safe primitives

* build: use published fs-safe package

* fix: preserve outbound recovery durability after rebase

* chore: refresh pr checks
2026-05-06 02:15:17 +01:00
Vincent Koc
61481eb34f docs: tighten architecture, btw, agent-send hygiene
docs/concepts/architecture.md: replaced 8 non-breaking hyphen
characters (U+2011) with regular hyphens. Non-breaking hyphens defeat
copy-paste from rendered HTML, break grep on the raw markdown, and
make Mintlify search miss otherwise-correct queries. Affected words:
'long-lived', 'server-push', 'device-based'.

docs/tools/btw.md: converted the 3-bullet Related list into a
CardGroup. Renamed 'Thinking Levels' to sentence-case 'Thinking
levels' and added a Steer-command card so readers comparing ephemeral
vs in-run intervention paths see both options.

docs/tools/agent-send.md: converted the 3-bullet Related list into a
CardGroup. Removed two em-dash characters in the bullet copy
('Sub-agents — background sub-agent spawning', 'Sessions — how
session keys work') and added a Slash-commands card. Verified
/cli/agent, /tools/subagents, /concepts/session, and
/tools/slash-commands targets all exist.
2026-05-05 18:13:16 -07:00
Peter Steinberger
ceca7fdfda docs: document channel message plugin api 2026-05-06 01:46:42 +01:00
Vincent Koc
411211c21b docs: drop in-body H1s and tighten heading hygiene across 4 pages
docs/concepts/typebox.md: removed the duplicate '# TypeBox as protocol
source of truth' H1 (Mintlify already renders the title from
frontmatter; in-body H1s produce brittle anchors). Also removed the
'Last updated: 2026-01-10' timestamp line because date-stamped
freshness markers drift silently and conflict with our brownfield
maintenance model.

docs/install/kubernetes.md: removed the duplicate '# OpenClaw on
Kubernetes' H1.

docs/install/azure.md: removed the duplicate '# OpenClaw on Azure Linux
VM' H1.

docs/install/podman.md: renamed the '## Podman + Tailscale' heading to
'## Podman and Tailscale' per docs/CLAUDE.md heading-hygiene rules
(plus signs collapse during Mintlify anchor generation just like
ampersands and apostrophes). Kept the explicit
<a id='podman--tailscale'></a> anchor and updated the inline 'Podman +
Tailscale' link text to match the new heading so the cross-link still
works.
2026-05-05 17:46:14 -07:00
hcl
d193d15f17 fix(plugins): explain source-only package diagnostics (#77835) (#77842) 2026-05-05 17:43:13 -07:00
Vincent Koc
bca6709203 fix(doctor): repair legacy Codex route config
Repair legacy openai-codex route config and session pins safely.
2026-05-05 17:42:41 -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
Agustin Rivera
d583013b8f fix(exec): enforce allowlist argument patterns (#75143)
* fix(exec): enforce allowlist argument patterns

* fix(exec): document argPattern allowlist field

* Add CHANGELOG entry for #75143 cross-platform argPattern enforcement

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
Co-authored-by: Devin Robison <drobison00@users.noreply.github.com>
2026-05-05 18:23:40 -06:00
Peter Steinberger
ad2d13cc67 fix(discord): preserve thread reply file attachments 2026-05-06 01:16:57 +01: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
180e295dc6 docs(tools): rewrite loop detection, code execution, and tighten elevated/skills
Loop detection (docs/tools/loop-detection.md): substantial rewrite.
Fixed the post-compaction guard default story — the guard runs whenever
tools.loopDetection.enabled is not explicitly false, even with no
config block at all (verified in src/agents/pi-embedded-runner/run.ts
near line 800: 'enabled: resolvedLoopDetectionConfig?.enabled !==
false'). The previous doc framed it as opt-in. Added the missing
unknownToolThreshold field (default 10) sourced from
src/config/schema.help.ts, a complete fields table, and a CardGroup
related links section.

Code execution (docs/tools/code-execution.md): rewrote with
Steps-driven setup, code-verified defaults from
extensions/xai/src/code-execution-shared.ts (default model
grok-4-1-fast, default timeout 30 s, optional maxTurns), the
missing_xai_api_key structured error documented as JSON, and a
properties summary table. Replaced the trailing bullet list with a
CardGroup pointing at exec, exec-approvals, web tools, and the xAI
provider page.

Elevated (docs/tools/elevated.md): converted Related to a CardGroup
and added a Note that the bash chat command (! prefix / /bash alias)
also requires tools.elevated, sourced from
src/config/schema.help.ts:1375.

Skills config (docs/tools/skills-config.md): renamed the
'Sandboxed skills + env vars' subhead to remove the brittle '+'
character per docs/CLAUDE.md, promoted the host-only env warning to a
Warning block so the most common skill-config footgun stays visible,
and converted Related to a CardGroup including a config-reference
link.
2026-05-05 16:49:29 -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
Kevin Lin
81349cdc2a feat: improve Codex skill migration selection (#77597)
* feat: improve Codex skill migration selection

* docs: add Codex migration changelog entry

* fix codex skill migration bulk toggles

* fix codex migration skip selection

* fix codex migration skip option order

* fix: handle codex migration shortcut toggles

* fix codex migration shortcut reconciliation

* fix: unblock Codex migration CI
2026-05-05 16:41:26 -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
Vincent Koc
82fd83418e docs: replace ampersand headings for stable Mintlify anchors
Per docs/CLAUDE.md, Mintlify anchor generation is brittle for headings
that contain em dashes, apostrophes, and ampersands. Normalize 9 H2
headings across docs/date-time.md, docs/pi.md, docs/platforms/{index,
macos, mac/webchat, mac/peekaboo}.md, docs/nodes/{images,audio}.md, and
docs/reference/AGENTS.default.md from `X & Y` to `X and Y` so anchors
do not collapse on entity decoding. Verified no inbound anchor references
to the renamed sections in the docs tree.
2026-05-05 16:33:00 -07:00
Kevin Lin
dd643b52df test: expand slack live qa coverage (#77713) 2026-05-05 16:11:07 -07:00
Vincent Koc
a4c860a70c fix(update): avoid lint-blocked dev installs (#77181) 2026-05-05 16:05:35 -07:00
Peter Steinberger
430814ebc1 docs: add Mantis Slack desktop runbook 2026-05-05 23:48:49 +01:00
Patrick Erichsen
8aa7b7a4ca Tolerate corrupt plugins during update (#77706)
* fix(update): tolerate corrupt plugin state

* fix(update): preserve corrupt plugin proof state

* fix(update): narrow corrupt plugin warnings

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-05 14:18:26 -07:00
Vincent Koc
6455ed24cf test: scope unit coverage gate 2026-05-05 13:28:34 -07:00
Peter Steinberger
26bc40c1a4 perf: add Mantis Slack hydrate timings 2026-05-05 21:07:07 +01:00
scoootscooob
79dd65e208 feat(voice-call): improve realtime Meet voice agent
* feat(voice-call): inject agent context into realtime voice

* fix(voice-call): stabilize realtime meet audio

* fix(voice-call): delegate realtime consults to agent

* Improve realtime Meet voice consult routing

* Pin voice consult delivery to call session

* Move voice changelog entries to changes

* fix(voice-call): isolate final realtime transcripts

* test(voice-call): trim redundant realtime coverage
2026-05-05 12:56:31 -07:00
Andrew Porter
9abf01faf0 feat(DX): Add Out-of-the-Box Support for Debugging in VSCode-Based IDEs (#45710)
Merged via squash.

Prepared head SHA: dd5c0c59f2
Co-authored-by: SwissArmyBud <7257907+SwissArmyBud@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-05-05 12:41:28 -07:00
Peter Steinberger
35da7d2c99 refactor: remove legacy agent dir resolver 2026-05-05 20:07:49 +01:00
Peter Steinberger
e8a9c766c2 perf: speed up Mantis Slack desktop smoke 2026-05-05 19:57:26 +01:00