diff --git a/docs/concepts/mantis-slack-desktop-runbook.md b/docs/concepts/mantis-slack-desktop-runbook.md index f1ea8defa2e..d699eb802ee 100644 --- a/docs/concepts/mantis-slack-desktop-runbook.md +++ b/docs/concepts/mantis-slack-desktop-runbook.md @@ -5,7 +5,7 @@ read_when: - Debugging slow Mantis Slack desktop runs - Choosing source, prehydrated, or warm-lease mode - Posting screenshot and video evidence to a PR -title: "Mantis Slack Desktop Runbook" +title: "Mantis Slack desktop runbook" --- Mantis Slack desktop QA is the real-UI lane for Slack-class bugs that need a @@ -14,7 +14,7 @@ videos, and a PR evidence comment. Use it when unit tests or the headless Slack live lane cannot prove the bug. -## Storage Model +## Storage model Mantis uses three different storage layers: @@ -31,7 +31,7 @@ Mantis uses three different storage layers: Never put secrets, browser cookies, Slack login state, repository checkouts, `node_modules`, or `dist/` into a prebaked provider image. -## GitHub Dispatch +## GitHub dispatch Run the workflow from `main`: @@ -116,7 +116,7 @@ Use `--hydrate-mode prehydrated` only when the reused remote workspace already has `node_modules` and a built `dist/`. Mantis fails closed if those are missing. -## Hydrate Modes +## Hydrate modes | Mode | Use when | Remote behavior | Tradeoff | | ------------- | ----------------------------------------- | ------------------------------------------------------------------------------------- | -------------------------------------------------------- | @@ -127,7 +127,7 @@ GitHub Actions always prepares the candidate checkout before the VM run. Its pnpm store is cached by OS, Node version, and lockfile. The VM source run also uses `/var/cache/crabbox/pnpm` when present. -## Timing Interpretation +## Timing interpretation `mantis-slack-desktop-smoke-report.md` includes phase timings: @@ -152,7 +152,7 @@ If the run is slow: ready, or the gateway/browser/Slack setup is slow; - artifact copy dominates: inspect video size and artifact directory contents. -## Evidence Checklist +## Evidence checklist A good PR comment should show: @@ -168,7 +168,7 @@ A good PR comment should show: Do not commit screenshots or videos into the repository. Keep them in GitHub Actions artifacts or the PR comment. -## Failure Handling +## Failure handling If the workflow fails before the VM run, inspect the Actions job first. Typical causes are untrusted `candidate_ref`, missing environment secrets, or candidate @@ -195,8 +195,8 @@ crabbox stop --provider aws If Slack login expired, repair it in VNC on a kept lease and rerun with `--lease-id`. Do not bake that browser profile into a provider image. -Related docs: +## Related -- [QA overview](qa-e2e-automation.md) -- [Slack channel](../channels/slack.md) -- [Testing](../help/testing.md) +- [QA overview](/concepts/qa-e2e-automation) +- [Slack channel](/channels/slack) +- [Testing](/help/testing) diff --git a/docs/concepts/openclaw-sdk.md b/docs/concepts/openclaw-sdk.md index a22bc51bcf7..9bd525793c0 100644 --- a/docs/concepts/openclaw-sdk.md +++ b/docs/concepts/openclaw-sdk.md @@ -21,7 +21,7 @@ resources. register providers, channels, tools, hooks, or trusted runtimes. -## What Ships Today +## What ships today `@openclaw/sdk` ships with: @@ -54,7 +54,7 @@ The SDK also exports the core types used by those surfaces: `EnvironmentSelection`, `WorkspaceSelection`, `ApprovalMode`, and related result types. -## Connect To A Gateway +## Connect to a Gateway Create a client with an explicit Gateway URL, or inject a custom transport for tests and embedded app runtimes. @@ -89,7 +89,7 @@ const oc = new OpenClaw({ }); ``` -## Run An Agent +## Run an agent Use `oc.agents.get(id)` when the app wants an agent handle, then call `agent.run()`. @@ -124,7 +124,7 @@ while the run is still active returns `status: "accepted"` instead of pretending the run itself timed out. Runtime timeouts, aborted runs, and cancelled runs are normalized into `timed_out` or `cancelled`. -## Create And Reuse Sessions +## Create and reuse sessions Use sessions when the app wants durable transcript state. @@ -147,7 +147,7 @@ await session.patch({ label: "renamed-session" }); await session.compact({ maxLines: 200 }); ``` -## Stream Events +## Stream events The SDK normalizes raw Gateway events into a stable `OpenClawEvent` envelope: @@ -208,7 +208,7 @@ for await (const event of run.events()) { For app-wide streams, use `oc.events()`. For raw Gateway frames, use `oc.rawEvents()`. -## Models, Tools, Artifacts, And Approvals +## Models, tools, artifacts, and approvals Model helpers map to current Gateway methods: @@ -261,7 +261,7 @@ const { environments } = await oc.environments.list(); await oc.environments.status(environments[0].id); ``` -## Explicitly Unsupported Today +## Explicitly unsupported today The SDK includes names for the product model we want, but it does not silently pretend Gateway RPCs exist. These calls currently throw explicit unsupported @@ -282,7 +282,7 @@ the `agent` RPC. If callers pass them, the SDK throws before submitting the run so work does not accidentally execute with default workspace, runtime, environment, or approval behavior. -## App SDK Versus Plugin SDK +## App SDK vs Plugin SDK Use the App SDK when code lives outside OpenClaw: @@ -304,7 +304,7 @@ Use the Plugin SDK when code runs inside OpenClaw: App SDK code should import from `@openclaw/sdk`. Plugin code should import from documented `openclaw/plugin-sdk/*` subpaths. Do not mix the two contracts. -## Related Docs +## Related - [OpenClaw App SDK API design](/reference/openclaw-sdk-api-design) - [Gateway RPC reference](/reference/rpc) diff --git a/docs/concepts/progress-drafts.md b/docs/concepts/progress-drafts.md index 8dd453100c2..b73cf4ab5be 100644 --- a/docs/concepts/progress-drafts.md +++ b/docs/concepts/progress-drafts.md @@ -26,7 +26,7 @@ Shelling... Use progress drafts when you want one tidy status message during tool-heavy work and the final answer when the turn is done. -## Quick Start +## Quick start Enable progress drafts per channel with `streaming.mode: "progress"`: @@ -47,7 +47,7 @@ until work lasts at least five seconds or emits a second work event, add compact progress lines while useful work happens, and suppress duplicate standalone progress chatter for that turn. -## What Users See +## What users see A progress draft has two parts: @@ -67,7 +67,7 @@ The final answer replaces the draft when possible; otherwise OpenClaw sends the final answer normally and cleans up or stops updating the draft according to the channel's transport. -## Choose A Mode +## Choose a mode `channels..streaming.mode` controls the visible in-progress behavior: @@ -88,7 +88,7 @@ Discord and Telegram, `streaming.mode: "block"` is still preview streaming, not normal block delivery. Use `streaming.block.enabled` or legacy `blockStreaming` when you want normal block replies. -## Configure Labels +## Configure labels Progress labels live under `channels..streaming.progress`. @@ -170,7 +170,7 @@ Hide the label and show only progress lines: } ``` -## Control Progress Lines +## Control progress lines Progress lines are enabled by default in progress mode. They come from real run events: tool starts, item updates, task plans, approvals, command output, patch @@ -265,7 +265,7 @@ With `toolProgress: false`, OpenClaw still suppresses the older standalone tool-progress messages for that turn. The channel stays visually quiet until the final answer, except for the label if one is configured. -## Channel Behavior +## Channel behavior Each channel uses the cleanest transport it supports: diff --git a/docs/plugins/codex-computer-use.md b/docs/plugins/codex-computer-use.md index 289c59ff976..08127ad5a9b 100644 --- a/docs/plugins/codex-computer-use.md +++ b/docs/plugins/codex-computer-use.md @@ -289,3 +289,9 @@ registrations are dropped, then retry. source with explicit `/codex computer-use install --source ` first, then future turn-start auto-install can use the discovered local marketplace. + +## Related + +- [Codex harness](/plugins/codex-harness) +- [Peekaboo bridge](/platforms/mac/peekaboo) +- [iOS app](/platforms/ios)