Files
Vincent KocandVincent Koc 2393e17f27 docs: fix one-way and absolute links across cli, tools, gateway, and channels (#143157)
* docs: fix one-way and absolute links across cli, tools, gateway, and channels

Closes the open `link`-kind audit findings filed against docs/cli/,
docs/tools/, docs/gateway/ and docs/channels/.

- Convert 21 absolute `https://docs.openclaw.ai/...` links to root-relative
  paths on protocol, clients, external-apps, embedding, protocol/transport,
  and zaloclawbot so local previews and versioned builds resolve them.
- Add the missing reverse link for one-way Related entries, using the house
  bullet or `<Card>` shape each page already uses.
- Link terms that were named but not linked: SecretRef and
  `gateway.trustedProxies` on sms, the meeting providers on transcripts,
  `openclaw models`/`openclaw agent` on infer, Talk on tts, `/tools/invoke`
  on the gateway index.
- Give distinct link text to the two "macOS platform notes" links on
  gateway/troubleshooting.
- Point the IRC workspace `.env` link at the section anchor rather than the
  Security index.
- Add Related sections to pages that had none (sms, transcripts, promos,
  progress-card, onboard, access-groups, concepts/memory, operator-scopes).
- Add the 28 zh-CN glossary sources the new list-item link labels require,
  each inserted beside a related existing term.

No anchor targets change. `pnpm check:docs` is green.

* docs: link devices and doctor inline on pairing, and trusted proxy auth from the security index

Completes two findings that were only half-applied: r3-1324 asked for the
sibling commands to be linked inline on /cli/pairing, and r3-1579 lists the
security index among the four pages that should link back to
/gateway/trusted-proxy-auth.

* docs: match each Related list's existing separator style

The added bullets used an em dash in lists whose existing entries separate
the label and gloss with a hyphen. Normalized 11 files so each list stays
internally consistent.

* docs: correct four inaccurate Related-link descriptions from review

ClawSweeper found that several glosses I wrote misdescribed their targets.
Verified each against the destination page and corrected:

- ask_user is for non-secret questions; its own reference says never to answer
  it with a credential, so the secrets-page gloss now points credential entry
  at the masked secrets tool (P1).
- OpenClaw sandbox policy does not wrap ACP harness execution
  (tools/acp-agents/delivery.md), so the ACP backlink now names the separate
  boundary instead of implying coverage (P2).
- Code Mode is a QuickJS-WASI JavaScript/TypeScript orchestration surface, not
  something built on the xAI code_execution tool documented on that page (P2).
- openclaw qr emits a mobile-node bootstrap payload, not a channel DM pairing
  code, on both the pairing and devices pages (P2).

Audited the other 100 descriptions for the same class of error and fixed six
more: OpenShell is a managed sandbox backend rather than a surface the sandbox
bounds (3 pages); a Cloud Workers gloss claimed sandbox settings apply when its
managed workspace is explicitly not an OS sandbox; openclaw promos lists and
claims promotional offers; the 1Password gloss overstated the plugin relation;
and the progress-card bullets no longer assert undocumented dashboard rendering.

* docs: correct three more link descriptions and audit every remaining gloss

Addresses the second review round, and then re-checks the whole set rather
than only the three reported.

Reported:
- openclaw attach launches Claude Code with a scoped Gateway MCP grant
  (cli/attach.md:2); it does not attach a terminal to a running session.
  Fixed on cli/mcp.md and cli/tui.md.
- Bare openclaw setup opens an interactive system-agent chat and falls
  through to guided onboarding on a fresh system (cli/setup.md:12), so
  calling it 'the non-interactive setup command' was wrong.
- Access groups have no pairing prerequisite: a group 'grants nothing by
  itself' and only matters where an allowlist references it. Dropped the
  invented sequencing claim.

Found by auditing the remaining descriptions against each target's own
summary:
- openclaw worker is explicitly 'not a general-purpose command for manual
  worker registration' (cli/worker.md:13); reworded on cloud-workers and
  protocol/handshake.
- /reference/rpc documents RPC adapters for external CLIs, not worker RPC
  method shapes; repointed to /gateway/protocol/rpc-methods.
- stable-https-url gives a tailnet-only URL via Tailscale Serve, which the
  iOS and Android glosses omitted.
- Tightened health, logs, sandbox, resume, infer, dashboard, diffs,
  prometheus, music-generation, subagents, pairing, audit, tools-invoke,
  configuration-reference, and the three goal glosses to match their pages
  instead of asserting relationships no page documents.

One glossary source added for the new label.

* docs: attribute goal reads and updates to the dedicated goal tools

The session-tool page documents session discovery, messaging, lifecycle, and
orchestration tools; goal operations use get_goal, create_goal, and
update_goal instead (docs/tools/goal.md:132-149). I corrected the other three
goal glosses last round and missed this one.

---------

Co-authored-by: Vincent Koc <vincent@openclaw.org>
2026-09-10 07:40:16 +09:00

2.9 KiB

summary, read_when, title
summary read_when title
CLI reference for `openclaw promos` (list and claim promotional model offers)
You want to try a free promotional model offer from ClawHub
You are configuring a provider through a promotion instead of onboarding
Promos

openclaw promos

Discover and claim promotional model offers published on ClawHub. Claiming a promotion configures the provider (auth and plugin, when needed) and registers the promotion's models — without re-running onboarding and without changing your default model unless you say so.

Related:

Commands

openclaw promos list
openclaw promos claim <slug>
openclaw promos claim <slug> --api-key <key> --set-default

openclaw promos list

Lists promotions that are currently live, with their models, the suggested default, time remaining, and the exact claim command. --json prints the raw payload.

openclaw promos claim <slug>

Claims a live promotion:

  1. Fetches the promotion from ClawHub and verifies it is inside its window.
  2. Validates the promotion's provider, auth choice, and declared plugin packages against your installed OpenClaw version. Unknown ids or package mismatches are refused — a promotion can never make the CLI run anything it does not already know how to do.
  3. Reuses your existing provider credentials when you have them. Otherwise it walks the provider's normal auth flow (printing the promotion's signup URL for a free key first). --api-key <key> completes API-key auth without prompts, matching the openclaw onboard non-interactive flags; to keep the key off the command line, export the provider's environment variable instead (for example OPENROUTER_API_KEY) — existing env credentials are detected automatically and no flag is needed.
  4. Registers the promotion's models with their aliases. Existing aliases are never overwritten.
  5. Offers to set the promotion's suggested model as your default — --set-default skips the question; otherwise nothing about your defaults changes.

When the promotion's window ends, the provider stops serving the free models; your configuration and credentials are untouched. Switch back anytime with openclaw models set <model>.

Model inventory and offers

Run openclaw promos list to discover current offers and their claim commands. Ordinary openclaw models list reads the model catalog without refreshing the promotions feed, adding promotion notices, or changing notification state. Existing claimed-model configuration and credentials remain available.

Claiming revalidates the offer against the live ClawHub API, so a withdrawn offer is refused even when an older cached copy still shows it.