mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 05:30:42 +00:00
docs: deep audit documentation against source
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
69428c5bb07b7477bfa804b0dc3c60aee88485e8e89c1192b4f64e4be030077c plugin-sdk-api-baseline.json
|
||||
7775f57fe6f855e0c8f3af1e20563bb4ba36ca8d97732e2fbaa2edcdb35c8995 plugin-sdk-api-baseline.jsonl
|
||||
2787bd6f7127d09c23323c193084d9f6ceaae61d13b74f694ae12674e6152ad4 plugin-sdk-api-baseline.json
|
||||
5352814e95ee2bd9668ee7a2276432d2c09a4651c648ea1b52a34a69490b27cd plugin-sdk-api-baseline.jsonl
|
||||
|
||||
@@ -13,7 +13,7 @@ host configuration.
|
||||
|
||||
## Key terms
|
||||
|
||||
- **Channel**: `telegram`, `whatsapp`, `discord`, `irc`, `googlechat`, `slack`, `signal`, `imessage`, `line`, plus extension channels. `webchat` is the internal WebChat UI channel and is not a configurable outbound channel.
|
||||
- **Channel**: `telegram`, `whatsapp`, `discord`, `irc`, `googlechat`, `slack`, `signal`, `imessage`, `line`, plus plugin channels. `webchat` is the internal WebChat UI channel and is not a configurable outbound channel.
|
||||
- **AccountId**: per‑channel account instance (when supported).
|
||||
- Optional channel default account: `channels.<channel>.defaultAccount` chooses
|
||||
which account is used when an outbound path does not specify `accountId`.
|
||||
|
||||
@@ -351,7 +351,7 @@ Config:
|
||||
|
||||
External scripts and webhooks can post buttons directly via the Mattermost REST API
|
||||
instead of going through the agent's `message` tool. Use `buildButtonAttachments()` from
|
||||
the extension when possible; if posting raw JSON, follow these rules:
|
||||
the plugin when possible; if posting raw JSON, follow these rules:
|
||||
|
||||
**Payload structure:**
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ High-level:
|
||||
6. Installs deps with the repo package manager. For pnpm checkouts, the updater bootstraps `pnpm` on demand (via `corepack` first, then a temporary `npm install pnpm@10` fallback) instead of running `npm run build` inside a pnpm workspace.
|
||||
7. Builds + builds the Control UI.
|
||||
8. Runs `openclaw doctor` as the final “safe update” check.
|
||||
9. Syncs plugins to the active channel (dev uses bundled extensions; stable/beta uses npm) and updates npm-installed plugins.
|
||||
9. Syncs plugins to the active channel (dev uses bundled plugins; stable/beta uses npm) and updates npm-installed plugins.
|
||||
|
||||
If an exact pinned npm plugin update resolves to an artifact whose integrity
|
||||
differs from the stored install record, `openclaw update` aborts that plugin
|
||||
|
||||
@@ -364,7 +364,7 @@ Think of the suites as “increasing realism” (and increasing flakiness/cost):
|
||||
|
||||
- Command: `pnpm test:e2e`
|
||||
- Config: `vitest.e2e.config.ts`
|
||||
- Files: `src/**/*.e2e.test.ts`, `test/**/*.e2e.test.ts`
|
||||
- Files: `src/**/*.e2e.test.ts`, `test/**/*.e2e.test.ts`, and bundled-plugin E2E tests under `extensions/`
|
||||
- Runtime defaults:
|
||||
- Uses Vitest `threads` with `isolate: false`, matching the rest of the repo.
|
||||
- Uses adaptive workers (CI: up to 2, local: 1 by default).
|
||||
@@ -383,7 +383,7 @@ Think of the suites as “increasing realism” (and increasing flakiness/cost):
|
||||
### E2E: OpenShell backend smoke
|
||||
|
||||
- Command: `pnpm test:e2e:openshell`
|
||||
- File: `test/openshell-sandbox.e2e.test.ts`
|
||||
- File: `extensions/openshell/src/backend.e2e.test.ts`
|
||||
- Scope:
|
||||
- Starts an isolated OpenShell gateway on the host via Docker
|
||||
- Creates a sandbox from a temporary local Dockerfile
|
||||
@@ -401,7 +401,7 @@ Think of the suites as “increasing realism” (and increasing flakiness/cost):
|
||||
|
||||
- Command: `pnpm test:live`
|
||||
- Config: `vitest.live.config.ts`
|
||||
- Files: `src/**/*.live.test.ts`
|
||||
- Files: `src/**/*.live.test.ts`, `test/**/*.live.test.ts`, and bundled-plugin live tests under `extensions/`
|
||||
- Default: **enabled** by `pnpm test:live` (sets `OPENCLAW_LIVE_TEST=1`)
|
||||
- Scope:
|
||||
- “Does this provider/model actually work _today_ with real creds?”
|
||||
@@ -784,13 +784,13 @@ If you want to rely on env keys (e.g. exported in your `~/.profile`), run local
|
||||
|
||||
## Deepgram live (audio transcription)
|
||||
|
||||
- Test: `src/media-understanding/providers/deepgram/audio.live.test.ts`
|
||||
- Enable: `DEEPGRAM_API_KEY=... DEEPGRAM_LIVE_TEST=1 pnpm test:live src/media-understanding/providers/deepgram/audio.live.test.ts`
|
||||
- Test: `extensions/deepgram/audio.live.test.ts`
|
||||
- Enable: `DEEPGRAM_API_KEY=... DEEPGRAM_LIVE_TEST=1 pnpm test:live extensions/deepgram/audio.live.test.ts`
|
||||
|
||||
## BytePlus coding plan live
|
||||
|
||||
- Test: `src/agents/byteplus.live.test.ts`
|
||||
- Enable: `BYTEPLUS_API_KEY=... BYTEPLUS_LIVE_TEST=1 pnpm test:live src/agents/byteplus.live.test.ts`
|
||||
- Test: `extensions/byteplus/live.test.ts`
|
||||
- Enable: `BYTEPLUS_API_KEY=... BYTEPLUS_LIVE_TEST=1 pnpm test:live extensions/byteplus/live.test.ts`
|
||||
- Optional model override: `BYTEPLUS_CODING_MODEL=ark-code-latest`
|
||||
|
||||
## ComfyUI workflow media live
|
||||
@@ -804,8 +804,8 @@ If you want to rely on env keys (e.g. exported in your `~/.profile`), run local
|
||||
|
||||
## Image generation live
|
||||
|
||||
- Test: `src/image-generation/runtime.live.test.ts`
|
||||
- Command: `pnpm test:live src/image-generation/runtime.live.test.ts`
|
||||
- Test: `test/image-generation.runtime.live.test.ts`
|
||||
- Command: `pnpm test:live test/image-generation.runtime.live.test.ts`
|
||||
- Harness: `pnpm test:live:media image`
|
||||
- Scope:
|
||||
- Enumerates every registered image-generation provider plugin
|
||||
@@ -818,8 +818,11 @@ If you want to rely on env keys (e.g. exported in your `~/.profile`), run local
|
||||
- `google:pro-edit`
|
||||
- `openai:default-generate`
|
||||
- Current bundled providers covered:
|
||||
- `openai`
|
||||
- `fal`
|
||||
- `google`
|
||||
- `minimax`
|
||||
- `openai`
|
||||
- `vydra`
|
||||
- `xai`
|
||||
- Optional narrowing:
|
||||
- `OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS="openai,google,xai"`
|
||||
|
||||
@@ -6,6 +6,8 @@ read_when:
|
||||
title: "Northflank"
|
||||
---
|
||||
|
||||
# Northflank
|
||||
|
||||
Deploy OpenClaw on Northflank with a one-click template and access it through the web Control UI.
|
||||
This is the easiest "no terminal on the server" path: Northflank runs the Gateway for you.
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ read_when:
|
||||
title: "Railway"
|
||||
---
|
||||
|
||||
# Railway
|
||||
|
||||
Deploy OpenClaw on Railway with a one-click template and access it through the web Control UI.
|
||||
This is the easiest "no terminal on the server" path: Railway runs the Gateway for you.
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ read_when:
|
||||
title: "Render"
|
||||
---
|
||||
|
||||
# Render
|
||||
|
||||
Deploy OpenClaw on Render using Infrastructure as Code. The included `render.yaml` Blueprint defines your entire stack declaratively, service, disk, environment variables, so you can deploy with a single click and version your infrastructure alongside your code.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -122,7 +122,7 @@ OpenClaw's plugin system has four layers:
|
||||
|
||||
1. **Manifest + discovery**
|
||||
OpenClaw finds candidate plugins from configured paths, workspace roots,
|
||||
global extension roots, and bundled extensions. Discovery reads native
|
||||
global plugin roots, and bundled plugins. Discovery reads native
|
||||
`openclaw.plugin.json` manifests plus supported bundle manifests first.
|
||||
2. **Enablement + validation**
|
||||
Core decides whether a discovered plugin is enabled, disabled, blocked, or
|
||||
|
||||
@@ -173,7 +173,7 @@ present in the bundled catalog.
|
||||
|
||||
## Multimodal add-ons
|
||||
|
||||
The `qwen` extension also exposes multimodal capabilities on the **Standard**
|
||||
The `qwen` plugin also exposes multimodal capabilities on the **Standard**
|
||||
DashScope endpoints (not the Coding Plan endpoints):
|
||||
|
||||
- **Video understanding** via `qwen-vl-max-latest`
|
||||
@@ -227,7 +227,7 @@ See [Video Generation](/tools/video-generation) for shared tool parameters, prov
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Capability plan">
|
||||
The `qwen` extension is being positioned as the vendor home for the full Qwen
|
||||
The `qwen` plugin is being positioned as the vendor home for the full Qwen
|
||||
Cloud surface, not just coding/text models.
|
||||
|
||||
- **Text/chat models:** bundled now
|
||||
|
||||
@@ -37,7 +37,7 @@ If you need transcript storage details, see:
|
||||
All transcript hygiene is centralized in the embedded runner:
|
||||
|
||||
- Policy selection: `src/agents/transcript-policy.ts`
|
||||
- Sanitization/repair application: `sanitizeSessionHistory` in `src/agents/pi-embedded-runner/google.ts`
|
||||
- Sanitization/repair application: `sanitizeSessionHistory` in `src/agents/pi-embedded-runner/replay-history.ts`
|
||||
|
||||
The policy uses `provider`, `modelApi`, and `modelId` to decide what to apply.
|
||||
|
||||
@@ -73,7 +73,7 @@ persisted tool calls (for example, after a rate limit failure).
|
||||
Implementation:
|
||||
|
||||
- `sanitizeToolCallInputs` in `src/agents/session-transcript-repair.ts`
|
||||
- Applied in `sanitizeSessionHistory` in `src/agents/pi-embedded-runner/google.ts`
|
||||
- Applied in `sanitizeSessionHistory` in `src/agents/pi-embedded-runner/replay-history.ts`
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ Use these hubs to discover every page, including deep dives and reference docs t
|
||||
- [macOS skills](/platforms/mac/skills)
|
||||
- [macOS Peekaboo](/platforms/mac/peekaboo)
|
||||
|
||||
## Extensions + plugins
|
||||
## Plugins
|
||||
|
||||
- [Plugins overview](/tools/plugin)
|
||||
- [Building plugins](/plugins/building-plugins)
|
||||
|
||||
@@ -50,7 +50,7 @@ auth/API key. Typical examples: `GEMINI_API_KEY` or `GOOGLE_API_KEY` for
|
||||
|
||||
Examples:
|
||||
|
||||
- Native Nano Banana-style setup: `agents.defaults.imageGenerationModel.primary: "google/gemini-3.1-flash-image-preview"`
|
||||
- Native Nano Banana Pro-style setup: `agents.defaults.imageGenerationModel.primary: "google/gemini-3-pro-image-preview"`
|
||||
- Native fal setup: `agents.defaults.imageGenerationModel.primary: "fal/fal-ai/flux/dev"`
|
||||
|
||||
## Agent skill allowlists
|
||||
|
||||
Reference in New Issue
Block a user