Commit Graph

530 Commits

Author SHA1 Message Date
Peter Steinberger 0e071abb1e docs: correct verification and hardened setup claims (#131188) 2026-08-27 14:25:03 -07:00
Peter Steinberger 3708c1c3fd docs(start): tell the personal reader Why OpenClaw is for them too (#131105)
Bridge paragraph before the enterprise properties: same product spans one
laptop to hardened team deployment, configuration is the only difference,
and the enterprise checklist protects a single operator for free. Adds a
read_when bullet for the reader asking whether enterprise depth makes
OpenClaw heavyweight for personal use.
2026-08-27 11:18:22 -07:00
Peter Steinberger 53380e5ca7 docs: clarify IMAP recovery and reader tool policy (#131039) 2026-08-27 10:18:23 -07:00
Peter Steinberger ff3cf3de3b docs(start): correct headless credential handoff to the SQLite auth store (#131024) 2026-08-27 09:40:27 -07:00
Peter Steinberger e8c332592d docs: qualify Why OpenClaw security and comparison claims (#130947) 2026-08-27 06:46:41 -07:00
Josh Lehman cfb1f2fadc docs(start): restructure Why OpenClaw intro into a question-answer flow (#130874)
* docs(start): add skim-level claims block to Why OpenClaw intro

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(start): introduce Hermes before quoting its security policy

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(start): break up intro walls of text and enable mermaid controls

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(start): restructure Why OpenClaw intro into question-answer flow

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 10:32:05 +00:00
Peter Steinberger 2f4c71d8dd docs(start): open Why OpenClaw with the agent inversion and Foundation stewardship (#130812)
Replace the feature-list opener with a human introduction: what an agent
inverts about software, why that demands scrutiny, and the OpenClaw
Foundation's mission, governance, and Switzerland-of-AI aim. Dedupe the
Governance section so the sponsor list and 501(c)(3) framing state once.
2026-08-27 01:06:57 -07:00
Peter Steinberger 2052b401d1 docs(start): add trust-boundary, policy-chain, and secrets diagrams to Why OpenClaw (#130776)
Three mermaid diagrams for the densest arguments on the page: the
gateway/movable-execution topology, the fail-closed exec policy chain,
and the secret sentinel flow at the egress boundary. All blocks
parse-checked against mermaid.
2026-08-27 00:21:12 -07:00
Peter Steinberger a274416822 docs(start): add Why OpenClaw enterprise architecture page (#130709)
* docs(start): add Why OpenClaw enterprise architecture page

Source-audited architecture argument for enterprise evaluators: trusted
gateway vs movable untrusted execution, policy-as-code, tiered access,
SecretRef chain, versioned state, provenance, open standards, and a
commit-pinned comparison with Hermes Agent verified against both source
trees. Registers the page in the Get started nav and fixes the OpenShell
policy config description (YAML path, not ID).

* docs(start): link landed feature pages and split the Hermes verdict paragraph

* docs(start): state the comparison in present tense

* docs(start): tighten register after external language review

* docs(start): address review findings

Restore main's OpenShell guide unchanged (rebase resolution had
resurrected the pre-rewrite page), defer the plugin consent screen
claim until its implementation merges, scope the memory forget claim
to tracked artifacts of selected sessions, replace brittle RPC and
capability counts, state OpenAI-compatible API limits, and add
immutable permalinks for every external Hermes citation.
2026-08-26 23:12:01 -07:00
Peter Steinberger 6a6635abb3 feat(daemon): support Bun 1.4 managed services (#129593)
* feat(daemon): support Bun 1.4 managed runtimes

Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2

* fix(daemon): enforce Bun SQLite safety

Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2

* fix(daemon): preserve lightweight Bun startup

Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2

* docs: show Bun runtime opt-in commands

Amp-Thread-ID: https://ampcode.com/threads/T-01a037b7-66db-71f0-91e7-1578b383afb2

---------

Co-authored-by: Amp <amp@ampcode.com>
2026-08-26 00:45:43 -07:00
Peter Steinberger 1473333f46 feat: bring Linux desktop onboarding to macOS parity (#129815)
* feat: bring Linux desktop onboarding to macOS parity

* fix: keep onboarding recovery within startup budget

* fix: satisfy onboarding startup and CI contracts

* fix: preserve Linux setup recovery and JSON5 configs

* refactor: keep onboarding recovery inside startup budget

* refactor: deduplicate first-run startup routing

* fix(linux): secure remote gateway pins and saved credentials
2026-08-25 23:34:34 -07:00
Peter Steinberger 9b7c95a0f0 fix(anthropic): keep automated heartbeats on subscription usage (#129513)
* fix(anthropic): keep automated heartbeats on subscription usage

* test(agents): align retired heartbeat template expectations

* fix(anthropic): avoid heavyweight policy bootstrap imports

* chore(config): prune retired template assertion baseline

* test(vitest): cover Codex startup test family

* refactor(anthropic): remove obsolete thinking-profile re-export
2026-08-25 14:11:38 -07:00
Peter Steinberger 091f23ff49 feat(cli): add openclaw triage for sanitized agent debugging handoffs (#128756)
* feat(cli): add openclaw triage for sanitized agent debugging handoffs

Collects read-only doctor findings through a new collectDoctorFindings seam,
reuses the sanitized diagnostics export, writes a bounded 8 KiB debugging
prompt, and prints Claude Code / Codex / embedded agent handoff commands.
Embedded --run gates on an interactive terminal plus a live inference probe.

* fix(doctor): keep word separation when scrubbing multi-line errors

scrubDoctorErrorMessage dropped newlines without substituting a space, so
multi-line errors rendered with glued words in doctor and triage output.

* feat(cli): hand triage prompts straight to a detected coding agent

Interactive triage now detects installed agents via resolveExecutablePath,
offers embedded/Claude Code/Codex/print in a picker, and spawns the chosen
binary with the prompt, propagating its exit code. Embedded inference is
probed only after selection. JSON output adds detectedAgents.

* fix(cli): redact local paths in triage prompts and drop unlaunchable targets

Prompt content now uses canonical path-aware redaction (redactSupportString),
so paths reach external agents as ~/... or $OPENCLAW_STATE_DIR/... instead of
absolute home paths; operator-facing JSON paths and printed commands stay real.
Findings are fitted to the byte budget left after the trailing sections so the
omission notice, bundle path, and privacy statement always survive truncation.
Windows command shims are listed as manual commands rather than offered as a
direct launch that shell-less spawn rejects.

* fix(cli): clarify which Node runtime triage reports

A live agent run flagged the reported version as wrong because the shell
default differed from the runtime executing the CLI.

* docs: route new installs to openclaw triage when setup fails

Getting Started had no recovery path; add one that leads with triage, and
document prompt location, environment inheritance, and exit codes on the
CLI page. Keep the Triage page title untranslated like Doctor.
2026-08-25 00:12:32 -07:00
synth 17abdfc78c fix(system-agent): leave reasoning room in local model setup probes (#124405)
* fix(system-agent): increase setup inference probe max tokens from 32 to 128

The 32-token cap starves reasoning models that spend tokens on thinking
before emitting visible text. The probe gets a reasoning-only turn and
reports healthy local models as broken inference.

Increase to 128 tokens to accommodate reasoning model thinking overhead.

Fixes #124345

* fix(system-agent): leave reasoning room in setup probes

Co-authored-by: synthclaw <synthalorian@gmail.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-23 23:46:27 -07:00
Peter Steinberger 2e606d96e1 docs(onboarding): preserve the selected model in setup guide (#128547) 2026-08-23 23:46:23 -07:00
Ayaan Zaidi ca6fea301b refactor(plugins)!: remove OpenProse (#128494)
Remove the bundled OpenProse plugin and /prose command now that upstream owns the maintained Agent Skill. Preserve /prose as migration documentation and let Doctor clean stale plugin configuration.

BREAKING CHANGE: The bundled OpenProse plugin and /prose command are removed.

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-08-24 10:39:46 +05:30
Jason O'Neal 7afbb7072a fix(heartbeat): deliver exec completions with disabled cadence (#126895)
With agents.defaults.heartbeat.every set to "0m", a background exec completion queued its system event and requested a targeted exec-event wake, but the shared unscheduled-wake policy only admitted immediate wakes, so the follow-up agent turn silently never ran. Admit the exact exec-event/event producer shape (session or agent target required) in one per-source predicate, dispatch wake timers outside the requesting attempt's transcript-writer context, and document that "0m" disables recurring cadence only.

Closes #62505

Co-authored-by: Jason O'Neal <jason.allen.oneal@gmail.com>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-08-23 09:40:18 +05:30
Peter Steinberger bf5d408437 docs: fix onboarding setup command (#126964)
Co-authored-by: Amp <amp@ampcode.com>
2026-08-20 20:33:26 -07:00
Peter Steinberger eb07eecd40 fix(onboard): infer interactive provider auth from credential flags (#126946) 2026-08-20 19:17:50 -07:00
Peter Steinberger da8196c40b fix(onboard): keep gateway credentials out of plaintext in ref mode (#126928)
* fix(onboard): keep gateway credentials out of plaintext in ref mode

* test(onboard): preserve credential table tuple types
2026-08-20 18:48:11 -07:00
Peter Steinberger df2cc8f259 fix(onboard): honor secret-input-mode ref for the generated gateway token (#126877)
* fix(onboard): honor secret-input-mode ref for the generated gateway token

`openclaw onboard --secret-input-mode ref` was silently ignored for
`gateway.auth.token`: onboarding generated the token and wrote it into
`openclaw.json` as a plaintext string, so `openclaw doctor` warned about
`gateway.auth.token` on the install it had just created. The flag was
honored for provider credentials, so an operator who explicitly opted into
references still ended up with a plaintext secret and a remediation
(`openclaw secrets configure`) that cannot migrate a self-generated value,
because it validates a ref by resolving one that already exists.

Setup mints this token itself, so reference mode now provisions it:

- an ambient OPENCLAW_GATEWAY_TOKEN keeps an `env` ref to that variable, so a
  later rotation stays authoritative instead of being pinned by a stale copy
- anything else (freshly generated, or an existing plaintext token being
  migrated) goes into the shared SQLite secret store as a write-only `secret`
  entry, with config holding only `{source:"store",...}`

An existing store entry wins over a freshly generated one, so reruns never
rotate a token already paired with clients. The store write precedes the
config write: a ref persisted without its value would leave the gateway
unauthenticatable, while an orphaned entry is reused by the next run.

The interactive wizard had the same dead end and is fixed the same way.
Default (plaintext) onboarding is unchanged.

User impact: `--secret-input-mode ref` now keeps the gateway token out of
openclaw.json, and a fresh install no longer self-reports a plaintext-secret
warning.

* test(onboard): split gateway onboarding suite under the max-lines gate

The added gateway auth-token tests pushed
onboard-non-interactive.gateway.test.ts to 1014 lines, over the max-lines
limit (check-lint-core-3). Repo policy is to split, never suppress.

Extract the shared vi.mock/harness preamble into
onboard-non-interactive.gateway.test-mocks.ts, following the existing
agent-command.test-mocks.ts pattern, and move the four gateway auth-token
storage tests into their own suite. The reachability mock becomes a holder
object so both suites can swap it across the module boundary, and hoisted
mocks are re-exported in a separate export clause because Vitest rejects
exporting a vi.hoisted binding at its declaration.

Test set is unchanged: the it-declaration multiset matches the pre-split
file exactly, with no duplication across the two suites.

* test(onboard): give the shared gateway onboarding mocks unique export names

check-export-name-collisions flagged `runtime` and `readConfigFileSnapshotMock`
as colliding with program.test-mocks.ts and plugins-cli-test-helpers.ts once the
gateway onboarding preamble became a shared module. Rename the exports to
gatewayOnboardRuntime / gatewayOnboardConfigSnapshotMock per the repo's
unique-export-name rule; suites alias them locally so the assertions read the
same as before.

* test(tooling): route the new gateway auth-token suite from its test helper

test-projects asserts which suites a change to
onboard-non-interactive.test-helpers.ts should run. The new
onboard-non-interactive.gateway-auth-token.test.ts imports that helper, so it
belongs in the expected routing plan.
2026-08-20 17:46:59 -07:00
Jony 3f2d3f9958 fix(onboard): honor explicit provider auth choice (#117883)
* fix(onboard): honor explicit auth when keeping the current model

Co-authored-by: Jony <13896935+zyz619963502zyz@users.noreply.github.com>

* test(onboard): preserve existing config across wizard snapshots

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: Jony <13896935+zyz619963502zyz@users.noreply.github.com>
2026-08-20 10:28:02 -07:00
Shakker 441f0a3388 fix: allow backing out of agent imports (#126515) 2026-08-20 04:10:44 +01:00
Shakker 32223ac536 fix: group agent imports in onboarding 2026-08-20 04:10:44 +01:00
Peter Steinberger ae55a4090c refactor(canvas): make the panel a widget presenter (#126030)
* refactor(canvas): retire legacy host and commands

* refactor(apple): narrow shared Canvas contracts

* refactor(macos): keep Canvas as widget presenter

* refactor(ios): remove Canvas client

* refactor(android): remove Canvas client

* refactor(linux): remove Canvas client

* fix(ci): isolate native locale artifacts

* fix(linux): regenerate companion lockfile

* fix(canvas): refresh native tool display metadata

* test(canvas): align coverage with presenter surface

* test(canvas): remove obsolete asset root seam

* test(canvas): stabilize retirement CI coverage

* refactor(swift): remove orphaned resource wrapper

* test(ios): remove retired canvas layout assertion

* fix(macos): reserve retired canvas command namespace

* refactor(macos): isolate canvas command policy

* fix(canvas): select only eligible macOS panels

* fix(canvas): keep panel selection plugin-owned
2026-08-19 08:21:07 -07:00
Peter Steinberger 2a97397f47 docs: consolidate setup and plugin references (#126132)
* docs: consolidate setup and plugin references

* docs: preserve meeting plugin configuration
2026-08-18 20:00:05 -07:00
Peter Steinberger b295ae1625 docs(onboard): match classic setup order (#125454)
* docs(onboard): match classic setup order

* docs(onboard): align first-run setup order
2026-08-17 17:19:31 -07:00
Peter Steinberger d4bec45cee docs(install): avoid duplicate onboarding runs (#125246)
Co-authored-by: Amp <amp@ampcode.com>
2026-08-17 04:28:28 -07:00
Peter Steinberger 4f715eb37b docs: align classic onboarding setup flow (#124712)
* docs(onboarding): align classic setup flow

Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae

* docs(onboard): clarify import reset incompatibility

Amp-Thread-ID: https://ampcode.com/threads/T-01a00ae0-190d-718b-8a76-b75f3e8d1fae

---------

Co-authored-by: Amp <amp@ampcode.com>
2026-08-16 21:15:39 -07:00
Peter Steinberger 1b98bc35a0 fix(onboard): stop failing intentionally unstarted gateway (#123857) 2026-08-14 14:59:54 -07:00
Peter Steinberger e6eebc5ad8 feat(agents): un-reserve literal main (#123609)
* feat(agents): un-reserve literal main

* fix(agents): scan legacy sessions before reusing main
2026-08-14 04:23:19 -07:00
Peter Steinberger e45a9460ce docs: repair spellcheck and anchor drift (#122960)
* docs: repair spellcheck and anchor drift

* docs: satisfy markdown anchor lint
2026-08-12 20:50:56 -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 d7df852bb4 docs(onboard): fix non-interactive command examples (#121954)
Align copyable onboarding commands with the mandatory risk acknowledgement and an explicit health disposition for config-only automation.\n\nRefs #121951.
2026-08-11 01:35:00 -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 f4bac99a81 feat(secrets): add SQLite-backed secret store (#121559) 2026-08-10 07:08:40 -07:00
Peter Steinberger e4b617300d refactor(macos): remove obsolete Gateway startup probe (#121439)
* refactor(macos): remove dead gateway command builder

* chore(i18n): refresh native inventory after gateway-env cleanup
2026-08-10 00:19:23 -07:00
Peter Steinberger 7fafaf50f4 fix(onboard): keep referenced provider secrets out of plaintext (#118702)
* fix(onboard): keep referenced provider secrets out of plaintext

* fix(onboard): retain public credential owner type usage

* docs(onboarding): explain preserved credential profiles in reference mode
2026-08-03 08:34:47 -07:00
Peter Steinberger b438b9605f fix: dashboards fail to load and interrupted first-time setup never recovers (#118388)
* fix: recover dashboards and interrupted first-time setup

* fix: clarify managed proxy bypass boundary

---------

Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 19:56:40 -07:00
Peter Steinberger 76cb418b6f fix(macos): reopen AI choice, fix daemon error text, hand onboarding off to the dashboard custodian (#117921)
* fix(macos): let onboarding replace an auto-connected AI

The AI page auto-tests the best detected candidate and connects without
asking, then hides every alternative route. Add 'Choose a different AI'
to the connected banner: a re-detect pass with auto-activation
suppressed that ends at the picker (candidates, provider sign-in, API
keys). Also disable the manual key Connect button while another test
runs (submitManualKey silently dropped the tap), and isolate a test
that read the machine's real resume store.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(macos): surface real daemon errors past the Node banner

Gateway daemon failures summarized as 'Node.js v26.5.1' because the
summary takes the last non-empty line and Node fatal errors end with a
version banner. Drop trailing banner lines and prefer the last
error-shaped line above them; all other output keeps its last line.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* feat(macos): hand onboarding off to the dashboard custodian

Native onboarding now ends once inference verifies: welcome, connection,
install (when needed), AI setup. Finish opens the dashboard at
/custodian?onboarding=1, where the custodian onboarding owns memory
import, channels, app recommendations, and the hatch (browser-first per
the onboarding redesign). The native memory-import and permissions
pages leave the first-run flow; 'Set up later' keeps the native ready
page. The native navigation bridge gains a validated optional search
field so the handoff can request onboarding chrome; the URL fallback
carries the query alongside the token fragment.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(macos): delete the unreachable native memory-import module

The dashboard handoff removed the memory-import page from every flow,
leaving the module reachable only from tests. CI's dead-code scan
rightly flagged the first orphans; remove the whole path (model, page,
mascot wiring, tests) instead of trimming symbol by symbol. The
dashboard's own memory-import surface owns the feature.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-02 02:57:25 -07:00
Peter Steinberger 385f1dee16 docs: generate docs map at publish time (#117398)
* docs: generate docs map at publish time

* fix: canonicalize Docker pack entry path

* fix: preserve package lifecycle ownership
2026-08-01 07:01:43 -07:00
Yangfan Wu Bot 9099520ae2 docs(media): clarify legacy MEDIA line formatting (#96275)
* docs(media): clarify legacy MEDIA line formatting

* docs(media): fix heading hierarchy

* docs: update docs map for rich output protocol

---------

Co-authored-by: 吴杨帆 <39647285+leno23@users.noreply.github.com>
2026-07-31 21:21:59 -07:00
Ali Adnan de143f2760 docs: fix controlUi.root config value using unexpanded tilde (#114594) 2026-07-31 15:54:51 -07:00
Vincent Koc 9e965073e5 Merge remote-tracking branch 'origin/main' into experiment/google-cli-supported-paths
* origin/main: (168 commits)
  fix(plugins): keep registry sqlite root consistent (#116427)
  fix(cli): keep Gateway auth failures parseable in JSON (#116597)
  fix(trajectory): preserve prompts in oversized events (#116220)
  test(buzz): add live QA Lab channel lane (#116298)
  chore(i18n): refresh native locales (#116567)
  feat: add OpenClaw TUI prototype skill (#116583)
  fix(update): accept concrete versions selected by ranges (#116585)
  fix(agents): preserve locked session model routes
  test(qa-lab): preserve Matrix fault proxy identity
  fix(ci): extend OpenAI live profile setup budget (#116580)
  fix: prevent configured models from stalling startup (#116553)
  fix(cli): close MCP listener after one-shot commands
  fix(auto-reply): keep explicit NO_REPLY silent (#116548)
  test(discord): cover deferred backpressure terminals
  fix(discord): cancel backpressured realtime playback
  test(discord): cover realtime output backpressure
  fix(codex): add remote WebSocket heartbeat and reconnect (#116135)
  fix(macos): wait for the current reconnect snapshot (#116550)
  fix(outbound): recognize current-source message-tool sends (#116560)
  fix(voice-call): type cancelled consult outcomes
  ...

# Conflicts:
#	extensions/google/setup-api.test.ts
#	ui/src/e2e/model-setup.e2e.test.ts
2026-07-31 09:30:03 +08:00
Vincent Koc d540255ce7 docs(google): document supported auth paths 2026-07-30 22:56:26 +08:00
Omar Shahine 944cf08f94 docs(automation): rename scheduled-tasks feature wording to Automations (#114855)
* docs(automation): rename scheduled-tasks feature wording to Automations

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WhJ8EiMXue6ADLmHfb7FL6

* docs: regenerate docs map and add Automations glossary entries

* docs(templates): follow renamed automations-vs-heartbeat anchor

* docs(automation): fix markdown formatting drift

* docs(automation): teach the canonical automations tool and sync the copied heartbeat default

Review follow-ups: normal instructions use the automations tool with cron as
an explicit compatibility alias; every verbatim copy of the default heartbeat
prompt matches the new shipped text from the strings PR.

---------

Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 07:21:56 -07:00
Peter Steinberger c4ffc972ec docs: document gateway and memory chat wizards (#115487) 2026-07-28 22:26:19 -04:00
wangyan2026 f308af8a34 docs: link macOS onboarding pages to app download (#111361)
* docs: link macOS onboarding pages to app download

Add download handoff to both macOS app onboarding entry points so
first-time users can reach the app before following first-run steps.

- onboarding.md: add <Tip> linking to /platforms/macos#download
- onboarding-overview.md: update comparison table Command row and
  macOS section opening sentence with download link

Closes #111338

* docs: tighten macOS download handoff

Co-authored-by: WangYan <wang.yan29@xydigit.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-28 12:53:24 -04:00
Santhi Prakash f84ee793da [AI-assisted] docs: recommend Node 26 in quickstart, landing, and platform install docs (#115064)
* docs: recommend Node 26 in quickstart, landing, and platform install docs

- Problem: the user-facing quickstart (docs/start/getting-started.md), landing
  page (docs/index.md), and Linux/macOS platform install docs still mark
  Node 24 as the recommended default, contradicting maintainer PR #114399
  ('recommend Node 26 as the OpenClaw runtime') and the installer default
  (scripts/install.sh NODE_DEFAULT_MAJOR=26, openclaw.mjs
  RECOMMENDED_NODE_MAJOR=26). Users following the quickstart pick a slower,
  heavier runtime against the project's stated recommendation.
- Fix: align the 4 missed user-facing install surfaces to 'Node 26
  recommended', matching the phrasing already in docs/install/node.md,
  docs/install/index.md, docs/install/ansible.md, docs/install/bun.md, and
  docs/help/faq-first-run.md. Leave docs/start/setup.md (the source/dev
  workflow where CI pins Node 24) unchanged on purpose.
- Verification: docs-only diff reviewed; supported-version floors
  (22.22.3+/24.15+/25.9+) unchanged; consistent across all install surfaces.

* docs: complete Node 26 installation guidance

Co-authored-by: Santhi Prakash <b.santhiprakash@gmail.com>

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-28 12:37:06 -04:00
Peter Steinberger 330d0fa4c6 docs: cover Ask OpenClaw page context, dockable panel, and hosted skills/search setup (#115182)
* docs: cover Ask OpenClaw page context, dockable panel, and hosted skills/search setup

* docs: regenerate docs map for renamed masked-wizard heading
2026-07-28 08:45:49 -04:00