From 87c85c507a69f168a0ce53fe4dd5f6192eb46550 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 23 Apr 2026 06:38:31 +0100 Subject: [PATCH] fix: align docs with cli and provider surfaces --- docs/.generated/config-baseline.sha256 | 6 +- .../.generated/plugin-sdk-api-baseline.sha256 | 4 +- docs/.i18n/glossary.zh-CN.json | 4 + docs/automation/taskflow.md | 2 +- docs/automation/tasks.md | 2 +- docs/cli/flows.md | 2 +- docs/cli/index.md | 4 +- docs/cli/plugins.md | 2 +- docs/cli/tasks.md | 98 +++++++++++++++++++ docs/docs.json | 4 +- docs/providers/index.md | 2 + docs/providers/models.md | 2 +- docs/tools/plugin.md | 4 +- src/cli/capability-cli.ts | 4 + src/cli/program/command-tree.test.ts | 9 ++ src/cli/program/command-tree.ts | 4 +- src/cli/program/subcli-descriptors.ts | 2 +- 17 files changed, 138 insertions(+), 17 deletions(-) create mode 100644 docs/cli/tasks.md diff --git a/docs/.generated/config-baseline.sha256 b/docs/.generated/config-baseline.sha256 index 084a40b39e8..cc4594ca0ee 100644 --- a/docs/.generated/config-baseline.sha256 +++ b/docs/.generated/config-baseline.sha256 @@ -1,4 +1,4 @@ -b05357fa162ba1f1d4ed192671b758d3905602678ff61148568840c6544d6222 config-baseline.json +1d08257f068365d84ea1163baf2bca00484bb2689cd1ad2f80e97d3269b8a318 config-baseline.json a4e167f169db58d71c385a31fa2b980772f9fee963e70dd9553f63536cae5aed config-baseline.core.json -35d132fe176bd2bf9f0e46b29de91baba63ec4db3317cc5b294a982b46d16ba9 config-baseline.channel.json -3703c5345288adb9eee8cda3b592147cf4fed25a7782bed21ca83c88c3ca1cc0 config-baseline.plugin.json +22d7cd6d8279146b2d79c9531a55b80b52a2c99c81338c508104729154fdd02d config-baseline.channel.json +5b4d18610693d9c4f3cbac51d011b4eb47b0fb11772ba3d2aa3e3499d474260d config-baseline.plugin.json diff --git a/docs/.generated/plugin-sdk-api-baseline.sha256 b/docs/.generated/plugin-sdk-api-baseline.sha256 index 64d14208266..a7e7dac5f6f 100644 --- a/docs/.generated/plugin-sdk-api-baseline.sha256 +++ b/docs/.generated/plugin-sdk-api-baseline.sha256 @@ -1,2 +1,2 @@ -6297ca54fecbf277f3ed2e76410cc79aef95cf7dd887ab2383858a2132f81777 plugin-sdk-api-baseline.json -aa3343fda656a0034f9dd5ec7e28fcf45d49b15c1ed64329673ac1629285730c plugin-sdk-api-baseline.jsonl +69428c5bb07b7477bfa804b0dc3c60aee88485e8e89c1192b4f64e4be030077c plugin-sdk-api-baseline.json +7775f57fe6f855e0c8f3af1e20563bb4ba36ca8d97732e2fbaa2edcdb35c8995 plugin-sdk-api-baseline.jsonl diff --git a/docs/.i18n/glossary.zh-CN.json b/docs/.i18n/glossary.zh-CN.json index bec8c0b88e2..3dff4abfa9a 100644 --- a/docs/.i18n/glossary.zh-CN.json +++ b/docs/.i18n/glossary.zh-CN.json @@ -75,6 +75,10 @@ "source": "BytePlus (International)", "target": "BytePlus(国际版)" }, + { + "source": "Amazon Bedrock Mantle", + "target": "Amazon Bedrock Mantle" + }, { "source": "Anthropic (API + Claude CLI)", "target": "Anthropic(API + Claude CLI)" diff --git a/docs/automation/taskflow.md b/docs/automation/taskflow.md index 8597666cf0b..d41906c24f4 100644 --- a/docs/automation/taskflow.md +++ b/docs/automation/taskflow.md @@ -77,6 +77,6 @@ Flows coordinate tasks, not replace them. A single flow may drive multiple backg ## Related - [Background Tasks](/automation/tasks) — the detached work ledger that flows coordinate -- [CLI: tasks](/cli/index#tasks) — CLI command reference for `openclaw tasks flow` +- [CLI: tasks](/cli/tasks) — CLI command reference for `openclaw tasks flow` - [Automation Overview](/automation) — all automation mechanisms at a glance - [Cron Jobs](/automation/cron-jobs) — scheduled jobs that may feed into flows diff --git a/docs/automation/tasks.md b/docs/automation/tasks.md index 5db1ec91f29..4ba153737cb 100644 --- a/docs/automation/tasks.md +++ b/docs/automation/tasks.md @@ -325,4 +325,4 @@ A task's `runId` links to the agent run doing the work. Agent lifecycle events ( - [Task Flow](/automation/taskflow) — flow orchestration above tasks - [Scheduled Tasks](/automation/cron-jobs) — scheduling background work - [Heartbeat](/gateway/heartbeat) — periodic main-session turns -- [CLI: Tasks](/cli/index#tasks) — CLI command reference +- [CLI: Tasks](/cli/tasks) — CLI command reference diff --git a/docs/cli/flows.md b/docs/cli/flows.md index fd768bed68d..cc66acd41e9 100644 --- a/docs/cli/flows.md +++ b/docs/cli/flows.md @@ -15,4 +15,4 @@ openclaw tasks flow show openclaw tasks flow cancel ``` -For full documentation see [Task Flow](/automation/taskflow) and the [tasks CLI reference](/cli/index#tasks). +For full documentation see [Task Flow](/automation/taskflow) and the [tasks CLI reference](/cli/tasks). diff --git a/docs/cli/index.md b/docs/cli/index.md index 7d817a6d9e6..015c9f02d99 100644 --- a/docs/cli/index.md +++ b/docs/cli/index.md @@ -47,7 +47,7 @@ This page describes the current CLI behavior. If commands change, update this do - [`tui`](/cli/tui) - [`browser`](/cli/browser) - [`cron`](/cli/cron) -- [`tasks`](/cli/index#tasks) +- [`tasks`](/cli/tasks) - [`flows`](/cli/flows) - [`dns`](/cli/dns) - [`docs`](/cli/docs) @@ -431,7 +431,7 @@ Notes: ## Plugins -Manage extensions and their config: +Manage plugins and their config: - `openclaw plugins list` — discover plugins (use `--json` for machine output). - `openclaw plugins inspect ` — show details for a plugin (`info` is an alias). diff --git a/docs/cli/plugins.md b/docs/cli/plugins.md index 92f01332465..9a3d0fd7741 100644 --- a/docs/cli/plugins.md +++ b/docs/cli/plugins.md @@ -8,7 +8,7 @@ title: "plugins" # `openclaw plugins` -Manage Gateway plugins/extensions, hook packs, and compatible bundles. +Manage Gateway plugins, hook packs, and compatible bundles. Related: diff --git a/docs/cli/tasks.md b/docs/cli/tasks.md new file mode 100644 index 00000000000..af87bee4e6d --- /dev/null +++ b/docs/cli/tasks.md @@ -0,0 +1,98 @@ +--- +summary: "CLI reference for `openclaw tasks` (background task ledger and Task Flow state)" +read_when: + - You want to inspect, audit, or cancel background task records + - You are documenting Task Flow commands under `openclaw tasks flow` +title: "`openclaw tasks`" +--- + +# `openclaw tasks` + +Inspect durable background tasks and Task Flow state. With no subcommand, +`openclaw tasks` is equivalent to `openclaw tasks list`. + +See [Background Tasks](/automation/tasks) for the lifecycle and delivery model. + +## Usage + +```bash +openclaw tasks +openclaw tasks list +openclaw tasks list --runtime acp +openclaw tasks list --status running +openclaw tasks show +openclaw tasks notify state_changes +openclaw tasks cancel +openclaw tasks audit +openclaw tasks maintenance +openclaw tasks maintenance --apply +openclaw tasks flow list +openclaw tasks flow show +openclaw tasks flow cancel +``` + +## Root Options + +- `--json`: output JSON. +- `--runtime `: filter by kind: `subagent`, `acp`, `cron`, or `cli`. +- `--status `: filter by status: `queued`, `running`, `succeeded`, `failed`, `timed_out`, `cancelled`, or `lost`. + +## Subcommands + +### `list` + +```bash +openclaw tasks list [--runtime ] [--status ] [--json] +``` + +Lists tracked background tasks newest first. + +### `show` + +```bash +openclaw tasks show [--json] +``` + +Shows one task by task ID, run ID, or session key. + +### `notify` + +```bash +openclaw tasks notify +``` + +Changes the notification policy for a running task. + +### `cancel` + +```bash +openclaw tasks cancel +``` + +Cancels a running background task. + +### `audit` + +```bash +openclaw tasks audit [--severity ] [--code ] [--limit ] [--json] +``` + +Surfaces stale, lost, delivery-failed, or otherwise inconsistent task and Task Flow records. + +### `maintenance` + +```bash +openclaw tasks maintenance [--apply] [--json] +``` + +Previews or applies task and Task Flow reconciliation, cleanup stamping, and pruning. + +### `flow` + +```bash +openclaw tasks flow list [--status ] [--json] +openclaw tasks flow show [--json] +openclaw tasks flow cancel +``` + +Inspects or cancels durable Task Flow state under the task ledger. diff --git a/docs/docs.json b/docs/docs.json index 1ae08671395..9e502593e97 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -1266,6 +1266,7 @@ "providers/comfy", "providers/deepgram", "providers/deepseek", + "providers/elevenlabs", "providers/fal", "providers/fireworks", "providers/github-copilot", @@ -1483,7 +1484,8 @@ "cli/message", "cli/models", "cli/sessions", - "cli/system" + "cli/system", + "cli/tasks" ] }, { diff --git a/docs/providers/index.md b/docs/providers/index.md index 02360a9e20a..18a09e36410 100644 --- a/docs/providers/index.md +++ b/docs/providers/index.md @@ -28,6 +28,7 @@ Looking for chat channel docs (WhatsApp/Telegram/Discord/Slack/Mattermost (plugi - [Alibaba Model Studio](/providers/alibaba) - [Amazon Bedrock](/providers/bedrock) +- [Amazon Bedrock Mantle](/providers/bedrock-mantle) - [Anthropic (API + Claude CLI)](/providers/anthropic) - [Arcee AI (Trinity models)](/providers/arcee) - [BytePlus (International)](/concepts/model-providers#byteplus-international) @@ -35,6 +36,7 @@ Looking for chat channel docs (WhatsApp/Telegram/Discord/Slack/Mattermost (plugi - [Cloudflare AI Gateway](/providers/cloudflare-ai-gateway) - [ComfyUI](/providers/comfy) - [DeepSeek](/providers/deepseek) +- [ElevenLabs](/providers/elevenlabs) - [fal](/providers/fal) - [Fireworks](/providers/fireworks) - [GitHub Copilot](/providers/github-copilot) diff --git a/docs/providers/models.md b/docs/providers/models.md index 65fa9467e95..0950d3bace5 100644 --- a/docs/providers/models.md +++ b/docs/providers/models.md @@ -25,8 +25,8 @@ model as `provider/model`. ## Supported providers (starter set) - [Alibaba Model Studio](/providers/alibaba) -- [Anthropic (API + Claude CLI)](/providers/anthropic) - [Amazon Bedrock](/providers/bedrock) +- [Anthropic (API + Claude CLI)](/providers/anthropic) - [BytePlus (International)](/concepts/model-providers#byteplus-international) - [Chutes](/providers/chutes) - [ComfyUI](/providers/comfy) diff --git a/docs/tools/plugin.md b/docs/tools/plugin.md index 729b54cff2c..e29883c2047 100644 --- a/docs/tools/plugin.md +++ b/docs/tools/plugin.md @@ -169,11 +169,11 @@ OpenClaw scans for plugins in this order (first match wins): `plugins.load.paths` — explicit file or directory paths. - + `\/.openclaw//*.ts` and `\/.openclaw//*/index.ts`. - + `~/.openclaw//*.ts` and `~/.openclaw//*/index.ts`. diff --git a/src/cli/capability-cli.ts b/src/cli/capability-cli.ts index 524e3e91306..6b4c3dd850f 100644 --- a/src/cli/capability-cli.ts +++ b/src/cli/capability-cli.ts @@ -73,6 +73,7 @@ import { } from "../web-search/runtime.js"; import { runCommandWithRuntime } from "./cli-utils.js"; import { createDefaultDeps } from "./deps.js"; +import { removeCommandByName } from "./program/command-tree.js"; import { collectOption } from "./program/helpers.js"; type CapabilityTransport = "local" | "gateway"; @@ -1235,6 +1236,9 @@ function registerCapabilityListAndInspect(capability: Command) { } export function registerCapabilityCli(program: Command) { + removeCommandByName(program, "infer"); + removeCommandByName(program, "capability"); + const capability = program .command("infer") .alias("capability") diff --git a/src/cli/program/command-tree.test.ts b/src/cli/program/command-tree.test.ts index c03e08ea69c..b77010a17d3 100644 --- a/src/cli/program/command-tree.test.ts +++ b/src/cli/program/command-tree.test.ts @@ -29,6 +29,15 @@ describe("command-tree", () => { expect(program.commands.map((command) => command.name())).toEqual(["beta"]); }); + it("removes by command alias", () => { + const program = new Command(); + program.command("alpha").alias("a"); + program.command("beta"); + + expect(removeCommandByName(program, "a")).toBe(true); + expect(program.commands.map((command) => command.name())).toEqual(["beta"]); + }); + it("returns false when name does not exist", () => { const program = new Command(); program.command("alpha"); diff --git a/src/cli/program/command-tree.ts b/src/cli/program/command-tree.ts index 0f179b5dd76..e2a58a19dc4 100644 --- a/src/cli/program/command-tree.ts +++ b/src/cli/program/command-tree.ts @@ -11,7 +11,9 @@ export function removeCommand(program: Command, command: Command): boolean { } export function removeCommandByName(program: Command, name: string): boolean { - const existing = program.commands.find((command) => command.name() === name); + const existing = program.commands.find( + (command) => command.name() === name || command.aliases().includes(name), + ); if (!existing) { return false; } diff --git a/src/cli/program/subcli-descriptors.ts b/src/cli/program/subcli-descriptors.ts index 615f484bd33..71ce5e7f4ea 100644 --- a/src/cli/program/subcli-descriptors.ts +++ b/src/cli/program/subcli-descriptors.ts @@ -130,7 +130,7 @@ const subCliCommandCatalog = defineCommandDescriptorCatalog([ }, { name: "plugins", - description: "Manage OpenClaw plugins and extensions", + description: "Manage OpenClaw plugins", hasSubcommands: true, }, {