diff --git a/docs/zh-CN/help/debugging.md b/docs/zh-CN/help/debugging.md index c23ca27d7..fa1565075 100644 --- a/docs/zh-CN/help/debugging.md +++ b/docs/zh-CN/help/debugging.md @@ -1,26 +1,26 @@ --- read_when: - - 你需要检查模型原始输出是否存在推理泄漏 - - 你想在迭代开发时以监听模式运行 Gateway 网关 - - 你需要一套可重复的调试工作流 -summary: 调试工具:watch 模式、原始模型流和跟踪推理泄漏 + - 你需要检查原始模型输出是否存在推理泄露 + - 你想在迭代时以监视模式运行 Gateway 网关 + - 你需要一个可重复的调试工作流 +summary: 调试工具:监视模式、原始模型流,以及跟踪推理泄露 title: 调试 x-i18n: - generated_at: "2026-05-02T16:10:00Z" + generated_at: "2026-05-02T21:41:41Z" model: gpt-5.5 provider: openai - source_hash: de4bd994079f5463f4734404d1ba0768cb003609e16113f5f8f14179a190e917 + source_hash: 7a72a1508915e37ffdc5317889cdfde7024de3f5702739640abc2f03c3abadb7 source_path: help/debugging.md workflow: 16 --- -用于流式输出的调试辅助工具,尤其适用于提供商将推理内容混入普通文本时。 +调试流式输出的辅助工具,尤其适用于提供商把推理内容混入普通文本时。 ## 运行时调试覆盖 -在聊天中使用 `/debug` 设置**仅运行时**配置覆盖(内存中,不写入磁盘)。 -`/debug` 默认禁用;使用 `commands.debug: true` 启用。 -当你需要在不编辑 `openclaw.json` 的情况下切换晦涩设置时,这很方便。 +在聊天中使用 `/debug` 设置**仅运行时**配置覆盖(保存在内存中,而不是磁盘上)。 +`/debug` 默认禁用;通过 `commands.debug: true` 启用。 +当你需要切换隐蔽设置而不编辑 `openclaw.json` 时,这很方便。 示例: @@ -31,12 +31,11 @@ x-i18n: /debug reset ``` -`/debug reset` 会清除所有覆盖,并恢复到磁盘上的配置。 +`/debug reset` 会清除所有覆盖,并恢复为磁盘上的配置。 -## 会话追踪输出 +## 会话跟踪输出 -当你想在一个会话中查看插件拥有的追踪/调试行, -且不想开启完整详细模式时,使用 `/trace`。 +当你想在一个会话中查看插件拥有的跟踪/调试行,而不启用完整详细模式时,使用 `/trace`。 示例: @@ -46,15 +45,15 @@ x-i18n: /trace off ``` -将 `/trace` 用于插件诊断,例如 Active Memory 调试摘要。 -继续使用 `/verbose` 查看普通详细 Status/工具输出,并继续使用 +将 `/trace` 用于插件诊断,例如主动记忆调试摘要。 +继续使用 `/verbose` 查看普通的详细 Status/工具输出,并继续使用 `/debug` 设置仅运行时配置覆盖。 -## 插件生命周期追踪 +## 插件生命周期跟踪 -当插件生命周期命令感觉很慢,并且你需要内置的阶段拆解来查看插件元数据、设备发现、注册表、 -运行时镜像、配置变更和刷新工作时,使用 `OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1`。该追踪需要显式启用,并写入 -stderr,因此 JSON 命令输出仍然可解析。 +当插件生命周期命令感觉很慢,并且你需要内置阶段拆分来查看插件元数据、设备发现、注册表、 +运行时镜像、配置变更和刷新工作时,使用 `OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1`。 +该跟踪是选择加入的,并写入 stderr,因此 JSON 命令输出仍可解析。 示例: @@ -71,139 +70,29 @@ OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1 openclaw plugins install tokenjuice --force ``` 在使用 CPU 分析器之前,先用它调查插件生命周期。 -如果命令从源码检出目录运行,建议在 `pnpm build` 后用 +如果命令从源码检出目录运行,建议在 `pnpm build` 之后用 `node dist/entry.js ...` 测量构建后的运行时;`pnpm openclaw ...` -也会测量源码运行器开销。 +还会测到源码运行器的开销。 -## 临时 CLI 调试计时 +## CLI 启动和命令分析 -OpenClaw 保留 `src/cli/debug-timing.ts` 作为本地调查的小型辅助工具。 -它有意默认不接入 CLI 启动、命令路由或任何命令。仅在调试慢命令时使用, -然后在落地行为变更前移除 import 和 span。 - -当某个命令很慢,并且你需要快速阶段拆解来决定是使用 CPU 分析器还是修复特定子系统时,使用它。 - -### 添加临时 span - -在你正在调查的代码附近添加辅助工具。例如,在调试 -`openclaw models list` 时,`src/commands/models/list.list-command.ts` -中的临时补丁可能如下所示: - -```ts -// Temporary debugging only. Remove before landing. -import { createCliDebugTiming } from "../../cli/debug-timing.js"; - -const timing = createCliDebugTiming({ command: "models list" }); - -const authStore = timing.time("debug:models:list:auth_store", () => ensureAuthProfileStore()); - -const loaded = await timing.timeAsync( - "debug:models:list:registry", - () => loadListModelRegistry(cfg, { sourceConfig }), - (result) => ({ - models: result.models.length, - discoveredKeys: result.discoveredKeys.size, - }), -); -``` - -指南: - -- 临时阶段名称以 `debug:` 为前缀。 -- 只在怀疑较慢的区段周围添加少量 span。 -- 优先使用 `registry`、`auth_store` 或 `rows` 这类宽泛阶段,而不是辅助函数名称。 -- 对同步工作使用 `time()`,对 promise 使用 `timeAsync()`。 -- 保持 stdout 干净。该辅助工具写入 stderr,因此命令 JSON 输出仍然可解析。 -- 在打开最终修复 PR 之前,移除临时 import 和 span。 -- 在 issue 或 PR 中包含计时输出或简短摘要,用于解释优化。 - -### 使用可读输出运行 - -可读模式最适合实时调试: +当命令感觉很慢时,使用仓库内置的启动基准测试: ```bash -OPENCLAW_DEBUG_TIMING=1 pnpm openclaw models list --all --provider moonshot +pnpm test:startup:bench:smoke +pnpm tsx scripts/bench-cli-startup.ts --preset real --case status --runs 3 +pnpm tsx scripts/bench-cli-startup.ts --preset real --cpu-prof-dir .artifacts/cli-cpu ``` -来自一次临时 `models list` 调查的示例输出: - -```text -OpenClaw CLI debug timing: models list - 0ms +0ms start all=true json=false local=false plain=false provider="moonshot" - 2ms +2ms debug:models:list:import_runtime duration=2ms - 17ms +14ms debug:models:list:load_config duration=14ms sourceConfig=true - 20.3s +20.3s debug:models:list:auth_store duration=20.3s - 20.3s +0ms debug:models:list:resolve_agent_dir duration=0ms agentDir=true - 20.3s +0ms debug:models:list:resolve_provider_filter duration=0ms - 25.3s +5.0s debug:models:list:ensure_models_json duration=5.0s - 31.2s +5.9s debug:models:list:load_model_registry duration=5.9s models=869 availableKeys=38 discoveredKeys=868 availabilityError=false - 31.2s +0ms debug:models:list:resolve_configured_entries duration=0ms entries=1 - 31.2s +0ms debug:models:list:build_configured_lookup duration=0ms entries=1 - 33.6s +2.4s debug:models:list:read_registry_models duration=2.4s models=871 - 35.2s +1.5s debug:models:list:append_discovered_rows duration=1.5s seenKeys=0 rows=0 - 36.9s +1.7s debug:models:list:append_catalog_supplement_rows duration=1.7s seenKeys=5 rows=5 - -Model Input Ctx Local Auth Tags -moonshot/kimi-k2-thinking text 256k no no -moonshot/kimi-k2-thinking-turbo text 256k no no -moonshot/kimi-k2-turbo text 250k no no -moonshot/kimi-k2.5 text+image 256k no no -moonshot/kimi-k2.6 text+image 256k no no - - 36.9s +0ms debug:models:list:print_model_table duration=0ms rows=5 - 36.9s +0ms complete rows=5 -``` - -此输出中的发现: - -| 阶段 | 时间 | 含义 | -| ---------------------------------------- | ---------: | ------------------------------------------------------------------------------------------------------- | -| `debug:models:list:auth_store` | 20.3s | auth-profile 存储加载是最大开销,应优先调查。 | -| `debug:models:list:ensure_models_json` | 5.0s | 同步 `models.json` 的开销足够大,值得检查缓存或跳过条件。 | -| `debug:models:list:load_model_registry` | 5.9s | 注册表构建和提供商可用性工作也是有意义的开销。 | -| `debug:models:list:read_registry_models` | 2.4s | 读取所有注册表模型并非免费,对 `--all` 可能很重要。 | -| 行追加阶段 | 总计 3.2s | 构建五个显示行仍需数秒,因此过滤路径值得进一步查看。 | -| `debug:models:list:print_model_table` | 0ms | 渲染不是瓶颈。 | - -这些发现足以指导下一个补丁,而无需在生产路径中保留计时代码。 - -### 使用 JSON 输出运行 - -当你想保存或比较计时数据时,使用 JSON 模式: +如果要通过普通源码运行器进行一次性分析,设置 +`OPENCLAW_RUN_NODE_CPU_PROF_DIR`: ```bash -OPENCLAW_DEBUG_TIMING=json pnpm openclaw models list --all --provider moonshot \ - 2> .artifacts/models-list-timing.jsonl +OPENCLAW_RUN_NODE_CPU_PROF_DIR=.artifacts/cli-cpu pnpm openclaw status ``` -每一行 stderr 都是一个 JSON 对象: - -```json -{ - "command": "models list", - "phase": "debug:models:list:registry", - "elapsedMs": 31200, - "deltaMs": 5900, - "durationMs": 5900, - "models": 869, - "discoveredKeys": 868 -} -``` - -### 落地前清理 - -在打开最终 PR 之前: - -```bash -rg 'createCliDebugTiming|debug:[a-z0-9_-]+:' src/commands src/cli \ - --glob '!src/cli/debug-timing.*' \ - --glob '!*.test.ts' -``` - -除非该 PR 明确添加永久诊断表面,否则该命令不应返回任何临时插桩调用点。 -对于普通性能修复,只保留行为变更、测试,以及一条带计时证据的简短说明。 - -对于更深层的 CPU 热点,请使用 Node 性能分析(`--cpu-prof`)或外部分析器,而不是添加更多计时包装器。 +源码运行器会添加 Node CPU profile 标志,并为该命令写入一个 `.cpuprofile`。 +在向命令代码添加临时插桩之前先使用它。 ## Gateway 网关监视模式 @@ -214,21 +103,22 @@ pnpm gateway:watch ``` 默认情况下,这会启动或重启一个名为 -`openclaw-gateway-watch-main` 的 tmux 会话(或按配置文件/端口区分的变体,例如 +`openclaw-gateway-watch-main` 的 tmux 会话(或特定于 profile/端口的变体,例如 `openclaw-gateway-watch-dev-19001`),并从交互式终端自动附加。 -非交互式 shell、CI 和 agent exec 调用会保持分离,并改为打印附加说明。需要时手动附加: +非交互式 shell、CI 和智能体 exec 调用会保持分离,并改为打印附加说明。 +需要时手动附加: ```bash tmux attach -t openclaw-gateway-watch-main ``` -tmux 窗格运行原始监视器: +tmux 面板会运行原始监视器: ```bash node scripts/watch-node.mjs gateway --force ``` -当不需要 tmux 时,使用前台模式: +不需要 tmux 时使用前台模式: ```bash pnpm gateway:watch:raw @@ -248,68 +138,67 @@ OPENCLAW_GATEWAY_WATCH_ATTACH=0 pnpm gateway:watch pnpm gateway:watch --benchmark ``` -监视包装器会在调用 Gateway 网关之前消费 `--benchmark`,并在 -`.artifacts/gateway-watch-profiles/` 下为每次 Gateway 网关子进程退出写入一个 V8 `.cpuprofile`。 -停止或重启被监视的 gateway 以刷新当前 profile,然后用 Chrome DevTools 或 Speedscope 打开: +监视包装器会在调用 Gateway 网关之前消费 `--benchmark`,并在每个 Gateway 网关子进程退出时, +在 `.artifacts/gateway-watch-profiles/` 下写入一个 V8 `.cpuprofile`。 +停止或重启被监视的 Gateway 网关以刷新当前 profile,然后用 Chrome DevTools 或 Speedscope 打开: ```bash npx speedscope .artifacts/gateway-watch-profiles/*.cpuprofile ``` -当你希望把 profile 放到其他位置时,使用 `--benchmark-dir `。 +如果你想把 profile 放在其他位置,使用 `--benchmark-dir `。 -tmux 包装器会把常见的非密钥运行时选择器带入窗格,例如 +tmux 包装器会把常见的非密钥运行时选择器带入面板,例如 `OPENCLAW_PROFILE`、`OPENCLAW_CONFIG_PATH`、`OPENCLAW_STATE_DIR`、 -`OPENCLAW_GATEWAY_PORT` 和 `OPENCLAW_SKIP_CHANNELS`。将 -提供商凭证放在你的常规 profile/配置中,或对一次性临时密钥使用原始前台模式。 -受管理的 tmux 窗格也默认使用彩色 Gateway 网关日志以提高可读性; +`OPENCLAW_GATEWAY_PORT` 和 `OPENCLAW_SKIP_CHANNELS`。把 +提供商凭证放在你的普通 profile/配置中,或使用原始前台模式处理一次性临时密钥。 +受管理的 tmux 面板还会默认使用彩色 Gateway 网关日志以提升可读性; 启动 `pnpm gateway:watch` 时设置 `FORCE_COLOR=0` 可禁用 ANSI 输出。 -监视器会在 `src/` 下与构建相关的文件、插件源码文件、 -插件 `package.json` 和 `openclaw.plugin.json` 元数据、`tsconfig.json`、 -`package.json` 以及 `tsdown.config.ts` 变更时重启。插件元数据变更会重启 -gateway,而不会强制执行 `tsdown` 重建;源码和配置变更仍会先重建 -`dist`。 +监视器会在 `src/` 下与构建相关的文件、插件源码文件、插件 `package.json` 和 +`openclaw.plugin.json` 元数据、`tsconfig.json`、`package.json` 和 +`tsdown.config.ts` 发生变化时重启。插件元数据变更会重启 Gateway 网关,而不强制 +`tsdown` 重新构建;源码和配置变更仍会先重新构建 `dist`。 -在 `gateway:watch` 后添加任何 gateway CLI 标志,它们会在每次重启时透传。 -重新运行同一个监视命令会重新生成具名 tmux 窗格,而原始监视器仍会保持其单监视器锁, -因此重复的监视器父进程会被替换,而不是不断堆积。 +在 `gateway:watch` 后添加任何 Gateway 网关 CLI 标志,它们都会在每次重启时传递下去。 +重新运行同一条监视命令会重新生成命名 tmux 面板,而原始监视器仍会保留其单监视器锁, +因此重复的监视器父进程会被替换,而不是堆积起来。 -## 开发 profile + 开发 gateway(--dev) +## 开发 profile + 开发 Gateway 网关(--dev) -使用开发 profile 隔离状态,并启动一个安全、一次性的设置用于调试。 -这里有**两个** `--dev` 标志: +使用开发 profile 隔离状态,并启动一个安全、可丢弃的设置用于调试。 +有**两个** `--dev` 标志: -- **全局 `--dev`(profile):** 将状态隔离到 `~/.openclaw-dev` 下,并将 - gateway 端口默认设为 `19001`(派生端口会随之偏移)。 +- **全局 `--dev`(profile):** 在 `~/.openclaw-dev` 下隔离状态,并将 + Gateway 网关端口默认设为 `19001`(派生端口会随之偏移)。 - **`gateway --dev`:告诉 Gateway 网关在缺失时自动创建默认配置 + 工作区**(并跳过 BOOTSTRAP.md)。 -推荐流程(开发 profile + 开发 bootstrap): +推荐流程(开发 profile + 开发引导): ```bash pnpm gateway:dev OPENCLAW_PROFILE=dev openclaw tui ``` -如果你还没有全局安装,请通过 `pnpm openclaw ...` 运行 CLI。 +如果你还没有全局安装,通过 `pnpm openclaw ...` 运行 CLI。 -这会执行: +它会执行以下操作: 1. **Profile 隔离**(全局 `--dev`) - `OPENCLAW_PROFILE=dev` - `OPENCLAW_STATE_DIR=~/.openclaw-dev` - `OPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.json` - - `OPENCLAW_GATEWAY_PORT=19001`(browser/canvas 随之偏移) + - `OPENCLAW_GATEWAY_PORT=19001`(浏览器/canvas 相应偏移) -2. **开发 bootstrap**(`gateway --dev`) - - 如果缺失,则写入最小配置(`gateway.mode=local`,绑定 loopback)。 +2. **开发引导**(`gateway --dev`) + - 如果缺失,则写入最小配置(`gateway.mode=local`,绑定到环回地址)。 - 将 `agent.workspace` 设置为开发工作区。 - - 设置 `agent.skipBootstrap=true`(无 BOOTSTRAP.md)。 - - 如果缺失,则植入工作区文件: + - 设置 `agent.skipBootstrap=true`(不使用 BOOTSTRAP.md)。 + - 如果缺失,则预置工作区文件: `AGENTS.md`、`SOUL.md`、`TOOLS.md`、`IDENTITY.md`、`USER.md`、`HEARTBEAT.md`。 - 默认身份:**C3‑PO**(礼仪机器人)。 - - 在开发模式下跳过渠道提供商(`OPENCLAW_SKIP_CHANNELS=1`)。 + - 在开发模式中跳过渠道提供商(`OPENCLAW_SKIP_CHANNELS=1`)。 重置流程(全新开始): @@ -318,7 +207,7 @@ pnpm gateway:dev:reset ``` -`--dev` 是一个**全局**配置文件标志,会被某些运行器吞掉。如果你需要明确写出来,请使用环境变量形式: +`--dev` 是一个**全局** profile 标志,会被某些运行器吃掉。如果你需要明确写出它,请使用环境变量形式: ```bash OPENCLAW_PROFILE=dev openclaw gateway --dev --reset @@ -326,11 +215,11 @@ OPENCLAW_PROFILE=dev openclaw gateway --dev --reset -`--reset` 会清除配置、凭证、会话和 dev 工作区(使用 -`trash`,不是 `rm`),然后重新创建默认的 dev 设置。 +`--reset` 会清除配置、凭证、会话和开发工作区(使用 +`trash`,不是 `rm`),然后重新创建默认开发设置。 -如果已有非 dev Gateway 网关在运行(launchd 或 systemd),请先停止它: +如果非开发 Gateway 网关已经在运行(launchd 或 systemd),先停止它: ```bash openclaw gateway stop @@ -338,11 +227,10 @@ openclaw gateway stop -## 原始流日志记录(OpenClaw) +## 原始流日志(OpenClaw) OpenClaw 可以在任何过滤/格式化之前记录**原始助手流**。 -这是查看推理是以纯文本增量到达 -(还是以单独的 thinking blocks 到达)的最佳方式。 +这是查看推理内容是以普通文本增量到达,还是以独立 thinking 块到达的最佳方式。 通过 CLI 启用: @@ -350,13 +238,13 @@ OpenClaw 可以在任何过滤/格式化之前记录**原始助手流**。 pnpm gateway:watch --raw-stream ``` -可选的路径覆盖: +可选路径覆盖: ```bash pnpm gateway:watch --raw-stream --raw-stream-path ~/.openclaw/logs/raw-stream.jsonl ``` -等效的环境变量: +等效环境变量: ```bash OPENCLAW_RAW_STREAM=1 @@ -367,10 +255,10 @@ OPENCLAW_RAW_STREAM_PATH=~/.openclaw/logs/raw-stream.jsonl `~/.openclaw/logs/raw-stream.jsonl` -## 原始块日志记录(pi-mono) +## 原始数据块日志(pi-mono) -要在解析为块之前捕获**原始 OpenAI 兼容块**, -pi-mono 提供了单独的记录器: +要在**原始 OpenAI 兼容数据块**被解析成块之前捕获它们, +pi-mono 提供了一个独立日志记录器: ```bash PI_RAW_STREAM=1 @@ -386,16 +274,16 @@ PI_RAW_STREAM_PATH=~/.pi-mono/logs/raw-openai-completions.jsonl `~/.pi-mono/logs/raw-openai-completions.jsonl` -> 注意:这仅由使用 pi-mono 的 +> 注意:这只会由使用 pi-mono 的 > `openai-completions` 提供商的进程发出。 -## 安全注意事项 +## 安全说明 - 原始流日志可能包含完整提示词、工具输出和用户数据。 -- 将日志保留在本地,并在调试后删除它们。 -- 如果你共享日志,请先清理密钥和 PII。 +- 将日志保留在本地,并在调试后删除。 +- 如果你共享日志,先清理密钥和 PII。 -## 相关内容 +## 相关 - [故障排除](/zh-CN/help/troubleshooting) - [常见问题](/zh-CN/help/faq) diff --git a/docs/zh-CN/plugins/plugin-inventory.md b/docs/zh-CN/plugins/plugin-inventory.md index a9c23e02c..6cd9e610e 100644 --- a/docs/zh-CN/plugins/plugin-inventory.md +++ b/docs/zh-CN/plugins/plugin-inventory.md @@ -1,22 +1,22 @@ --- read_when: - - 你正在决定某个插件是随核心 npm 包一起发布,还是单独安装 + - 你正在决定插件是随核心 npm 包一起发布,还是单独安装 - 你正在更新内置插件包元数据或发布自动化 - - 你需要内部与外部插件的权威列表 -summary: 随核心一起交付、对外发布或仅保留源码的 OpenClaw 插件生成清单 + - 你需要权威的内部与外部插件列表 +summary: 随核心交付、对外发布或仅保留源码的 OpenClaw 插件生成清单 title: 插件清单 x-i18n: - generated_at: "2026-05-02T20:49:32Z" + generated_at: "2026-05-02T21:41:45Z" model: gpt-5.5 provider: openai - source_hash: cbc10cbf65483b4a3983643e1b8f2e5b31e8b54b3649a8121ad636a53eecd999 + source_hash: 8c5be5c92951264fd197de7d9efe864a215a8da1b36eb2d62f57a63182cde2a0 source_path: plugins/plugin-inventory.md workflow: 16 --- # 插件清单 -本页面由 `extensions/*/package.json`、`openclaw.plugin.json` +此页面根据 `extensions/*/package.json`、`openclaw.plugin.json` 以及根 npm 包的 `files` 排除项生成。使用以下命令重新生成: ```bash @@ -25,74 +25,77 @@ pnpm plugins:inventory:gen ## 定义 -- **核心 npm 包:** 内置于 `openclaw` npm 包,无需单独安装插件即可使用。 -- **官方外部包:** 由 OpenClaw 维护的插件,不包含在核心 npm 包中,通过 ClawHub 和/或 npm 安装。 -- **仅源代码检出:** 仓库本地插件,不包含在已发布的 npm 构件中,也不会作为可安装包进行宣传。 +- **核心 npm 包:**内置于 `openclaw` npm 包中,无需单独安装插件即可使用。 +- **官方外部包:**由 OpenClaw 维护、从核心 npm 包中省略,并通过 ClawHub 和/或 npm 安装的插件。 +- **仅源码检出:**仓库本地插件,从已发布的 npm 构件中省略,且不会作为可安装包宣传。 -源代码检出不同于 npm 安装:执行 `pnpm install` 后,内置 -插件会从 `extensions/` 加载,因此本地编辑和包本地的工作区 -依赖项可用。 +源码检出不同于 npm 安装:执行 `pnpm install` 后,内置 +插件会从 `extensions/` 加载,因此本地编辑和包本地工作区 +依赖都可用。 ## 核心 npm 包 | 插件 | 描述 | 分发 | 接口面 | | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [alibaba](/zh-CN/plugins/reference/alibaba) | 添加视频生成提供商支持。 | `@openclaw/alibaba-provider`
内置于 OpenClaw | contracts: videoGenerationProviders | -| [amazon-bedrock](/zh-CN/plugins/reference/amazon-bedrock) | 为 OpenClaw 添加 Amazon Bedrock 模型提供商支持。 | `@openclaw/amazon-bedrock-provider`
内置于 OpenClaw | providers: amazon-bedrock; contracts: memoryEmbeddingProviders | -| [amazon-bedrock-mantle](/zh-CN/plugins/reference/amazon-bedrock-mantle) | 为 OpenClaw 添加 Amazon Bedrock Mantle 模型提供商支持。 | `@openclaw/amazon-bedrock-mantle-provider`
内置于 OpenClaw | providers: amazon-bedrock-mantle | -| [anthropic](/zh-CN/plugins/reference/anthropic) | 为 OpenClaw 添加 Anthropic 模型提供商支持。 | `@openclaw/anthropic-provider`
内置于 OpenClaw | providers: anthropic; contracts: mediaUnderstandingProviders | -| [anthropic-vertex](/zh-CN/plugins/reference/anthropic-vertex) | 为 OpenClaw 添加 Anthropic Vertex 模型提供商支持。 | `@openclaw/anthropic-vertex-provider`
内置于 OpenClaw | providers: anthropic-vertex | -| [arcee](/zh-CN/plugins/reference/arcee) | 为 OpenClaw 添加 Arcee 模型提供商支持。 | `@openclaw/arcee-provider`
内置于 OpenClaw | providers: arcee | -| [azure-speech](/zh-CN/plugins/reference/azure-speech) | Azure AI Speech 文本转语音(MP3、原生 Ogg/Opus 语音留言、PCM 电话音频)。 | `@openclaw/azure-speech`
内置于 OpenClaw | contracts: speechProviders | -| [bonjour](/zh-CN/plugins/reference/bonjour) | 通过 Bonjour/mDNS 广播本地 OpenClaw gateway。 | `@openclaw/bonjour`
内置于 OpenClaw | plugin | -| [browser](/zh-CN/plugins/reference/browser) | 添加智能体可调用工具。 | `@openclaw/browser-plugin`
内置于 OpenClaw | contracts: tools; skills | -| [byteplus](/zh-CN/plugins/reference/byteplus) | 为 OpenClaw 添加 BytePlus、BytePlus Plan 模型提供商支持。 | `@openclaw/byteplus-provider`
内置于 OpenClaw | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders | -| [cerebras](/zh-CN/plugins/reference/cerebras) | 为 OpenClaw 添加 Cerebras 模型提供商支持。 | `@openclaw/cerebras-provider`
内置于 OpenClaw | providers: cerebras | -| [chutes](/zh-CN/plugins/reference/chutes) | 为 OpenClaw 添加 Chutes 模型提供商支持。 | `@openclaw/chutes-provider`
内置于 OpenClaw | providers: chutes | -| [cloudflare-ai-gateway](/zh-CN/plugins/reference/cloudflare-ai-gateway) | 为 OpenClaw 添加 Cloudflare AI Gateway 模型提供商支持。 | `@openclaw/cloudflare-ai-gateway-provider`
内置于 OpenClaw | providers: cloudflare-ai-gateway | -| [comfy](/zh-CN/plugins/reference/comfy) | 为 OpenClaw 添加 ComfyUI 模型提供商支持。 | `@openclaw/comfy-provider`
内置于 OpenClaw | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders | -| [copilot-proxy](/zh-CN/plugins/reference/copilot-proxy) | 为 OpenClaw 添加 Copilot Proxy 模型提供商支持。 | `@openclaw/copilot-proxy`
内置于 OpenClaw | providers: copilot-proxy | -| [deepgram](/zh-CN/plugins/reference/deepgram) | 添加媒体理解提供商支持。添加实时转录提供商支持。 | `@openclaw/deepgram-provider`
内置于 OpenClaw | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders | -| [deepinfra](/zh-CN/plugins/reference/deepinfra) | 为 OpenClaw 添加 DeepInfra 模型提供商支持。 | `@openclaw/deepinfra-provider`
内置于 OpenClaw | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders | -| [deepseek](/zh-CN/plugins/reference/deepseek) | 为 OpenClaw 添加 DeepSeek 模型提供商支持。 | `@openclaw/deepseek-provider`
内置于 OpenClaw | providers: deepseek | -| [document-extract](/zh-CN/plugins/reference/document-extract) | 从本地文档附件中提取文本和备用页面图像。 | `@openclaw/document-extract-plugin`
内置于 OpenClaw | contracts: documentExtractors | -| [duckduckgo](/zh-CN/plugins/reference/duckduckgo) | 添加 Web 搜索提供商支持。 | `@openclaw/duckduckgo-plugin`
包含在 OpenClaw 中 | 契约:webSearchProviders | -| [elevenlabs](/zh-CN/plugins/reference/elevenlabs) | 添加媒体理解提供商支持。添加实时转录提供商支持。添加文本转语音提供商支持。 | `@openclaw/elevenlabs-speech`
包含在 OpenClaw 中 | 契约:mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders | -| [exa](/zh-CN/plugins/reference/exa) | 添加 Web 搜索提供商支持。 | `@openclaw/exa-plugin`
包含在 OpenClaw 中 | 契约:webSearchProviders | -| [fal](/zh-CN/plugins/reference/fal) | 为 OpenClaw 添加 fal 模型提供商支持。 | `@openclaw/fal-provider`
包含在 OpenClaw 中 | 提供商:fal;契约:imageGenerationProviders, videoGenerationProviders | -| [file-transfer](/zh-CN/plugins/reference/file-transfer) | 通过专用节点命令在已配对节点上获取、列出和写入文件。通过对最大 16 MB 的二进制文件在 node.invoke 上使用 base64,绕过 bash stdout 截断。 | `@openclaw/file-transfer`
包含在 OpenClaw 中 | 契约:tools | -| [firecrawl](/zh-CN/plugins/reference/firecrawl) | 添加可由智能体调用的工具。添加 Web 获取提供商支持。添加 Web 搜索提供商支持。 | `@openclaw/firecrawl-plugin`
包含在 OpenClaw 中 | 契约:tools, webFetchProviders, webSearchProviders | -| [fireworks](/zh-CN/plugins/reference/fireworks) | 为 OpenClaw 添加 Fireworks 模型提供商支持。 | `@openclaw/fireworks-provider`
包含在 OpenClaw 中 | 提供商:fireworks | -| [github-copilot](/zh-CN/plugins/reference/github-copilot) | 为 OpenClaw 添加 GitHub Copilot 模型提供商支持。 | `@openclaw/github-copilot-provider`
包含在 OpenClaw 中 | 提供商:github-copilot;契约:memoryEmbeddingProviders | -| [google](/zh-CN/plugins/reference/google) | 为 OpenClaw 添加 Google、Google Gemini CLI、Google Vertex 模型提供商支持。 | `@openclaw/google-plugin`
包含在 OpenClaw 中 | 提供商:google, google-gemini-cli, google-vertex;契约:imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders | -| [gradium](/zh-CN/plugins/reference/gradium) | 添加文本转语音提供商支持。 | `@openclaw/gradium-speech`
包含在 OpenClaw 中 | 契约:speechProviders | -| [groq](/zh-CN/plugins/reference/groq) | 为 OpenClaw 添加 Groq 模型提供商支持。 | `@openclaw/groq-provider`
包含在 OpenClaw 中 | 提供商:groq;契约:mediaUnderstandingProviders | -| [huggingface](/zh-CN/plugins/reference/huggingface) | 为 OpenClaw 添加 Hugging Face 模型提供商支持。 | `@openclaw/huggingface-provider`
包含在 OpenClaw 中 | 提供商:huggingface | -| [imessage](/zh-CN/plugins/reference/imessage) | 添加用于发送和接收 OpenClaw 消息的 iMessage 渠道界面。 | `@openclaw/imessage`
包含在 OpenClaw 中 | 渠道:imessage | -| [inworld](/zh-CN/plugins/reference/inworld) | Inworld 流式文本转语音(MP3、OGG_OPUS、PCM 电话音频)。 | `@openclaw/inworld-speech`
包含在 OpenClaw 中 | 契约:speechProviders | -| [irc](/zh-CN/plugins/reference/irc) | 添加用于发送和接收 OpenClaw 消息的 IRC 渠道界面。 | `@openclaw/irc`
包含在 OpenClaw 中 | 渠道:irc | -| [kilocode](/zh-CN/plugins/reference/kilocode) | 为 OpenClaw 添加 Kilocode 模型提供商支持。 | `@openclaw/kilocode-provider`
包含在 OpenClaw 中 | 提供商:kilocode | -| [kimi](/zh-CN/plugins/reference/kimi) | 为 OpenClaw 添加 Kimi、Kimi Coding 模型提供商支持。 | `@openclaw/kimi-provider`
包含在 OpenClaw 中 | 提供商:kimi, kimi-coding | -| [litellm](/zh-CN/plugins/reference/litellm) | 为 OpenClaw 添加 LiteLLM 模型提供商支持。 | `@openclaw/litellm-provider`
包含在 OpenClaw 中 | 提供商:litellm;契约:imageGenerationProviders | -| [llm-task](/zh-CN/plugins/reference/llm-task) | 用于结构化任务的通用仅 JSON LLM 工具,可从工作流调用。 | `@openclaw/llm-task`
包含在 OpenClaw 中 | 契约:tools | -| [lmstudio](/zh-CN/plugins/reference/lmstudio) | 为 OpenClaw 添加 LM Studio 模型提供商支持。 | `@openclaw/lmstudio-provider`
包含在 OpenClaw 中 | 提供商:lmstudio;契约:memoryEmbeddingProviders | -| [memory-core](/zh-CN/plugins/reference/memory-core) | 添加记忆嵌入提供商支持。添加可由智能体调用的工具。 | `@openclaw/memory-core`
包含在 OpenClaw 中 | 契约:memoryEmbeddingProviders, tools | -| [memory-wiki](/zh-CN/plugins/reference/memory-wiki) | OpenClaw 的持久化 wiki 编译器和适合 Obsidian 的知识库。 | `@openclaw/memory-wiki`
包含在 OpenClaw 中 | contracts: tools; skills | +| [acpx](/zh-CN/plugins/reference/acpx) | 内嵌 ACP 运行时后端,由插件拥有会话和传输管理。 | `@openclaw/acpx`
包含在 OpenClaw 中 | skills | +| [alibaba](/zh-CN/plugins/reference/alibaba) | 添加视频生成提供商支持。 | `@openclaw/alibaba-provider`
包含在 OpenClaw 中 | contracts: videoGenerationProviders | +| [amazon-bedrock](/zh-CN/plugins/reference/amazon-bedrock) | 为 OpenClaw 添加 Amazon Bedrock 模型提供商支持。 | `@openclaw/amazon-bedrock-provider`
包含在 OpenClaw 中 | providers: amazon-bedrock; contracts: memoryEmbeddingProviders | +| [amazon-bedrock-mantle](/zh-CN/plugins/reference/amazon-bedrock-mantle) | 为 OpenClaw 添加 Amazon Bedrock Mantle 模型提供商支持。 | `@openclaw/amazon-bedrock-mantle-provider`
包含在 OpenClaw 中 | providers: amazon-bedrock-mantle | +| [anthropic](/zh-CN/plugins/reference/anthropic) | 为 OpenClaw 添加 Anthropic 模型提供商支持。 | `@openclaw/anthropic-provider`
包含在 OpenClaw 中 | providers: anthropic; contracts: mediaUnderstandingProviders | +| [anthropic-vertex](/zh-CN/plugins/reference/anthropic-vertex) | 为 OpenClaw 添加 Anthropic Vertex 模型提供商支持。 | `@openclaw/anthropic-vertex-provider`
包含在 OpenClaw 中 | providers: anthropic-vertex | +| [arcee](/zh-CN/plugins/reference/arcee) | 为 OpenClaw 添加 Arcee 模型提供商支持。 | `@openclaw/arcee-provider`
包含在 OpenClaw 中 | providers: arcee | +| [azure-speech](/zh-CN/plugins/reference/azure-speech) | Azure AI Speech 文本转语音(MP3、原生 Ogg/Opus 语音消息、PCM 电话音频)。 | `@openclaw/azure-speech`
包含在 OpenClaw 中 | contracts: speechProviders | +| [bonjour](/zh-CN/plugins/reference/bonjour) | 通过 Bonjour/mDNS 广播本地 OpenClaw gateway。 | `@openclaw/bonjour`
包含在 OpenClaw 中 | plugin | +| [browser](/zh-CN/plugins/reference/browser) | 添加智能体可调用工具。 | `@openclaw/browser-plugin`
包含在 OpenClaw 中 | contracts: tools; skills | +| [byteplus](/zh-CN/plugins/reference/byteplus) | 为 OpenClaw 添加 BytePlus、BytePlus Plan 模型提供商支持。 | `@openclaw/byteplus-provider`
包含在 OpenClaw 中 | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders | +| [cerebras](/zh-CN/plugins/reference/cerebras) | 为 OpenClaw 添加 Cerebras 模型提供商支持。 | `@openclaw/cerebras-provider`
包含在 OpenClaw 中 | providers: cerebras | +| [chutes](/zh-CN/plugins/reference/chutes) | 为 OpenClaw 添加 Chutes 模型提供商支持。 | `@openclaw/chutes-provider`
包含在 OpenClaw 中 | providers: chutes | +| [cloudflare-ai-gateway](/zh-CN/plugins/reference/cloudflare-ai-gateway) | 为 OpenClaw 添加 Cloudflare AI Gateway 模型提供商支持。 | `@openclaw/cloudflare-ai-gateway-provider`
包含在 OpenClaw 中 | providers: cloudflare-ai-gateway | +| [comfy](/zh-CN/plugins/reference/comfy) | 为 OpenClaw 添加 ComfyUI 模型提供商支持。 | `@openclaw/comfy-provider`
包含在 OpenClaw 中 | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders | +| [copilot-proxy](/zh-CN/plugins/reference/copilot-proxy) | 为 OpenClaw 添加 Copilot Proxy 模型提供商支持。 | `@openclaw/copilot-proxy`
包含在 OpenClaw 中 | providers: copilot-proxy | +| [deepgram](/zh-CN/plugins/reference/deepgram) | 添加媒体理解提供商支持。添加实时转录提供商支持。 | `@openclaw/deepgram-provider`
包含在 OpenClaw 中 | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders | +| [deepinfra](/zh-CN/plugins/reference/deepinfra) | 为 OpenClaw 添加 DeepInfra 模型提供商支持。 | `@openclaw/deepinfra-provider`
包含在 OpenClaw 中 | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders | +| [deepseek](/zh-CN/plugins/reference/deepseek) | 为 OpenClaw 添加 DeepSeek 模型提供商支持。 | `@openclaw/deepseek-provider`
包含在 OpenClaw 中 | providers: deepseek | +| [document-extract](/zh-CN/plugins/reference/document-extract) | 从本地文档附件中提取文本和回退页面图像。 | `@openclaw/document-extract-plugin`
已包含在 OpenClaw 中 | contracts: documentExtractors | +| [duckduckgo](/zh-CN/plugins/reference/duckduckgo) | 添加 Web 搜索提供商支持。 | `@openclaw/duckduckgo-plugin`
已包含在 OpenClaw 中 | contracts: webSearchProviders | +| [elevenlabs](/zh-CN/plugins/reference/elevenlabs) | 添加媒体理解提供商支持。添加实时转写提供商支持。添加文本转语音提供商支持。 | `@openclaw/elevenlabs-speech`
已包含在 OpenClaw 中 | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders | +| [exa](/zh-CN/plugins/reference/exa) | 添加 Web 搜索提供商支持。 | `@openclaw/exa-plugin`
已包含在 OpenClaw 中 | contracts: webSearchProviders | +| [fal](/zh-CN/plugins/reference/fal) | 为 OpenClaw 添加 fal 模型提供商支持。 | `@openclaw/fal-provider`
已包含在 OpenClaw 中 | providers: fal; contracts: imageGenerationProviders, videoGenerationProviders | +| [file-transfer](/zh-CN/plugins/reference/file-transfer) | 通过专用节点命令在已配对节点上获取、列出和写入文件。通过对最大 16 MB 的二进制文件在 node.invoke 上使用 base64,绕过 bash stdout 截断。 | `@openclaw/file-transfer`
已包含在 OpenClaw 中 | contracts: tools | +| [firecrawl](/zh-CN/plugins/reference/firecrawl) | 添加智能体可调用的工具。添加 Web 获取提供商支持。添加 Web 搜索提供商支持。 | `@openclaw/firecrawl-plugin`
已包含在 OpenClaw 中 | contracts: tools, webFetchProviders, webSearchProviders | +| [fireworks](/zh-CN/plugins/reference/fireworks) | 为 OpenClaw 添加 Fireworks 模型提供商支持。 | `@openclaw/fireworks-provider`
已包含在 OpenClaw 中 | providers: fireworks | +| [github-copilot](/zh-CN/plugins/reference/github-copilot) | 为 OpenClaw 添加 GitHub Copilot 模型提供商支持。 | `@openclaw/github-copilot-provider`
已包含在 OpenClaw 中 | providers: github-copilot; contracts: memoryEmbeddingProviders | +| [google](/zh-CN/plugins/reference/google) | 为 OpenClaw 添加 Google、Google Gemini CLI、Google Vertex 模型提供商支持。 | `@openclaw/google-plugin`
已包含在 OpenClaw 中 | providers: google, google-gemini-cli, google-vertex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders | +| [googlechat](/zh-CN/plugins/reference/googlechat) | 添加 Google Chat 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/googlechat`
已包含在 OpenClaw 中 | channels: googlechat | +| [gradium](/zh-CN/plugins/reference/gradium) | 添加文本转语音提供商支持。 | `@openclaw/gradium-speech`
已包含在 OpenClaw 中 | contracts: speechProviders | +| [groq](/zh-CN/plugins/reference/groq) | 为 OpenClaw 添加 Groq 模型提供商支持。 | `@openclaw/groq-provider`
已包含在 OpenClaw 中 | providers: groq; contracts: mediaUnderstandingProviders | +| [huggingface](/zh-CN/plugins/reference/huggingface) | 为 OpenClaw 添加 Hugging Face 模型提供商支持。 | `@openclaw/huggingface-provider`
已包含在 OpenClaw 中 | providers: huggingface | +| [imessage](/zh-CN/plugins/reference/imessage) | 添加 iMessage 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/imessage`
已包含在 OpenClaw 中 | channels: imessage | +| [inworld](/zh-CN/plugins/reference/inworld) | Inworld 流式文本转语音(MP3、OGG_OPUS、PCM 电话音频)。 | `@openclaw/inworld-speech`
已包含在 OpenClaw 中 | contracts: speechProviders | +| [irc](/zh-CN/plugins/reference/irc) | 添加 IRC 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/irc`
已包含在 OpenClaw 中 | channels: irc | +| [kilocode](/zh-CN/plugins/reference/kilocode) | 为 OpenClaw 添加 Kilocode 模型提供商支持。 | `@openclaw/kilocode-provider`
已包含在 OpenClaw 中 | providers: kilocode | +| [kimi](/zh-CN/plugins/reference/kimi) | 为 OpenClaw 添加 Kimi、Kimi Coding 模型提供商支持。 | `@openclaw/kimi-provider`
已包含在 OpenClaw 中 | providers: kimi, kimi-coding | +| [line](/zh-CN/plugins/reference/line) | 添加 LINE 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/line`
已包含在 OpenClaw 中 | channels: line | +| [litellm](/zh-CN/plugins/reference/litellm) | 为 OpenClaw 添加 LiteLLM 模型提供商支持。 | `@openclaw/litellm-provider`
已包含在 OpenClaw 中 | providers: litellm; contracts: imageGenerationProviders | +| [llm-task](/zh-CN/plugins/reference/llm-task) | 用于结构化任务的通用仅 JSON LLM 工具,可从工作流调用。 | `@openclaw/llm-task`
包含在 OpenClaw 中 | contracts: tools | +| [lmstudio](/zh-CN/plugins/reference/lmstudio) | 为 OpenClaw 添加 LM Studio 模型提供商支持。 | `@openclaw/lmstudio-provider`
包含在 OpenClaw 中 | providers: lmstudio; contracts: memoryEmbeddingProviders | +| [memory-core](/zh-CN/plugins/reference/memory-core) | 添加记忆嵌入提供商支持。添加智能体可调用的工具。 | `@openclaw/memory-core`
包含在 OpenClaw 中 | contracts: memoryEmbeddingProviders, tools | +| [memory-wiki](/zh-CN/plugins/reference/memory-wiki) | 面向 OpenClaw 的持久化 wiki 编译器和 Obsidian 友好的知识库。 | `@openclaw/memory-wiki`
包含在 OpenClaw 中 | contracts: tools; skills | | [microsoft](/zh-CN/plugins/reference/microsoft) | 添加文本转语音提供商支持。 | `@openclaw/microsoft-speech`
包含在 OpenClaw 中 | contracts: speechProviders | | [microsoft-foundry](/zh-CN/plugins/reference/microsoft-foundry) | 为 OpenClaw 添加 Microsoft Foundry 模型提供商支持。 | `@openclaw/microsoft-foundry`
包含在 OpenClaw 中 | providers: microsoft-foundry | -| [migrate-claude](/zh-CN/plugins/reference/migrate-claude) | 将 Claude Code 和 Claude Desktop 指令、MCP 服务器、Skills 和安全配置导入 OpenClaw。 | `@openclaw/migrate-claude`
包含在 OpenClaw 中 | contracts: migrationProviders | +| [migrate-claude](/zh-CN/plugins/reference/migrate-claude) | 将 Claude Code 和 Claude Desktop 指令、MCP 服务器、Skills 以及安全配置导入 OpenClaw。 | `@openclaw/migrate-claude`
包含在 OpenClaw 中 | contracts: migrationProviders | | [migrate-hermes](/zh-CN/plugins/reference/migrate-hermes) | 将 Hermes 配置、记忆、Skills 和支持的凭证导入 OpenClaw。 | `@openclaw/migrate-hermes`
包含在 OpenClaw 中 | contracts: migrationProviders | | [minimax](/zh-CN/plugins/reference/minimax) | 为 OpenClaw 添加 MiniMax、MiniMax Portal 模型提供商支持。 | `@openclaw/minimax-provider`
包含在 OpenClaw 中 | providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders | | [mistral](/zh-CN/plugins/reference/mistral) | 为 OpenClaw 添加 Mistral 模型提供商支持。 | `@openclaw/mistral-provider`
包含在 OpenClaw 中 | providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders | | [moonshot](/zh-CN/plugins/reference/moonshot) | 为 OpenClaw 添加 Moonshot 模型提供商支持。 | `@openclaw/moonshot-provider`
包含在 OpenClaw 中 | providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders | | [nvidia](/zh-CN/plugins/reference/nvidia) | 为 OpenClaw 添加 NVIDIA 模型提供商支持。 | `@openclaw/nvidia-provider`
包含在 OpenClaw 中 | providers: nvidia | | [ollama](/zh-CN/plugins/reference/ollama) | 为 OpenClaw 添加 Ollama 模型提供商支持。 | `@openclaw/ollama-provider`
包含在 OpenClaw 中 | providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders | -| [open-prose](/zh-CN/plugins/reference/open-prose) | 带有 /prose 斜杠命令的 OpenProse VM 技能包。 | `@openclaw/open-prose`
包含在 OpenClaw 中 | skills | +| [open-prose](/zh-CN/plugins/reference/open-prose) | 带有 `/prose` 斜杠命令的 OpenProse VM Skills 包。 | `@openclaw/open-prose`
包含在 OpenClaw 中 | skills | | [openai](/zh-CN/plugins/reference/openai) | 为 OpenClaw 添加 OpenAI、OpenAI Codex 模型提供商支持。 | `@openclaw/openai-provider`
包含在 OpenClaw 中 | providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders | | [opencode](/zh-CN/plugins/reference/opencode) | 为 OpenClaw 添加 OpenCode 模型提供商支持。 | `@openclaw/opencode-provider`
包含在 OpenClaw 中 | providers: opencode; contracts: mediaUnderstandingProviders | | [opencode-go](/zh-CN/plugins/reference/opencode-go) | 为 OpenClaw 添加 OpenCode Go 模型提供商支持。 | `@openclaw/opencode-go-provider`
包含在 OpenClaw 中 | providers: opencode-go; contracts: mediaUnderstandingProviders | | [openrouter](/zh-CN/plugins/reference/openrouter) | 为 OpenClaw 添加 OpenRouter 模型提供商支持。 | `@openclaw/openrouter-provider`
包含在 OpenClaw 中 | providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders | -| [openshell](/zh-CN/plugins/reference/openshell) | 由 OpenShell 提供支持的沙箱后端,具备镜像本地工作区和基于 SSH 的命令执行。 | `@openclaw/openshell-sandbox`
包含在 OpenClaw 中 | plugin | +| [openshell](/zh-CN/plugins/reference/openshell) | 由 OpenShell 提供支持的沙箱后端,带有镜像的本地工作区和基于 SSH 的命令执行。 | `@openclaw/openshell-sandbox`
包含在 OpenClaw 中 | plugin | | [perplexity](/zh-CN/plugins/reference/perplexity) | 添加 Web 搜索提供商支持。 | `@openclaw/perplexity-plugin`
包含在 OpenClaw 中 | contracts: webSearchProviders | | [qianfan](/zh-CN/plugins/reference/qianfan) | 为 OpenClaw 添加 Qianfan 模型提供商支持。 | `@openclaw/qianfan-provider`
包含在 OpenClaw 中 | providers: qianfan | | [qwen](/zh-CN/plugins/reference/qwen) | 为 OpenClaw 添加 Qwen、Qwen Cloud、Model Studio、DashScope 模型提供商支持。 | `@openclaw/qwen-provider`
包含在 OpenClaw 中 | providers: qwen, qwencloud, modelstudio, dashscope; contracts: mediaUnderstandingProviders, videoGenerationProviders | @@ -100,13 +103,13 @@ pnpm plugins:inventory:gen | [searxng](/zh-CN/plugins/reference/searxng) | 添加 Web 搜索提供商支持。 | `@openclaw/searxng-plugin`
包含在 OpenClaw 中 | contracts: webSearchProviders | | [senseaudio](/zh-CN/plugins/reference/senseaudio) | 添加媒体理解提供商支持。 | `@openclaw/senseaudio-provider`
包含在 OpenClaw 中 | contracts: mediaUnderstandingProviders | | [sglang](/zh-CN/plugins/reference/sglang) | 为 OpenClaw 添加 SGLang 模型提供商支持。 | `@openclaw/sglang-provider`
包含在 OpenClaw 中 | providers: sglang | -| [signal](/zh-CN/plugins/reference/signal) | 添加 Signal 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/signal`
包含在 OpenClaw 中 | channels: signal | -| [skill-workshop](/zh-CN/plugins/reference/skill-workshop) | 将可重复工作流捕获为工作区 Skills,支持待审核、安全写入和 Skills 提示词刷新。 | `@openclaw/skill-workshop`
包含在 OpenClaw 中 | contracts: tools | -| [slack](/zh-CN/plugins/reference/slack) | 添加 Slack 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/slack`
包含在 OpenClaw 中 | channels: slack | +| [signal](/zh-CN/plugins/reference/signal) | 添加用于发送和接收 OpenClaw 消息的 Signal 渠道界面。 | `@openclaw/signal`
包含在 OpenClaw 中 | channels: signal | +| [skill-workshop](/zh-CN/plugins/reference/skill-workshop) | 将可重复工作流捕获为工作区 Skills,支持待审核、安全写入和技能提示刷新。 | `@openclaw/skill-workshop`
包含在 OpenClaw 中 | contracts: tools | +| [slack](/zh-CN/plugins/reference/slack) | 添加用于发送和接收 OpenClaw 消息的 Slack 渠道界面。 | `@openclaw/slack`
包含在 OpenClaw 中 | channels: slack | | [stepfun](/zh-CN/plugins/reference/stepfun) | 为 OpenClaw 添加 StepFun、StepFun Plan 模型提供商支持。 | `@openclaw/stepfun-provider`
包含在 OpenClaw 中 | providers: stepfun, stepfun-plan | | [synthetic](/zh-CN/plugins/reference/synthetic) | 为 OpenClaw 添加 Synthetic 模型提供商支持。 | `@openclaw/synthetic-provider`
包含在 OpenClaw 中 | providers: synthetic | -| [tavily](/zh-CN/plugins/reference/tavily) | 添加可由智能体调用的工具。添加 Web 搜索提供商支持。 | `@openclaw/tavily-plugin`
包含在 OpenClaw 中 | contracts: tools, webSearchProviders; skills | -| [telegram](/zh-CN/plugins/reference/telegram) | 添加 Telegram 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/telegram`
包含在 OpenClaw 中 | channels: telegram | +| [tavily](/zh-CN/plugins/reference/tavily) | 添加智能体可调用的工具。添加 Web 搜索提供商支持。 | `@openclaw/tavily-plugin`
包含在 OpenClaw 中 | contracts: tools, webSearchProviders; skills | +| [telegram](/zh-CN/plugins/reference/telegram) | 添加用于发送和接收 OpenClaw 消息的 Telegram 渠道界面。 | `@openclaw/telegram`
包含在 OpenClaw 中 | channels: telegram | | [tencent](/zh-CN/plugins/reference/tencent) | 为 OpenClaw 添加 Tencent TokenHub 模型提供商支持。 | `@openclaw/tencent-provider`
包含在 OpenClaw 中 | providers: tencent-tokenhub | | [together](/zh-CN/plugins/reference/together) | 为 OpenClaw 添加 Together 模型提供商支持。 | `@openclaw/together-provider`
包含在 OpenClaw 中 | providers: together; contracts: videoGenerationProviders | | [tokenjuice](/zh-CN/plugins/reference/tokenjuice) | 使用 tokenjuice reducers 压缩 exec 和 bash 工具结果。 | `@openclaw/tokenjuice`
包含在 OpenClaw 中 | contracts: agentToolResultMiddleware | @@ -116,49 +119,46 @@ pnpm plugins:inventory:gen | [vllm](/zh-CN/plugins/reference/vllm) | 为 OpenClaw 添加 vLLM 模型提供商支持。 | `@openclaw/vllm-provider`
包含在 OpenClaw 中 | providers: vllm | | [volcengine](/zh-CN/plugins/reference/volcengine) | 为 OpenClaw 添加 Volcengine、Volcengine Plan 模型提供商支持。 | `@openclaw/volcengine-provider`
包含在 OpenClaw 中 | providers: volcengine, volcengine-plan; contracts: speechProviders | | [voyage](/zh-CN/plugins/reference/voyage) | 添加记忆嵌入提供商支持。 | `@openclaw/voyage-provider`
包含在 OpenClaw 中 | contracts: memoryEmbeddingProviders | -| [vydra](/zh-CN/plugins/reference/vydra) | 为 OpenClaw 添加 Vydra 模型提供商支持。 | `@openclaw/vydra-provider`
包含在 OpenClaw 中 | providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders | -| [web-readability](/zh-CN/plugins/reference/web-readability) | 从本地 HTML Web 获取响应中提取可读的文章内容。 | `@openclaw/web-readability-plugin`
包含在 OpenClaw 中 | contracts: webContentExtractors | -| [webhooks](/zh-CN/plugins/reference/webhooks) | 经过身份验证的入站 Webhook,将外部自动化绑定到 OpenClaw TaskFlows。 | `@openclaw/webhooks`
包含在 OpenClaw 中 | plugin | -| [xai](/zh-CN/plugins/reference/xai) | 为 OpenClaw 添加 xAI 模型提供商支持。 | `@openclaw/xai-plugin`
包含在 OpenClaw 中 | providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders | -| [xiaomi](/zh-CN/plugins/reference/xiaomi) | 为 OpenClaw 添加 Xiaomi 模型提供商支持。 | `@openclaw/xiaomi-provider`
包含在 OpenClaw 中 | providers: xiaomi; contracts: speechProviders | -| [zai](/zh-CN/plugins/reference/zai) | 为 OpenClaw 添加 Z.AI 模型提供商支持。 | `@openclaw/zai-provider`
包含在 OpenClaw 中 | providers: zai; contracts: mediaUnderstandingProviders | +| [vydra](/zh-CN/plugins/reference/vydra) | 为 OpenClaw 添加 Vydra 模型提供商支持。 | `@openclaw/vydra-provider`
随 OpenClaw 内置 | providers: vydra; contracts: imageGenerationProviders, speechProviders, videoGenerationProviders | +| [web-readability](/zh-CN/plugins/reference/web-readability) | 从本地 HTML 网页抓取响应中提取可读的文章内容。 | `@openclaw/web-readability-plugin`
随 OpenClaw 内置 | contracts: webContentExtractors | +| [webhooks](/zh-CN/plugins/reference/webhooks) | 经过身份验证的入站 Webhook,将外部自动化绑定到 OpenClaw TaskFlows。 | `@openclaw/webhooks`
随 OpenClaw 内置 | 插件 | +| [xai](/zh-CN/plugins/reference/xai) | 为 OpenClaw 添加 xAI 模型提供商支持。 | `@openclaw/xai-plugin`
随 OpenClaw 内置 | providers: xai; contracts: imageGenerationProviders, mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders, tools, videoGenerationProviders, webSearchProviders | +| [xiaomi](/zh-CN/plugins/reference/xiaomi) | 为 OpenClaw 添加 Xiaomi 模型提供商支持。 | `@openclaw/xiaomi-provider`
随 OpenClaw 内置 | providers: xiaomi; contracts: speechProviders | +| [zai](/zh-CN/plugins/reference/zai) | 为 OpenClaw 添加 Z.AI 模型提供商支持。 | `@openclaw/zai-provider`
随 OpenClaw 内置 | providers: zai; contracts: mediaUnderstandingProviders | -## 官方外部包 +## 官方外部软件包 -| 插件 | 描述 | 分发 | 表面 | +| 插件 | 描述 | 分发方式 | Surface | | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | -| [acpx](/zh-CN/plugins/reference/acpx) | 嵌入式 ACP 运行时后端,包含插件自有的会话和传输管理。 | `@openclaw/acpx`
ClawHub + npm | Skills | -| [bluebubbles](/zh-CN/plugins/reference/bluebubbles) | 添加用于发送和接收 OpenClaw 消息的 BlueBubbles 渠道表面。 | `@openclaw/bluebubbles`
ClawHub + npm | channels: bluebubbles | -| [brave](/zh-CN/plugins/reference/brave) | 添加 Web 搜索提供商支持。 | `@openclaw/brave-plugin`
ClawHub + npm | contracts: webSearchProviders | -| [codex](/zh-CN/plugins/reference/codex) | Codex app-server harness 和由 Codex 管理的 GPT 模型目录。 | `@openclaw/codex`
ClawHub + npm | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders | -| [diagnostics-otel](/zh-CN/plugins/reference/diagnostics-otel) | OpenClaw 诊断 OpenTelemetry exporter。 | `@openclaw/diagnostics-otel`
ClawHub: `clawhub:@openclaw/diagnostics-otel`; npm | plugin | -| [diagnostics-prometheus](/zh-CN/plugins/reference/diagnostics-prometheus) | OpenClaw 诊断 Prometheus exporter。 | `@openclaw/diagnostics-prometheus`
ClawHub: `clawhub:@openclaw/diagnostics-prometheus`; npm | plugin | -| [diffs](/zh-CN/plugins/reference/diffs) | 面向智能体的只读 diff 查看器和文件渲染器。 | `@openclaw/diffs`
ClawHub + npm | contracts: tools; Skills | -| [discord](/zh-CN/plugins/reference/discord) | 添加用于发送和接收 OpenClaw 消息的 Discord 渠道表面。 | `@openclaw/discord`
ClawHub + npm | channels: discord | -| [feishu](/zh-CN/plugins/reference/feishu) | 添加用于发送和接收 OpenClaw 消息的 Feishu 渠道表面。 | `@openclaw/feishu`
ClawHub + npm | channels: feishu; contracts: tools; Skills | -| [google-meet](/zh-CN/plugins/reference/google-meet) | 通过 Chrome 或 Twilio 传输协议加入 Google Meet 通话。 | `@openclaw/google-meet`
ClawHub + npm | contracts: tools | -| [googlechat](/zh-CN/plugins/reference/googlechat) | 添加用于发送和接收 OpenClaw 消息的 Google Chat 渠道表面。 | `@openclaw/googlechat`
ClawHub + npm | channels: googlechat | -| [line](/zh-CN/plugins/reference/line) | 添加用于发送和接收 OpenClaw 消息的 LINE 渠道表面。 | `@openclaw/line`
ClawHub + npm | channels: line | -| [lobster](/zh-CN/plugins/reference/lobster) | 带有可恢复审批的类型化工作流工具。 | `@openclaw/lobster`
ClawHub + npm | contracts: tools | -| [matrix](/zh-CN/plugins/reference/matrix) | 添加用于发送和接收 OpenClaw 消息的 Matrix 渠道表面。 | `@openclaw/matrix`
ClawHub + npm | channels: matrix | -| [mattermost](/zh-CN/plugins/reference/mattermost) | 添加用于发送和接收 OpenClaw 消息的 Mattermost 渠道表面。 | `@openclaw/mattermost`
ClawHub + npm | channels: mattermost | -| [memory-lancedb](/zh-CN/plugins/reference/memory-lancedb) | 添加可由智能体调用的工具。 | `@openclaw/memory-lancedb`
ClawHub + npm | contracts: tools | -| [msteams](/zh-CN/plugins/reference/msteams) | 添加用于发送和接收 OpenClaw 消息的 Microsoft Teams 渠道表面。 | `@openclaw/msteams`
ClawHub + npm | channels: msteams | -| [nextcloud-talk](/zh-CN/plugins/reference/nextcloud-talk) | 添加用于发送和接收 OpenClaw 消息的 Nextcloud Talk 渠道表面。 | `@openclaw/nextcloud-talk`
ClawHub + npm | channels: nextcloud-talk | -| [nostr](/zh-CN/plugins/reference/nostr) | 添加用于发送和接收 OpenClaw 消息的 Nostr 渠道表面。 | `@openclaw/nostr`
ClawHub + npm | channels: nostr | -| [qqbot](/zh-CN/plugins/reference/qqbot) | 添加用于发送和接收 OpenClaw 消息的 QQ Bot 渠道表面。 | `@openclaw/qqbot`
ClawHub + npm | channels: qqbot; contracts: tools; Skills | -| [synology-chat](/zh-CN/plugins/reference/synology-chat) | 添加用于发送和接收 OpenClaw 消息的 Synology Chat 渠道表面。 | `@openclaw/synology-chat`
ClawHub + npm | channels: synology-chat | -| [tlon](/zh-CN/plugins/reference/tlon) | 添加用于发送和接收 OpenClaw 消息的 Tlon 渠道表面。 | `@openclaw/tlon`
ClawHub + npm | channels: tlon; contracts: tools; Skills | -| [twitch](/zh-CN/plugins/reference/twitch) | 添加用于发送和接收 OpenClaw 消息的 Twitch 渠道表面。 | `@openclaw/twitch`
ClawHub + npm | channels: twitch | -| [voice-call](/zh-CN/plugins/reference/voice-call) | 添加可由智能体调用的工具。 | `@openclaw/voice-call`
ClawHub + npm | contracts: tools | -| [whatsapp](/zh-CN/plugins/reference/whatsapp) | 添加用于发送和接收 OpenClaw 消息的 WhatsApp 渠道表面。 | `@openclaw/whatsapp`
ClawHub + npm | channels: whatsapp | -| [zalo](/zh-CN/plugins/reference/zalo) | 添加用于发送和接收 OpenClaw 消息的 Zalo 渠道表面。 | `@openclaw/zalo`
ClawHub + npm | channels: zalo | -| [zalouser](/zh-CN/plugins/reference/zalouser) | 添加用于发送和接收 OpenClaw 消息的 Zalo Personal 渠道表面。 | `@openclaw/zalouser`
ClawHub + npm | channels: zalouser; contracts: tools | +| [bluebubbles](/zh-CN/plugins/reference/bluebubbles) | 添加 BlueBubbles 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/bluebubbles`
ClawHub + npm | channels: bluebubbles | +| [brave](/zh-CN/plugins/reference/brave) | 添加 Web 搜索提供商支持。 | `@openclaw/brave-plugin`
ClawHub + npm | contracts: webSearchProviders | +| [codex](/zh-CN/plugins/reference/codex) | Codex 应用服务器 harness,以及由 Codex 管理的 GPT 模型目录。 | `@openclaw/codex`
ClawHub + npm | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders | +| [diagnostics-otel](/zh-CN/plugins/reference/diagnostics-otel) | OpenClaw diagnostics OpenTelemetry 导出器。 | `@openclaw/diagnostics-otel`
ClawHub: `clawhub:@openclaw/diagnostics-otel`; npm | plugin | +| [diagnostics-prometheus](/zh-CN/plugins/reference/diagnostics-prometheus) | OpenClaw diagnostics Prometheus 导出器。 | `@openclaw/diagnostics-prometheus`
ClawHub: `clawhub:@openclaw/diagnostics-prometheus`; npm | plugin | +| [diffs](/zh-CN/plugins/reference/diffs) | 面向智能体的只读差异查看器和文件渲染器。 | `@openclaw/diffs`
ClawHub + npm | contracts: tools; skills | +| [discord](/zh-CN/plugins/reference/discord) | 添加 Discord 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/discord`
ClawHub + npm | channels: discord | +| [feishu](/zh-CN/plugins/reference/feishu) | 添加 Feishu 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/feishu`
ClawHub + npm | channels: feishu; contracts: tools; skills | +| [google-meet](/zh-CN/plugins/reference/google-meet) | 通过 Chrome 或 Twilio 传输协议加入 Google Meet 通话。 | `@openclaw/google-meet`
ClawHub + npm | contracts: tools | +| [lobster](/zh-CN/plugins/reference/lobster) | 带有可恢复审批的类型化工作流工具。 | `@openclaw/lobster`
ClawHub + npm | contracts: tools | +| [matrix](/zh-CN/plugins/reference/matrix) | 添加 Matrix 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/matrix`
ClawHub + npm | channels: matrix | +| [mattermost](/zh-CN/plugins/reference/mattermost) | 添加 Mattermost 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/mattermost`
ClawHub + npm | channels: mattermost | +| [memory-lancedb](/zh-CN/plugins/reference/memory-lancedb) | 添加智能体可调用的工具。 | `@openclaw/memory-lancedb`
ClawHub + npm | contracts: tools | +| [msteams](/zh-CN/plugins/reference/msteams) | 添加 Microsoft Teams 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/msteams`
ClawHub + npm | channels: msteams | +| [nextcloud-talk](/zh-CN/plugins/reference/nextcloud-talk) | 添加 Nextcloud Talk 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/nextcloud-talk`
ClawHub + npm | channels: nextcloud-talk | +| [nostr](/zh-CN/plugins/reference/nostr) | 添加 Nostr 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/nostr`
ClawHub + npm | channels: nostr | +| [qqbot](/zh-CN/plugins/reference/qqbot) | 添加 QQ Bot 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/qqbot`
ClawHub + npm | channels: qqbot; contracts: tools; skills | +| [synology-chat](/zh-CN/plugins/reference/synology-chat) | 添加 Synology Chat 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/synology-chat`
ClawHub + npm | channels: synology-chat | +| [tlon](/zh-CN/plugins/reference/tlon) | 添加 Tlon 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/tlon`
ClawHub + npm | channels: tlon; contracts: tools; skills | +| [twitch](/zh-CN/plugins/reference/twitch) | 添加 Twitch 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/twitch`
ClawHub + npm | channels: twitch | +| [voice-call](/zh-CN/plugins/reference/voice-call) | 添加智能体可调用的工具。 | `@openclaw/voice-call`
ClawHub + npm | contracts: tools | +| [whatsapp](/zh-CN/plugins/reference/whatsapp) | 添加 WhatsApp 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/whatsapp`
ClawHub + npm | channels: whatsapp | +| [zalo](/zh-CN/plugins/reference/zalo) | 添加 Zalo 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/zalo`
ClawHub + npm | channels: zalo | +| [zalouser](/zh-CN/plugins/reference/zalouser) | 添加 Zalo Personal 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/zalouser`
ClawHub + npm | channels: zalouser; contracts: tools | ## 仅源码检出 -| 插件 | 描述 | 分发 | 表面 | -| ------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------ | -------------------- | -| [qa-channel](/zh-CN/plugins/reference/qa-channel) | 添加用于发送和接收 OpenClaw 消息的 QA Channel 表面。 | `@openclaw/qa-channel`
仅源码检出 | channels: qa-channel | -| [qa-lab](/zh-CN/plugins/reference/qa-lab) | OpenClaw QA lab 插件,带有私有调试器 UI 和场景运行器。 | `@openclaw/qa-lab`
仅源码检出 | plugin | -| [qa-matrix](/zh-CN/plugins/reference/qa-matrix) | Matrix QA 传输运行器和基底。 | `@openclaw/qa-matrix`
仅源码检出 | plugin | +| 插件 | 描述 | 分发方式 | Surface | +| ------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------ | -------------------- | +| [qa-channel](/zh-CN/plugins/reference/qa-channel) | 添加 QA Channel 界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/qa-channel`
仅源码检出 | channels: qa-channel | +| [qa-lab](/zh-CN/plugins/reference/qa-lab) | OpenClaw QA 实验室插件,带有私有调试器 UI 和场景运行器。 | `@openclaw/qa-lab`
仅源码检出 | plugin | +| [qa-matrix](/zh-CN/plugins/reference/qa-matrix) | Matrix QA 传输运行器和底层执行环境。 | `@openclaw/qa-matrix`
仅源码检出 | plugin | diff --git a/docs/zh-CN/plugins/reference.md b/docs/zh-CN/plugins/reference.md index d9ee145d0..52a5d80ee 100644 --- a/docs/zh-CN/plugins/reference.md +++ b/docs/zh-CN/plugins/reference.md @@ -1,127 +1,127 @@ --- read_when: - - 你需要一个针对特定 OpenClaw 插件的参考页面 - - 你正在审核插件文档覆盖情况 + - 你需要某个特定 OpenClaw 插件的参考页面 + - 你正在审计插件文档覆盖范围 summary: OpenClaw 插件参考页面的生成索引 title: 插件参考 x-i18n: - generated_at: "2026-05-02T20:49:23Z" + generated_at: "2026-05-02T21:41:29Z" model: gpt-5.5 provider: openai - source_hash: 05c0eb24148019d7dd4565a120a581c1ed9652b7321fd8bb5fb2a971684631c3 + source_hash: e5bd3e3b2b77b8d8b636fa33195d294c61191cea1af16d6c0e2058046b37f5f7 source_path: plugins/reference.md workflow: 16 --- # 插件参考 -此页面由 `extensions/*/package.json` 和 -`openclaw.plugin.json` 生成。使用以下命令重新生成: +此页面根据 `extensions/*/package.json` 和 +`openclaw.plugin.json` 生成。使用以下命令重新生成它: ```bash pnpm plugins:inventory:gen ``` -| 插件 | 描述 | 分发 | 接入面 | -| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [acpx](/zh-CN/plugins/reference/acpx) | 嵌入式 ACP 运行时后端,包含插件自有的会话和传输管理。 | `@openclaw/acpx`
ClawHub + npm | Skills | -| [alibaba](/zh-CN/plugins/reference/alibaba) | 添加视频生成提供商支持。 | `@openclaw/alibaba-provider`
内置于 OpenClaw | contracts: videoGenerationProviders | -| [amazon-bedrock](/zh-CN/plugins/reference/amazon-bedrock) | 为 OpenClaw 添加 Amazon Bedrock 模型提供商支持。 | `@openclaw/amazon-bedrock-provider`
内置于 OpenClaw | providers: amazon-bedrock; contracts: memoryEmbeddingProviders | -| [amazon-bedrock-mantle](/zh-CN/plugins/reference/amazon-bedrock-mantle) | 为 OpenClaw 添加 Amazon Bedrock Mantle 模型提供商支持。 | `@openclaw/amazon-bedrock-mantle-provider`
内置于 OpenClaw | providers: amazon-bedrock-mantle | -| [anthropic](/zh-CN/plugins/reference/anthropic) | 为 OpenClaw 添加 Anthropic 模型提供商支持。 | `@openclaw/anthropic-provider`
内置于 OpenClaw | providers: anthropic; contracts: mediaUnderstandingProviders | -| [anthropic-vertex](/zh-CN/plugins/reference/anthropic-vertex) | 为 OpenClaw 添加 Anthropic Vertex 模型提供商支持。 | `@openclaw/anthropic-vertex-provider`
内置于 OpenClaw | providers: anthropic-vertex | -| [arcee](/zh-CN/plugins/reference/arcee) | 为 OpenClaw 添加 Arcee 模型提供商支持。 | `@openclaw/arcee-provider`
内置于 OpenClaw | providers: arcee | -| [azure-speech](/zh-CN/plugins/reference/azure-speech) | Azure AI Speech 文本转语音(MP3、原生 Ogg/Opus 语音消息、PCM 电话音频)。 | `@openclaw/azure-speech`
内置于 OpenClaw | contracts: speechProviders | -| [bluebubbles](/zh-CN/plugins/reference/bluebubbles) | 添加 BlueBubbles 渠道接入面,用于发送和接收 OpenClaw 消息。 | `@openclaw/bluebubbles`
ClawHub + npm | channels: bluebubbles | -| [bonjour](/zh-CN/plugins/reference/bonjour) | 通过 Bonjour/mDNS 广播本地 OpenClaw Gateway 网关。 | `@openclaw/bonjour`
内置于 OpenClaw | plugin | -| [brave](/zh-CN/plugins/reference/brave) | 添加 Web 搜索提供商支持。 | `@openclaw/brave-plugin`
ClawHub + npm | contracts: webSearchProviders | -| [browser](/zh-CN/plugins/reference/browser) | 添加可由智能体调用的工具。 | `@openclaw/browser-plugin`
内置于 OpenClaw | contracts: tools; Skills | -| [byteplus](/zh-CN/plugins/reference/byteplus) | 为 OpenClaw 添加 BytePlus、BytePlus Plan 模型提供商支持。 | `@openclaw/byteplus-provider`
内置于 OpenClaw | providers: byteplus, byteplus-plan; contracts: videoGenerationProviders | -| [cerebras](/zh-CN/plugins/reference/cerebras) | 为 OpenClaw 添加 Cerebras 模型提供商支持。 | `@openclaw/cerebras-provider`
内置于 OpenClaw | providers: cerebras | -| [chutes](/zh-CN/plugins/reference/chutes) | 为 OpenClaw 添加 Chutes 模型提供商支持。 | `@openclaw/chutes-provider`
内置于 OpenClaw | providers: chutes | -| [cloudflare-ai-gateway](/zh-CN/plugins/reference/cloudflare-ai-gateway) | 为 OpenClaw 添加 Cloudflare AI Gateway 模型提供商支持。 | `@openclaw/cloudflare-ai-gateway-provider`
内置于 OpenClaw | providers: cloudflare-ai-gateway | -| [codex](/zh-CN/plugins/reference/codex) | Codex 应用服务器 harness,以及 Codex 管理的 GPT 模型目录。 | `@openclaw/codex`
ClawHub + npm | providers: codex; contracts: mediaUnderstandingProviders, migrationProviders | -| [comfy](/zh-CN/plugins/reference/comfy) | 为 OpenClaw 添加 ComfyUI 模型提供商支持。 | `@openclaw/comfy-provider`
内置于 OpenClaw | providers: comfy; contracts: imageGenerationProviders, musicGenerationProviders, videoGenerationProviders | +| 插件 | 描述 | 分发 | 接口面 | +| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [acpx](/zh-CN/plugins/reference/acpx) | 内嵌 ACP 运行时后端,由插件负责会话和传输管理。 | `@openclaw/acpx`
包含在 OpenClaw 中 | Skills | +| [alibaba](/zh-CN/plugins/reference/alibaba) | 添加视频生成提供商支持。 | `@openclaw/alibaba-provider`
包含在 OpenClaw 中 | 契约:videoGenerationProviders | +| [amazon-bedrock](/zh-CN/plugins/reference/amazon-bedrock) | 为 OpenClaw 添加 Amazon Bedrock 模型提供商支持。 | `@openclaw/amazon-bedrock-provider`
包含在 OpenClaw 中 | 提供商:amazon-bedrock;契约:memoryEmbeddingProviders | +| [amazon-bedrock-mantle](/zh-CN/plugins/reference/amazon-bedrock-mantle) | 为 OpenClaw 添加 Amazon Bedrock Mantle 模型提供商支持。 | `@openclaw/amazon-bedrock-mantle-provider`
包含在 OpenClaw 中 | 提供商:amazon-bedrock-mantle | +| [anthropic](/zh-CN/plugins/reference/anthropic) | 为 OpenClaw 添加 Anthropic 模型提供商支持。 | `@openclaw/anthropic-provider`
包含在 OpenClaw 中 | 提供商:anthropic;契约:mediaUnderstandingProviders | +| [anthropic-vertex](/zh-CN/plugins/reference/anthropic-vertex) | 为 OpenClaw 添加 Anthropic Vertex 模型提供商支持。 | `@openclaw/anthropic-vertex-provider`
包含在 OpenClaw 中 | 提供商:anthropic-vertex | +| [arcee](/zh-CN/plugins/reference/arcee) | 为 OpenClaw 添加 Arcee 模型提供商支持。 | `@openclaw/arcee-provider`
包含在 OpenClaw 中 | 提供商:arcee | +| [azure-speech](/zh-CN/plugins/reference/azure-speech) | Azure AI Speech 文本转语音(MP3、原生 Ogg/Opus 语音消息、PCM 电话音频)。 | `@openclaw/azure-speech`
包含在 OpenClaw 中 | 契约:speechProviders | +| [bluebubbles](/zh-CN/plugins/reference/bluebubbles) | 添加 BlueBubbles 渠道接口面,用于发送和接收 OpenClaw 消息。 | `@openclaw/bluebubbles`
ClawHub + npm | 渠道:bluebubbles | +| [bonjour](/zh-CN/plugins/reference/bonjour) | 通过 Bonjour/mDNS 发布本地 OpenClaw Gateway 网关。 | `@openclaw/bonjour`
包含在 OpenClaw 中 | 插件 | +| [brave](/zh-CN/plugins/reference/brave) | 添加 Web 搜索提供商支持。 | `@openclaw/brave-plugin`
ClawHub + npm | 契约:webSearchProviders | +| [browser](/zh-CN/plugins/reference/browser) | 添加智能体可调用的工具。 | `@openclaw/browser-plugin`
包含在 OpenClaw 中 | 契约:tools;Skills | +| [byteplus](/zh-CN/plugins/reference/byteplus) | 为 OpenClaw 添加 BytePlus、BytePlus Plan 模型提供商支持。 | `@openclaw/byteplus-provider`
包含在 OpenClaw 中 | 提供商:byteplus、byteplus-plan;契约:videoGenerationProviders | +| [cerebras](/zh-CN/plugins/reference/cerebras) | 为 OpenClaw 添加 Cerebras 模型提供商支持。 | `@openclaw/cerebras-provider`
包含在 OpenClaw 中 | 提供商:cerebras | +| [chutes](/zh-CN/plugins/reference/chutes) | 为 OpenClaw 添加 Chutes 模型提供商支持。 | `@openclaw/chutes-provider`
包含在 OpenClaw 中 | 提供商:chutes | +| [cloudflare-ai-gateway](/zh-CN/plugins/reference/cloudflare-ai-gateway) | 为 OpenClaw 添加 Cloudflare AI Gateway 网关模型提供商支持。 | `@openclaw/cloudflare-ai-gateway-provider`
包含在 OpenClaw 中 | 提供商:cloudflare-ai-gateway | +| [codex](/zh-CN/plugins/reference/codex) | Codex 应用服务器 harness 和由 Codex 管理的 GPT 模型目录。 | `@openclaw/codex`
ClawHub + npm | 提供商:codex;契约:mediaUnderstandingProviders、migrationProviders | +| [comfy](/zh-CN/plugins/reference/comfy) | 为 OpenClaw 添加 ComfyUI 模型提供商支持。 | `@openclaw/comfy-provider`
包含在 OpenClaw 中 | 提供商:comfy;契约:imageGenerationProviders、musicGenerationProviders、videoGenerationProviders | | [copilot-proxy](/zh-CN/plugins/reference/copilot-proxy) | 为 OpenClaw 添加 Copilot Proxy 模型提供商支持。 | `@openclaw/copilot-proxy`
包含在 OpenClaw 中 | providers: copilot-proxy | | [deepgram](/zh-CN/plugins/reference/deepgram) | 添加媒体理解提供商支持。添加实时转录提供商支持。 | `@openclaw/deepgram-provider`
包含在 OpenClaw 中 | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders | | [deepinfra](/zh-CN/plugins/reference/deepinfra) | 为 OpenClaw 添加 DeepInfra 模型提供商支持。 | `@openclaw/deepinfra-provider`
包含在 OpenClaw 中 | providers: deepinfra; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, speechProviders, videoGenerationProviders | | [deepseek](/zh-CN/plugins/reference/deepseek) | 为 OpenClaw 添加 DeepSeek 模型提供商支持。 | `@openclaw/deepseek-provider`
包含在 OpenClaw 中 | providers: deepseek | -| [diagnostics-otel](/zh-CN/plugins/reference/diagnostics-otel) | OpenClaw 诊断 OpenTelemetry 导出器。 | `@openclaw/diagnostics-otel`
ClawHub: `clawhub:@openclaw/diagnostics-otel`; npm | plugin | -| [diagnostics-prometheus](/zh-CN/plugins/reference/diagnostics-prometheus) | OpenClaw 诊断 Prometheus 导出器。 | `@openclaw/diagnostics-prometheus`
ClawHub: `clawhub:@openclaw/diagnostics-prometheus`; npm | plugin | +| [diagnostics-otel](/zh-CN/plugins/reference/diagnostics-otel) | OpenClaw 诊断 OpenTelemetry exporter。 | `@openclaw/diagnostics-otel`
ClawHub: `clawhub:@openclaw/diagnostics-otel`; npm | plugin | +| [diagnostics-prometheus](/zh-CN/plugins/reference/diagnostics-prometheus) | OpenClaw 诊断 Prometheus exporter。 | `@openclaw/diagnostics-prometheus`
ClawHub: `clawhub:@openclaw/diagnostics-prometheus`; npm | plugin | | [diffs](/zh-CN/plugins/reference/diffs) | 面向智能体的只读 diff 查看器和文件渲染器。 | `@openclaw/diffs`
ClawHub + npm | contracts: tools; skills | | [discord](/zh-CN/plugins/reference/discord) | 添加 Discord 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/discord`
ClawHub + npm | channels: discord | | [document-extract](/zh-CN/plugins/reference/document-extract) | 从本地文档附件中提取文本和备用页面图像。 | `@openclaw/document-extract-plugin`
包含在 OpenClaw 中 | contracts: documentExtractors | -| [duckduckgo](/zh-CN/plugins/reference/duckduckgo) | 添加 Web 搜索提供商支持。 | `@openclaw/duckduckgo-plugin`
包含在 OpenClaw 中 | contracts: webSearchProviders | +| [duckduckgo](/zh-CN/plugins/reference/duckduckgo) | 添加网页搜索提供商支持。 | `@openclaw/duckduckgo-plugin`
包含在 OpenClaw 中 | contracts: webSearchProviders | | [elevenlabs](/zh-CN/plugins/reference/elevenlabs) | 添加媒体理解提供商支持。添加实时转录提供商支持。添加文本转语音提供商支持。 | `@openclaw/elevenlabs-speech`
包含在 OpenClaw 中 | contracts: mediaUnderstandingProviders, realtimeTranscriptionProviders, speechProviders | -| [exa](/zh-CN/plugins/reference/exa) | 添加 Web 搜索提供商支持。 | `@openclaw/exa-plugin`
包含在 OpenClaw 中 | contracts: webSearchProviders | +| [exa](/zh-CN/plugins/reference/exa) | 添加网页搜索提供商支持。 | `@openclaw/exa-plugin`
包含在 OpenClaw 中 | contracts: webSearchProviders | | [fal](/zh-CN/plugins/reference/fal) | 为 OpenClaw 添加 fal 模型提供商支持。 | `@openclaw/fal-provider`
包含在 OpenClaw 中 | providers: fal; contracts: imageGenerationProviders, videoGenerationProviders | | [feishu](/zh-CN/plugins/reference/feishu) | 添加 Feishu 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/feishu`
ClawHub + npm | channels: feishu; contracts: tools; skills | -| [file-transfer](/zh-CN/plugins/reference/file-transfer) | 通过专用节点命令在配对节点上获取、列出和写入文件。通过对最大 16 MB 的二进制文件在 node.invoke 上使用 base64,绕过 bash stdout 截断。 | `@openclaw/file-transfer`
包含在 OpenClaw 中 | contracts: tools | -| [firecrawl](/zh-CN/plugins/reference/firecrawl) | 添加智能体可调用的工具。添加 Web 获取提供商支持。添加 Web 搜索提供商支持。 | `@openclaw/firecrawl-plugin`
包含在 OpenClaw 中 | contracts: tools, webFetchProviders, webSearchProviders | +| [file-transfer](/zh-CN/plugins/reference/file-transfer) | 通过专用节点命令在已配对节点上获取、列出和写入文件。通过对最大 16 MB 的二进制文件使用基于 `node.invoke` 的 `base64`,绕过 `bash stdout` 截断。 | `@openclaw/file-transfer`
包含在 OpenClaw 中 | contracts: tools | +| [firecrawl](/zh-CN/plugins/reference/firecrawl) | 添加智能体可调用的工具。添加网页抓取提供商支持。添加网页搜索提供商支持。 | `@openclaw/firecrawl-plugin`
包含在 OpenClaw 中 | contracts: tools, webFetchProviders, webSearchProviders | | [fireworks](/zh-CN/plugins/reference/fireworks) | 为 OpenClaw 添加 Fireworks 模型提供商支持。 | `@openclaw/fireworks-provider`
包含在 OpenClaw 中 | providers: fireworks | | [github-copilot](/zh-CN/plugins/reference/github-copilot) | 为 OpenClaw 添加 GitHub Copilot 模型提供商支持。 | `@openclaw/github-copilot-provider`
包含在 OpenClaw 中 | providers: github-copilot; contracts: memoryEmbeddingProviders | | [google](/zh-CN/plugins/reference/google) | 为 OpenClaw 添加 Google、Google Gemini CLI、Google Vertex 模型提供商支持。 | `@openclaw/google-plugin`
包含在 OpenClaw 中 | providers: google, google-gemini-cli, google-vertex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, musicGenerationProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders, webSearchProviders | | [google-meet](/zh-CN/plugins/reference/google-meet) | 通过 Chrome 或 Twilio 传输协议加入 Google Meet 通话。 | `@openclaw/google-meet`
ClawHub + npm | contracts: tools | -| [googlechat](/zh-CN/plugins/reference/googlechat) | 添加 Google Chat 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/googlechat`
ClawHub + npm | channels: googlechat | +| [googlechat](/zh-CN/plugins/reference/googlechat) | 添加用于发送和接收 OpenClaw 消息的 Google Chat 渠道接入面。 | `@openclaw/googlechat`
内置于 OpenClaw | channels: googlechat | | [gradium](/zh-CN/plugins/reference/gradium) | 添加文本转语音提供商支持。 | `@openclaw/gradium-speech`
内置于 OpenClaw | contracts: speechProviders | | [groq](/zh-CN/plugins/reference/groq) | 为 OpenClaw 添加 Groq 模型提供商支持。 | `@openclaw/groq-provider`
内置于 OpenClaw | providers: groq; contracts: mediaUnderstandingProviders | | [huggingface](/zh-CN/plugins/reference/huggingface) | 为 OpenClaw 添加 Hugging Face 模型提供商支持。 | `@openclaw/huggingface-provider`
内置于 OpenClaw | providers: huggingface | -| [imessage](/zh-CN/plugins/reference/imessage) | 添加 iMessage 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/imessage`
内置于 OpenClaw | channels: imessage | +| [imessage](/zh-CN/plugins/reference/imessage) | 添加用于发送和接收 OpenClaw 消息的 iMessage 渠道接入面。 | `@openclaw/imessage`
内置于 OpenClaw | channels: imessage | | [inworld](/zh-CN/plugins/reference/inworld) | Inworld 流式文本转语音(MP3、OGG_OPUS、PCM 电话音频)。 | `@openclaw/inworld-speech`
内置于 OpenClaw | contracts: speechProviders | -| [irc](/zh-CN/plugins/reference/irc) | 添加 IRC 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/irc`
内置于 OpenClaw | channels: irc | +| [irc](/zh-CN/plugins/reference/irc) | 添加用于发送和接收 OpenClaw 消息的 IRC 渠道接入面。 | `@openclaw/irc`
内置于 OpenClaw | channels: irc | | [kilocode](/zh-CN/plugins/reference/kilocode) | 为 OpenClaw 添加 Kilocode 模型提供商支持。 | `@openclaw/kilocode-provider`
内置于 OpenClaw | providers: kilocode | | [kimi](/zh-CN/plugins/reference/kimi) | 为 OpenClaw 添加 Kimi、Kimi Coding 模型提供商支持。 | `@openclaw/kimi-provider`
内置于 OpenClaw | providers: kimi, kimi-coding | -| [line](/zh-CN/plugins/reference/line) | 添加 LINE 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/line`
ClawHub + npm | channels: line | +| [line](/zh-CN/plugins/reference/line) | 添加用于发送和接收 OpenClaw 消息的 LINE 渠道接入面。 | `@openclaw/line`
内置于 OpenClaw | channels: line | | [litellm](/zh-CN/plugins/reference/litellm) | 为 OpenClaw 添加 LiteLLM 模型提供商支持。 | `@openclaw/litellm-provider`
内置于 OpenClaw | providers: litellm; contracts: imageGenerationProviders | -| [llm-task](/zh-CN/plugins/reference/llm-task) | 通用的仅 JSON LLM 工具,可从工作流调用,用于结构化任务。 | `@openclaw/llm-task`
内置于 OpenClaw | contracts: tools | +| [llm-task](/zh-CN/plugins/reference/llm-task) | 可从工作流调用的通用纯 JSON LLM 工具,用于结构化任务。 | `@openclaw/llm-task`
内置于 OpenClaw | contracts: tools | | [lmstudio](/zh-CN/plugins/reference/lmstudio) | 为 OpenClaw 添加 LM Studio 模型提供商支持。 | `@openclaw/lmstudio-provider`
内置于 OpenClaw | providers: lmstudio; contracts: memoryEmbeddingProviders | -| [lobster](/zh-CN/plugins/reference/lobster) | 带有可恢复审批的类型化工作流工具。 | `@openclaw/lobster`
ClawHub + npm | contracts: tools | -| [matrix](/zh-CN/plugins/reference/matrix) | 添加 Matrix 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/matrix`
ClawHub + npm | channels: matrix | -| [mattermost](/zh-CN/plugins/reference/mattermost) | 添加 Mattermost 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/mattermost`
ClawHub + npm | channels: mattermost | +| [lobster](/zh-CN/plugins/reference/lobster) | 带可恢复审批的类型化工作流工具。 | `@openclaw/lobster`
ClawHub + npm | contracts: tools | +| [matrix](/zh-CN/plugins/reference/matrix) | 添加用于发送和接收 OpenClaw 消息的 Matrix 渠道接入面。 | `@openclaw/matrix`
ClawHub + npm | channels: matrix | +| [mattermost](/zh-CN/plugins/reference/mattermost) | 添加用于发送和接收 OpenClaw 消息的 Mattermost 渠道接入面。 | `@openclaw/mattermost`
ClawHub + npm | channels: mattermost | | [memory-core](/zh-CN/plugins/reference/memory-core) | 添加记忆嵌入提供商支持。添加可由智能体调用的工具。 | `@openclaw/memory-core`
内置于 OpenClaw | contracts: memoryEmbeddingProviders, tools | | [memory-lancedb](/zh-CN/plugins/reference/memory-lancedb) | 添加可由智能体调用的工具。 | `@openclaw/memory-lancedb`
ClawHub + npm | contracts: tools | -| [memory-wiki](/zh-CN/plugins/reference/memory-wiki) | 为 OpenClaw 提供持久化 wiki 编译器和 Obsidian 友好的知识库。 | `@openclaw/memory-wiki`
内置于 OpenClaw | contracts: tools; skills | +| [memory-wiki](/zh-CN/plugins/reference/memory-wiki) | 面向 OpenClaw 的持久化 wiki 编译器和 Obsidian 友好的知识库。 | `@openclaw/memory-wiki`
内置于 OpenClaw | contracts: tools; skills | | [microsoft](/zh-CN/plugins/reference/microsoft) | 添加文本转语音提供商支持。 | `@openclaw/microsoft-speech`
内置于 OpenClaw | contracts: speechProviders | -| [microsoft-foundry](/zh-CN/plugins/reference/microsoft-foundry) | 为 OpenClaw 添加 Microsoft Foundry 模型提供商支持。 | `@openclaw/microsoft-foundry`
OpenClaw 内置 | providers: microsoft-foundry | -| [migrate-claude](/zh-CN/plugins/reference/migrate-claude) | 将 Claude Code 和 Claude Desktop 指令、MCP 服务器、Skills 和安全配置导入 OpenClaw。 | `@openclaw/migrate-claude`
OpenClaw 内置 | contracts: migrationProviders | -| [migrate-hermes](/zh-CN/plugins/reference/migrate-hermes) | 将 Hermes 配置、记忆、Skills 和受支持的凭证导入 OpenClaw。 | `@openclaw/migrate-hermes`
OpenClaw 内置 | contracts: migrationProviders | -| [minimax](/zh-CN/plugins/reference/minimax) | 为 OpenClaw 添加 MiniMax、MiniMax Portal 模型提供商支持。 | `@openclaw/minimax-provider`
OpenClaw 内置 | providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders | -| [mistral](/zh-CN/plugins/reference/mistral) | 为 OpenClaw 添加 Mistral 模型提供商支持。 | `@openclaw/mistral-provider`
OpenClaw 内置 | providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders | -| [moonshot](/zh-CN/plugins/reference/moonshot) | 为 OpenClaw 添加 Moonshot 模型提供商支持。 | `@openclaw/moonshot-provider`
OpenClaw 内置 | providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders | +| [microsoft-foundry](/zh-CN/plugins/reference/microsoft-foundry) | 向 OpenClaw 添加 Microsoft Foundry 模型提供商支持。 | `@openclaw/microsoft-foundry`
包含在 OpenClaw 中 | providers: microsoft-foundry | +| [migrate-claude](/zh-CN/plugins/reference/migrate-claude) | 将 Claude Code 和 Claude Desktop 指令、MCP 服务器、Skills 和安全配置导入 OpenClaw。 | `@openclaw/migrate-claude`
包含在 OpenClaw 中 | contracts: migrationProviders | +| [migrate-hermes](/zh-CN/plugins/reference/migrate-hermes) | 将 Hermes 配置、记忆、Skills 和受支持的凭证导入 OpenClaw。 | `@openclaw/migrate-hermes`
包含在 OpenClaw 中 | contracts: migrationProviders | +| [minimax](/zh-CN/plugins/reference/minimax) | 向 OpenClaw 添加 MiniMax、MiniMax Portal 模型提供商支持。 | `@openclaw/minimax-provider`
包含在 OpenClaw 中 | providers: minimax, minimax-portal; contracts: imageGenerationProviders, mediaUnderstandingProviders, musicGenerationProviders, speechProviders, videoGenerationProviders, webSearchProviders | +| [mistral](/zh-CN/plugins/reference/mistral) | 向 OpenClaw 添加 Mistral 模型提供商支持。 | `@openclaw/mistral-provider`
包含在 OpenClaw 中 | providers: mistral; contracts: mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders | +| [moonshot](/zh-CN/plugins/reference/moonshot) | 向 OpenClaw 添加 Moonshot 模型提供商支持。 | `@openclaw/moonshot-provider`
包含在 OpenClaw 中 | providers: moonshot; contracts: mediaUnderstandingProviders, webSearchProviders | | [msteams](/zh-CN/plugins/reference/msteams) | 添加 Microsoft Teams 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/msteams`
ClawHub + npm | channels: msteams | | [nextcloud-talk](/zh-CN/plugins/reference/nextcloud-talk) | 添加 Nextcloud Talk 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/nextcloud-talk`
ClawHub + npm | channels: nextcloud-talk | | [nostr](/zh-CN/plugins/reference/nostr) | 添加 Nostr 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/nostr`
ClawHub + npm | channels: nostr | -| [nvidia](/zh-CN/plugins/reference/nvidia) | 为 OpenClaw 添加 NVIDIA 模型提供商支持。 | `@openclaw/nvidia-provider`
OpenClaw 内置 | providers: nvidia | -| [ollama](/zh-CN/plugins/reference/ollama) | 为 OpenClaw 添加 Ollama 模型提供商支持。 | `@openclaw/ollama-provider`
OpenClaw 内置 | providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders | -| [open-prose](/zh-CN/plugins/reference/open-prose) | OpenProse VM skill 包,带有一个 /prose 斜杠命令。 | `@openclaw/open-prose`
OpenClaw 内置 | skills | -| [openai](/zh-CN/plugins/reference/openai) | 为 OpenClaw 添加 OpenAI、OpenAI Codex 模型提供商支持。 | `@openclaw/openai-provider`
OpenClaw 内置 | providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders | -| [opencode](/zh-CN/plugins/reference/opencode) | 为 OpenClaw 添加 OpenCode 模型提供商支持。 | `@openclaw/opencode-provider`
OpenClaw 内置 | providers: opencode; contracts: mediaUnderstandingProviders | -| [opencode-go](/zh-CN/plugins/reference/opencode-go) | 为 OpenClaw 添加 OpenCode Go 模型提供商支持。 | `@openclaw/opencode-go-provider`
OpenClaw 内置 | providers: opencode-go; contracts: mediaUnderstandingProviders | -| [openrouter](/zh-CN/plugins/reference/openrouter) | 为 OpenClaw 添加 OpenRouter 模型提供商支持。 | `@openclaw/openrouter-provider`
OpenClaw 内置 | providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders | -| [openshell](/zh-CN/plugins/reference/openshell) | 由 OpenShell 驱动的沙箱后端,提供镜像的本地工作区和基于 SSH 的命令执行。 | `@openclaw/openshell-sandbox`
OpenClaw 内置 | plugin | -| [perplexity](/zh-CN/plugins/reference/perplexity) | 添加 Web 搜索提供商支持。 | `@openclaw/perplexity-plugin`
OpenClaw 内置 | contracts: webSearchProviders | -| [qa-channel](/zh-CN/plugins/reference/qa-channel) | 添加 QA Channel 界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/qa-channel`
仅限源码检出 | channels: qa-channel | -| [qa-lab](/zh-CN/plugins/reference/qa-lab) | OpenClaw QA 实验室插件,带有私有调试器 UI 和场景运行器。 | `@openclaw/qa-lab`
仅限源码检出 | plugin | -| [qa-matrix](/zh-CN/plugins/reference/qa-matrix) | Matrix QA 传输运行器和底层基底。 | `@openclaw/qa-matrix`
仅源代码检出 | 插件 | -| [qianfan](/zh-CN/plugins/reference/qianfan) | 为 OpenClaw 添加 Qianfan 模型提供商支持。 | `@openclaw/qianfan-provider`
内置于 OpenClaw | 提供商:qianfan | -| [qqbot](/zh-CN/plugins/reference/qqbot) | 添加 QQ Bot 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/qqbot`
ClawHub + npm | 渠道:qqbot;契约:工具;Skills | -| [qwen](/zh-CN/plugins/reference/qwen) | 为 OpenClaw 添加 Qwen、Qwen Cloud、Model Studio、DashScope 模型提供商支持。 | `@openclaw/qwen-provider`
内置于 OpenClaw | 提供商:qwen、qwencloud、modelstudio、dashscope;契约:mediaUnderstandingProviders、videoGenerationProviders | -| [runway](/zh-CN/plugins/reference/runway) | 添加视频生成提供商支持。 | `@openclaw/runway-provider`
内置于 OpenClaw | 契约:videoGenerationProviders | -| [searxng](/zh-CN/plugins/reference/searxng) | 添加 Web 搜索提供商支持。 | `@openclaw/searxng-plugin`
内置于 OpenClaw | 契约:webSearchProviders | -| [senseaudio](/zh-CN/plugins/reference/senseaudio) | 添加媒体理解提供商支持。 | `@openclaw/senseaudio-provider`
内置于 OpenClaw | 契约:mediaUnderstandingProviders | -| [sglang](/zh-CN/plugins/reference/sglang) | 为 OpenClaw 添加 SGLang 模型提供商支持。 | `@openclaw/sglang-provider`
内置于 OpenClaw | 提供商:sglang | -| [signal](/zh-CN/plugins/reference/signal) | 添加 Signal 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/signal`
内置于 OpenClaw | 渠道:signal | -| [skill-workshop](/zh-CN/plugins/reference/skill-workshop) | 将可重复的工作流捕获为工作区 Skills,支持待审核、安全写入和技能提示词刷新。 | `@openclaw/skill-workshop`
内置于 OpenClaw | 契约:工具 | -| [slack](/zh-CN/plugins/reference/slack) | 添加 Slack 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/slack`
内置于 OpenClaw | 渠道:slack | -| [stepfun](/zh-CN/plugins/reference/stepfun) | 为 OpenClaw 添加 StepFun、StepFun Plan 模型提供商支持。 | `@openclaw/stepfun-provider`
内置于 OpenClaw | 提供商:stepfun、stepfun-plan | -| [synology-chat](/zh-CN/plugins/reference/synology-chat) | 添加 Synology Chat 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/synology-chat`
ClawHub + npm | 渠道:synology-chat | -| [synthetic](/zh-CN/plugins/reference/synthetic) | 为 OpenClaw 添加 Synthetic 模型提供商支持。 | `@openclaw/synthetic-provider`
内置于 OpenClaw | 提供商:synthetic | -| [tavily](/zh-CN/plugins/reference/tavily) | 添加智能体可调用的工具。添加 Web 搜索提供商支持。 | `@openclaw/tavily-plugin`
内置于 OpenClaw | 契约:工具、webSearchProviders;Skills | -| [telegram](/zh-CN/plugins/reference/telegram) | 添加 Telegram 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/telegram`
内置于 OpenClaw | 渠道:telegram | -| [tencent](/zh-CN/plugins/reference/tencent) | 为 OpenClaw 添加 Tencent TokenHub 模型提供商支持。 | `@openclaw/tencent-provider`
内置于 OpenClaw | 提供商:tencent-tokenhub | -| [tlon](/zh-CN/plugins/reference/tlon) | 添加 Tlon 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/tlon`
ClawHub + npm | 渠道:tlon;契约:工具;Skills | -| [together](/zh-CN/plugins/reference/together) | 为 OpenClaw 添加 Together 模型提供商支持。 | `@openclaw/together-provider`
内置于 OpenClaw | 提供商:together;契约:videoGenerationProviders | -| [tokenjuice](/zh-CN/plugins/reference/tokenjuice) | 使用 tokenjuice reducer 压缩 exec 和 bash 工具结果。 | `@openclaw/tokenjuice`
内置于 OpenClaw | 契约:agentToolResultMiddleware | +| [nvidia](/zh-CN/plugins/reference/nvidia) | 向 OpenClaw 添加 NVIDIA 模型提供商支持。 | `@openclaw/nvidia-provider`
包含在 OpenClaw 中 | providers: nvidia | +| [ollama](/zh-CN/plugins/reference/ollama) | 向 OpenClaw 添加 Ollama 模型提供商支持。 | `@openclaw/ollama-provider`
包含在 OpenClaw 中 | providers: ollama; contracts: memoryEmbeddingProviders, webSearchProviders | +| [open-prose](/zh-CN/plugins/reference/open-prose) | OpenProse VM Skill 包,带有 `/prose` 斜杠命令。 | `@openclaw/open-prose`
包含在 OpenClaw 中 | skills | +| [openai](/zh-CN/plugins/reference/openai) | 向 OpenClaw 添加 OpenAI、OpenAI Codex 模型提供商支持。 | `@openclaw/openai-provider`
包含在 OpenClaw 中 | providers: openai, openai-codex; contracts: imageGenerationProviders, mediaUnderstandingProviders, memoryEmbeddingProviders, realtimeTranscriptionProviders, realtimeVoiceProviders, speechProviders, videoGenerationProviders | +| [opencode](/zh-CN/plugins/reference/opencode) | 向 OpenClaw 添加 OpenCode 模型提供商支持。 | `@openclaw/opencode-provider`
包含在 OpenClaw 中 | providers: opencode; contracts: mediaUnderstandingProviders | +| [opencode-go](/zh-CN/plugins/reference/opencode-go) | 向 OpenClaw 添加 OpenCode Go 模型提供商支持。 | `@openclaw/opencode-go-provider`
包含在 OpenClaw 中 | providers: opencode-go; contracts: mediaUnderstandingProviders | +| [openrouter](/zh-CN/plugins/reference/openrouter) | 向 OpenClaw 添加 OpenRouter 模型提供商支持。 | `@openclaw/openrouter-provider`
包含在 OpenClaw 中 | providers: openrouter; contracts: imageGenerationProviders, mediaUnderstandingProviders, speechProviders, videoGenerationProviders | +| [openshell](/zh-CN/plugins/reference/openshell) | 由 OpenShell 驱动的沙箱后端,支持镜像本地工作区和基于 SSH 的命令执行。 | `@openclaw/openshell-sandbox`
包含在 OpenClaw 中 | plugin | +| [perplexity](/zh-CN/plugins/reference/perplexity) | 添加 Web 搜索提供商支持。 | `@openclaw/perplexity-plugin`
包含在 OpenClaw 中 | contracts: webSearchProviders | +| [qa-channel](/zh-CN/plugins/reference/qa-channel) | 添加 QA Channel 界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/qa-channel`
仅源代码检出 | channels: qa-channel | +| [qa-lab](/zh-CN/plugins/reference/qa-lab) | OpenClaw QA 实验室插件,带有私有调试器 UI 和场景运行器。 | `@openclaw/qa-lab`
仅源代码检出 | plugin | +| [qa-matrix](/zh-CN/plugins/reference/qa-matrix) | Matrix QA 传输运行器和基底。 | `@openclaw/qa-matrix`
仅限源码检出 | 插件 | +| [qianfan](/zh-CN/plugins/reference/qianfan) | 为 OpenClaw 添加千帆模型提供商支持。 | `@openclaw/qianfan-provider`
包含在 OpenClaw 中 | 提供商: qianfan | +| [qqbot](/zh-CN/plugins/reference/qqbot) | 添加 QQ Bot 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/qqbot`
ClawHub + npm | 渠道: qqbot; 契约: tools; Skills | +| [qwen](/zh-CN/plugins/reference/qwen) | 为 OpenClaw 添加 Qwen、Qwen Cloud、Model Studio、DashScope 模型提供商支持。 | `@openclaw/qwen-provider`
包含在 OpenClaw 中 | 提供商: qwen, qwencloud, modelstudio, dashscope; 契约: mediaUnderstandingProviders, videoGenerationProviders | +| [runway](/zh-CN/plugins/reference/runway) | 添加视频生成提供商支持。 | `@openclaw/runway-provider`
包含在 OpenClaw 中 | 契约: videoGenerationProviders | +| [searxng](/zh-CN/plugins/reference/searxng) | 添加 Web 搜索提供商支持。 | `@openclaw/searxng-plugin`
包含在 OpenClaw 中 | 契约: webSearchProviders | +| [senseaudio](/zh-CN/plugins/reference/senseaudio) | 添加媒体理解提供商支持。 | `@openclaw/senseaudio-provider`
包含在 OpenClaw 中 | 契约: mediaUnderstandingProviders | +| [sglang](/zh-CN/plugins/reference/sglang) | 为 OpenClaw 添加 SGLang 模型提供商支持。 | `@openclaw/sglang-provider`
包含在 OpenClaw 中 | 提供商: sglang | +| [signal](/zh-CN/plugins/reference/signal) | 添加 Signal 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/signal`
包含在 OpenClaw 中 | 渠道: signal | +| [skill-workshop](/zh-CN/plugins/reference/skill-workshop) | 将可重复工作流捕获为工作区 Skills,包含待处理评审、安全写入和 skill 提示词刷新。 | `@openclaw/skill-workshop`
包含在 OpenClaw 中 | 契约: tools | +| [slack](/zh-CN/plugins/reference/slack) | 添加 Slack 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/slack`
包含在 OpenClaw 中 | 渠道: slack | +| [stepfun](/zh-CN/plugins/reference/stepfun) | 为 OpenClaw 添加 StepFun、StepFun Plan 模型提供商支持。 | `@openclaw/stepfun-provider`
包含在 OpenClaw 中 | 提供商: stepfun, stepfun-plan | +| [synology-chat](/zh-CN/plugins/reference/synology-chat) | 添加 Synology Chat 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/synology-chat`
ClawHub + npm | 渠道: synology-chat | +| [synthetic](/zh-CN/plugins/reference/synthetic) | 为 OpenClaw 添加 Synthetic 模型提供商支持。 | `@openclaw/synthetic-provider`
包含在 OpenClaw 中 | 提供商: synthetic | +| [tavily](/zh-CN/plugins/reference/tavily) | 添加智能体可调用工具。添加 Web 搜索提供商支持。 | `@openclaw/tavily-plugin`
包含在 OpenClaw 中 | 契约: tools, webSearchProviders; Skills | +| [telegram](/zh-CN/plugins/reference/telegram) | 添加 Telegram 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/telegram`
包含在 OpenClaw 中 | 渠道: telegram | +| [tencent](/zh-CN/plugins/reference/tencent) | 为 OpenClaw 添加 Tencent TokenHub 模型提供商支持。 | `@openclaw/tencent-provider`
包含在 OpenClaw 中 | 提供商: tencent-tokenhub | +| [tlon](/zh-CN/plugins/reference/tlon) | 添加 Tlon 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/tlon`
ClawHub + npm | 渠道: tlon; 契约: tools; Skills | +| [together](/zh-CN/plugins/reference/together) | 为 OpenClaw 添加 Together 模型提供商支持。 | `@openclaw/together-provider`
包含在 OpenClaw 中 | 提供商: together; 契约: videoGenerationProviders | +| [tokenjuice](/zh-CN/plugins/reference/tokenjuice) | 使用 tokenjuice reducers 压缩 exec 和 bash 工具结果。 | `@openclaw/tokenjuice`
包含在 OpenClaw 中 | 契约: agentToolResultMiddleware | | [tts-local-cli](/zh-CN/plugins/reference/tts-local-cli) | 添加文本转语音提供商支持。 | `@openclaw/tts-local-cli`
包含在 OpenClaw 中 | contracts: speechProviders | | [twitch](/zh-CN/plugins/reference/twitch) | 添加 Twitch 渠道界面,用于发送和接收 OpenClaw 消息。 | `@openclaw/twitch`
ClawHub + npm | channels: twitch | | [venice](/zh-CN/plugins/reference/venice) | 为 OpenClaw 添加 Venice 模型提供商支持。 | `@openclaw/venice-provider`
包含在 OpenClaw 中 | providers: venice | diff --git a/docs/zh-CN/plugins/reference/acpx.md b/docs/zh-CN/plugins/reference/acpx.md index 9e3f82dbe..d940f4cb9 100644 --- a/docs/zh-CN/plugins/reference/acpx.md +++ b/docs/zh-CN/plugins/reference/acpx.md @@ -1,27 +1,27 @@ --- read_when: - 你正在安装、配置或审计 acpx 插件 -summary: 具备插件自有会话和传输管理的嵌入式 ACP 运行时后端。 +summary: 内嵌 ACP 运行时后端,由插件负责会话和传输管理。 title: ACPx 插件 x-i18n: - generated_at: "2026-05-02T15:11:47Z" + generated_at: "2026-05-02T21:41:24Z" model: gpt-5.5 provider: openai - source_hash: 254a6fc1bc68cb18c7bdd9c10d5c8ff370c80b1c58cc082be9b206a8a44e1013 + source_hash: 1a0452131c85969d16cd1ebb603bd2369be8cd929841b6756165f64ede4109a4 source_path: plugins/reference/acpx.md workflow: 16 --- # ACPx 插件 -内嵌 ACP 运行时后端,带有插件自有的会话和传输管理。 +内嵌 ACP 运行时后端,具备插件拥有的会话和传输管理。 ## 分发 -- 包:`@openclaw/acpx` -- 安装路径:ClawHub + npm +- 软件包:`@openclaw/acpx` +- 安装路径:包含在 OpenClaw 中 -## 接口 +## 暴露面 Skills diff --git a/docs/zh-CN/plugins/reference/googlechat.md b/docs/zh-CN/plugins/reference/googlechat.md index 02ed84164..6dbeb747f 100644 --- a/docs/zh-CN/plugins/reference/googlechat.md +++ b/docs/zh-CN/plugins/reference/googlechat.md @@ -1,25 +1,25 @@ --- read_when: - - 你正在安装、配置或审计 googlechat 插件 -summary: 新增 Google Chat 渠道支持,用于发送和接收 OpenClaw 消息。 + - 你正在安装、配置或审核 googlechat 插件 +summary: 新增 Google Chat 渠道能力,用于发送和接收 OpenClaw 消息。 title: Google Chat 插件 x-i18n: - generated_at: "2026-05-02T15:14:35Z" + generated_at: "2026-05-02T21:41:29Z" model: gpt-5.5 provider: openai - source_hash: 5806bfb6c5a21bfb83bccd20a998795c00a8ad69af69649aee52db72ae7f6cc4 + source_hash: 793341b8a6f977521b102ce8b53db0921d2445170335ccf92166fa638cc8b367 source_path: plugins/reference/googlechat.md workflow: 16 --- # Google Chat 插件 -添加用于发送和接收 OpenClaw 消息的 Google Chat 渠道界面。 +添加 Google Chat 渠道界面,用于发送和接收 OpenClaw 消息。 ## 分发 -- 包:`@openclaw/googlechat` -- 安装路径:ClawHub + npm +- 软件包:`@openclaw/googlechat` +- 安装路径:包含在 OpenClaw 中 ## 界面 diff --git a/docs/zh-CN/plugins/reference/line.md b/docs/zh-CN/plugins/reference/line.md index a9f4a5bef..c76b61bea 100644 --- a/docs/zh-CN/plugins/reference/line.md +++ b/docs/zh-CN/plugins/reference/line.md @@ -1,27 +1,27 @@ --- read_when: - - 你正在安装、配置或审核 line 插件 -summary: 添加用于发送和接收 OpenClaw 消息的 LINE 渠道功能面。 + - 你正在安装、配置或审计 Line 插件 +summary: 新增 LINE 渠道功能面,用于发送和接收 OpenClaw 消息。 title: LINE 插件 x-i18n: - generated_at: "2026-05-02T15:15:04Z" + generated_at: "2026-05-02T21:41:31Z" model: gpt-5.5 provider: openai - source_hash: 469a8781af08abd50a475fe58e4ff4e93b592d4a412f17b01d34640422e0cc6f + source_hash: d7c00de98a476429a479d1e29a53751924e88fe8f2d01aa887d21ee79772c84f source_path: plugins/reference/line.md workflow: 16 --- # LINE 插件 -添加用于发送和接收 OpenClaw 消息的 LINE 渠道表面。 +添加 LINE 渠道界面,用于发送和接收 OpenClaw 消息。 ## 分发 - 包:`@openclaw/line` -- 安装路径:ClawHub + npm +- 安装方式:包含在 OpenClaw 中 -## 表面 +## 界面 channels: line diff --git a/docs/zh-CN/plugins/sdk-testing.md b/docs/zh-CN/plugins/sdk-testing.md index 32a96ee07..4ac565f8b 100644 --- a/docs/zh-CN/plugins/sdk-testing.md +++ b/docs/zh-CN/plugins/sdk-testing.md @@ -1,37 +1,37 @@ --- read_when: - - 你正在为一个插件编写测试 - - 你需要来自插件 SDK 的测试工具 + - 你正在为插件编写测试 + - 你需要插件 SDK 中的测试工具 - 你想了解内置插件的契约测试 sidebarTitle: Testing -summary: OpenClaw 插件的测试工具与模式 +summary: OpenClaw 插件的测试工具和模式 title: 插件测试 x-i18n: - generated_at: "2026-04-28T02:58:32Z" - model: gpt-5.4 + generated_at: "2026-05-02T21:41:36Z" + model: gpt-5.5 provider: openai - source_hash: 7edf81e7662784356fcb0f481dd3fcdde05cc59da2a6c1b38eae1008b3ead96c + source_hash: 67092d71302d566ee9ed3f3f1e32b5aa6f4eabf522a9656ad13cad812550f1e8 source_path: plugins/sdk-testing.md - workflow: 15 + workflow: 16 --- -OpenClaw 插件的测试工具、模式和 lint 强制规则参考。 +OpenClaw 插件的测试实用工具、模式和 lint 强制规则参考。 - **在找测试示例?** 操作指南中包含完整的测试示例: + **在找测试示例?** 操作指南包含完整的测试示例: [渠道插件测试](/zh-CN/plugins/sdk-channel-plugins#step-6-test) 和 [提供商插件测试](/zh-CN/plugins/sdk-provider-plugins#step-6-test)。 -## 测试工具 +## 测试实用工具 -**插件 API mock 导入:** `openclaw/plugin-sdk/plugin-test-api` +**插件 API 模拟导入:** `openclaw/plugin-sdk/plugin-test-api` **智能体运行时契约导入:** `openclaw/plugin-sdk/agent-runtime-test-contracts` **渠道契约导入:** `openclaw/plugin-sdk/channel-contract-testing` -**渠道测试辅助导入:** `openclaw/plugin-sdk/channel-test-helpers` +**渠道测试辅助工具导入:** `openclaw/plugin-sdk/channel-test-helpers` **渠道目标测试导入:** `openclaw/plugin-sdk/channel-target-testing` @@ -41,19 +41,18 @@ OpenClaw 插件的测试工具、模式和 lint 强制规则参考。 **提供商契约导入:** `openclaw/plugin-sdk/provider-test-contracts` -**提供商 HTTP mock 导入:** `openclaw/plugin-sdk/provider-http-test-mocks` +**提供商 HTTP 模拟导入:** `openclaw/plugin-sdk/provider-http-test-mocks` **环境/网络测试导入:** `openclaw/plugin-sdk/test-env` **通用夹具导入:** `openclaw/plugin-sdk/test-fixtures` -**Node 内置模块 mock 导入:** `openclaw/plugin-sdk/test-node-mocks` +**Node 内置模块模拟导入:** `openclaw/plugin-sdk/test-node-mocks` -为新的插件测试,优先使用下面这些更聚焦的子路径。宽泛的 -`openclaw/plugin-sdk/testing` barrel 仅用于兼容旧版本。 -仓库防护规则会拒绝新增对 `plugin-sdk/testing` 和 -`plugin-sdk/test-utils` 的真实导入;这些名称仅保留为已弃用的兼容性 -接口,用于外部插件和兼容性记录测试。 +新的插件测试请优先使用下面这些聚焦的子路径。宽泛的 +`openclaw/plugin-sdk/testing` barrel 仅用于旧版兼容。 +仓库防护规则会拒绝从 `plugin-sdk/testing` 和 +`plugin-sdk/test-utils` 新增真实导入;这些名称仅保留为外部插件和兼容性记录测试的已弃用兼容接口。 ```typescript import { @@ -82,84 +81,86 @@ import { mockNodeBuiltinModule } from "openclaw/plugin-sdk/test-node-mocks"; | 导出项 | 用途 | | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| `createTestPluginApi` | 为直接注册单元测试构建最小化的插件 API mock。从 `plugin-sdk/plugin-test-api` 导入 | -| `AUTH_PROFILE_RUNTIME_CONTRACT` | 用于原生智能体运行时适配器的共享 auth-profile 契约夹具。从 `plugin-sdk/agent-runtime-test-contracts` 导入 | -| `DELIVERY_NO_REPLY_RUNTIME_CONTRACT` | 用于原生智能体运行时适配器的共享投递抑制契约夹具。从 `plugin-sdk/agent-runtime-test-contracts` 导入 | -| `OUTCOME_FALLBACK_RUNTIME_CONTRACT` | 用于原生智能体运行时适配器的共享回退分类契约夹具。从 `plugin-sdk/agent-runtime-test-contracts` 导入 | -| `createParameterFreeTool` | 为原生运行时契约测试构建动态工具 schema 夹具。从 `plugin-sdk/agent-runtime-test-contracts` 导入 | -| `expectChannelInboundContextContract` | 断言渠道入站上下文结构。从 `plugin-sdk/channel-contract-testing` 导入 | -| `installChannelOutboundPayloadContractSuite` | 安装渠道出站负载契约测试套件。从 `plugin-sdk/channel-contract-testing` 导入 | -| `createStartAccountContext` | 构建渠道账户生命周期上下文。从 `plugin-sdk/channel-test-helpers` 导入 | -| `installChannelActionsContractSuite` | 安装通用渠道消息操作契约测试套件。从 `plugin-sdk/channel-test-helpers` 导入 | -| `installChannelSetupContractSuite` | 安装通用渠道设置契约测试套件。从 `plugin-sdk/channel-test-helpers` 导入 | -| `installChannelStatusContractSuite` | 安装通用渠道 Status 契约测试套件。从 `plugin-sdk/channel-test-helpers` 导入 | -| `expectDirectoryIds` | 从目录列表函数中断言渠道目录 ID。从 `plugin-sdk/channel-test-helpers` 导入 | -| `assertBundledChannelEntries` | 断言内置渠道入口点暴露了预期的公开契约。从 `plugin-sdk/channel-test-helpers` 导入 | -| `formatEnvelopeTimestamp` | 格式化确定性的 envelope 时间戳。从 `plugin-sdk/channel-test-helpers` 导入 | +| `createTestPluginApi` | 为直接注册单元测试构建最小插件 API 模拟对象。从 `plugin-sdk/plugin-test-api` 导入 | +| `AUTH_PROFILE_RUNTIME_CONTRACT` | 面向原生智能体运行时适配器的共享鉴权配置文件契约夹具。从 `plugin-sdk/agent-runtime-test-contracts` 导入 | +| `DELIVERY_NO_REPLY_RUNTIME_CONTRACT` | 面向原生智能体运行时适配器的共享投递抑制契约夹具。从 `plugin-sdk/agent-runtime-test-contracts` 导入 | +| `OUTCOME_FALLBACK_RUNTIME_CONTRACT` | 面向原生智能体运行时适配器的共享回退分类契约夹具。从 `plugin-sdk/agent-runtime-test-contracts` 导入 | +| `createParameterFreeTool` | 为原生运行时契约测试构建动态工具 schema 夹具。从 `plugin-sdk/agent-runtime-test-contracts` 导入 | +| `expectChannelInboundContextContract` | 断言渠道入站上下文形状。从 `plugin-sdk/channel-contract-testing` 导入 | +| `installChannelOutboundPayloadContractSuite` | 安装渠道出站载荷契约用例。从 `plugin-sdk/channel-contract-testing` 导入 | +| `createStartAccountContext` | 构建渠道账号生命周期上下文。从 `plugin-sdk/channel-test-helpers` 导入 | +| `installChannelActionsContractSuite` | 安装通用渠道消息操作契约用例。从 `plugin-sdk/channel-test-helpers` 导入 | +| `installChannelSetupContractSuite` | 安装通用渠道设置契约用例。从 `plugin-sdk/channel-test-helpers` 导入 | +| `installChannelStatusContractSuite` | 安装通用渠道 Status 契约用例。从 `plugin-sdk/channel-test-helpers` 导入 | +| `expectDirectoryIds` | 断言来自目录列表函数的渠道目录 ID。从 `plugin-sdk/channel-test-helpers` 导入 | +| `assertBundledChannelEntries` | 断言内置渠道入口点暴露预期的公共契约。从 `plugin-sdk/channel-test-helpers` 导入 | +| `formatEnvelopeTimestamp` | 格式化确定性的信封时间戳。从 `plugin-sdk/channel-test-helpers` 导入 | | `expectPairingReplyText` | 断言渠道配对回复文本并提取其中的代码。从 `plugin-sdk/channel-test-helpers` 导入 | | `describePluginRegistrationContract` | 安装插件注册契约检查。从 `plugin-sdk/plugin-test-contracts` 导入 | | `registerSingleProviderPlugin` | 在加载器冒烟测试中注册一个提供商插件。从 `plugin-sdk/plugin-test-runtime` 导入 | -| `registerProviderPlugin` | 捕获单个插件中的所有提供商类型。从 `plugin-sdk/plugin-test-runtime` 导入 | +| `registerProviderPlugin` | 从一个插件捕获所有提供商类型。从 `plugin-sdk/plugin-test-runtime` 导入 | | `registerProviderPlugins` | 捕获多个插件中的提供商注册。从 `plugin-sdk/plugin-test-runtime` 导入 | -| `requireRegisteredProvider` | 断言某个提供商集合包含指定 id。从 `plugin-sdk/plugin-test-runtime` 导入 | -| `createRuntimeEnv` | 构建一个带 mock 的 CLI/插件运行时环境。从 `plugin-sdk/plugin-test-runtime` 导入 | -| `createPluginSetupWizardStatus` | 为渠道插件构建设置向导 Status 辅助工具。从 `plugin-sdk/plugin-test-runtime` 导入 | -| `describeOpenAIProviderRuntimeContract` | 安装提供商家族运行时契约检查。从 `plugin-sdk/provider-test-contracts` 导入 | -| `expectPassthroughReplayPolicy` | 断言提供商重放策略会透传由提供商自有的工具和元数据。从 `plugin-sdk/provider-test-contracts` 导入 | -| `runRealtimeSttLiveTest` | 使用共享音频夹具运行实时 STT 提供商的在线测试。从 `plugin-sdk/provider-test-contracts` 导入 | -| `normalizeTranscriptForMatch` | 在模糊断言前规范化在线转录输出。从 `plugin-sdk/provider-test-contracts` 导入 | -| `expectExplicitVideoGenerationCapabilities` | 断言视频提供商声明了显式生成模式能力。从 `plugin-sdk/provider-test-contracts` 导入 | -| `expectExplicitMusicGenerationCapabilities` | 断言音乐提供商声明了显式生成/编辑能力。从 `plugin-sdk/provider-test-contracts` 导入 | -| `mockSuccessfulDashscopeVideoTask` | 安装一个成功的 DashScope 兼容视频任务响应。从 `plugin-sdk/provider-test-contracts` 导入 | -| `getProviderHttpMocks` | 访问按需启用的提供商 HTTP/auth Vitest mocks。从 `plugin-sdk/provider-http-test-mocks` 导入 | -| `installProviderHttpMockCleanup` | 在每个测试后重置提供商 HTTP/auth mocks。从 `plugin-sdk/provider-http-test-mocks` 导入 | -| `installCommonResolveTargetErrorCases` | 用于目标解析错误处理的共享测试用例。从 `plugin-sdk/channel-target-testing` 导入 | -| `shouldAckReaction` | 检查渠道是否应添加 ack reaction。从 `plugin-sdk/channel-feedback` 导入 | -| `removeAckReactionAfterReply` | 在回复送达后移除 ack reaction。从 `plugin-sdk/channel-feedback` 导入 | -| `createTestRegistry` | 构建渠道插件注册表夹具。从 `plugin-sdk/plugin-test-runtime` 或 `plugin-sdk/channel-test-helpers` 导入 | -| `createEmptyPluginRegistry` | 构建空的插件注册表夹具。从 `plugin-sdk/plugin-test-runtime` 或 `plugin-sdk/channel-test-helpers` 导入 | -| `setActivePluginRegistry` | 为插件运行时测试安装注册表夹具。从 `plugin-sdk/plugin-test-runtime` 或 `plugin-sdk/channel-test-helpers` 导入 | -| `createRequestCaptureJsonFetch` | 在媒体辅助测试中捕获 JSON fetch 请求。从 `plugin-sdk/test-env` 导入 | -| `withServer` | 在可销毁的本地 HTTP 服务器上运行测试。从 `plugin-sdk/test-env` 导入 | -| `createMockIncomingRequest` | 构建最小化的入站 HTTP 请求对象。从 `plugin-sdk/test-env` 导入 | -| `withFetchPreconnect` | 在安装了预连接钩子的情况下运行 fetch 测试。从 `plugin-sdk/test-env` 导入 | -| `withEnv` / `withEnvAsync` | 临时修改环境变量。从 `plugin-sdk/test-env` 导入 | +| `requireRegisteredProvider` | 断言提供商集合包含某个 ID。从 `plugin-sdk/plugin-test-runtime` 导入 | +| `createRuntimeEnv` | 构建模拟的 CLI/插件运行时环境。从 `plugin-sdk/plugin-test-runtime` 导入 | +| `createPluginSetupWizardStatus` | 为渠道插件构建设置状态辅助工具。从 `plugin-sdk/plugin-test-runtime` 导入 | +| `describeOpenAIProviderRuntimeContract` | 安装提供商系列运行时契约检查。从 `plugin-sdk/provider-test-contracts` 导入 | +| `expectPassthroughReplayPolicy` | 断言提供商重放策略会透传提供商自有工具和元数据。从 `plugin-sdk/provider-test-contracts` 导入 | +| `runRealtimeSttLiveTest` | 使用共享音频夹具运行实时 STT 提供商 live 测试。从 `plugin-sdk/provider-test-contracts` 导入 | +| `normalizeTranscriptForMatch` | 在模糊断言前规范化 live 转录输出。从 `plugin-sdk/provider-test-contracts` 导入 | +| `expectExplicitVideoGenerationCapabilities` | 断言视频提供商声明显式生成模式能力。从 `plugin-sdk/provider-test-contracts` 导入 | +| `expectExplicitMusicGenerationCapabilities` | 断言音乐提供商声明显式生成/编辑能力。从 `plugin-sdk/provider-test-contracts` 导入 | +| `mockSuccessfulDashscopeVideoTask` | 安装成功的 DashScope 兼容视频任务响应。从 `plugin-sdk/provider-test-contracts` 导入 | +| `getProviderHttpMocks` | 访问可选启用的提供商 HTTP/鉴权 Vitest 模拟。从 `plugin-sdk/provider-http-test-mocks` 导入 | +| `installProviderHttpMockCleanup` | 在每个测试后重置提供商 HTTP/鉴权模拟。从 `plugin-sdk/provider-http-test-mocks` 导入 | +| `installCommonResolveTargetErrorCases` | 面向目标解析错误处理的共享测试用例。从 `plugin-sdk/channel-target-testing` 导入 | +| `shouldAckReaction` | 检查渠道是否应添加确认回应。从 `plugin-sdk/channel-feedback` 导入 | +| `removeAckReactionAfterReply` | 在回复投递后移除确认回应。从 `plugin-sdk/channel-feedback` 导入 | +| `createTestRegistry` | 构建渠道插件注册表夹具。从 `plugin-sdk/plugin-test-runtime` 或 `plugin-sdk/channel-test-helpers` 导入 | +| `createEmptyPluginRegistry` | 构建空插件注册表夹具。从 `plugin-sdk/plugin-test-runtime` 或 `plugin-sdk/channel-test-helpers` 导入 | +| `setActivePluginRegistry` | 为插件运行时测试安装注册表夹具。从 `plugin-sdk/plugin-test-runtime` 或 `plugin-sdk/channel-test-helpers` 导入 | +| `createRequestCaptureJsonFetch` | 在媒体辅助工具测试中捕获 JSON fetch 请求。从 `plugin-sdk/test-env` 导入 | +| `withServer` | 针对一次性本地 HTTP 服务器运行测试。从 `plugin-sdk/test-env` 导入 | +| `createMockIncomingRequest` | 构建最小传入 HTTP 请求对象。从 `plugin-sdk/test-env` 导入 | +| `withFetchPreconnect` | 在已安装预连接钩子的情况下运行 fetch 测试。从 `plugin-sdk/test-env` 导入 | +| `withEnv` / `withEnvAsync` | 临时修补环境变量。从 `plugin-sdk/test-env` 导入 | | `createTempHomeEnv` / `withTempHome` / `withTempDir` | 创建隔离的文件系统测试夹具。从 `plugin-sdk/test-env` 导入 | -| `createMockServerResponse` | 创建最小化的 HTTP 服务器响应 mock。从 `plugin-sdk/test-env` 导入 | +| `createMockServerResponse` | 创建最小 HTTP 服务器响应模拟。从 `plugin-sdk/test-env` 导入 | | `createCliRuntimeCapture` | 在测试中捕获 CLI 运行时输出。从 `plugin-sdk/test-fixtures` 导入 | | `importFreshModule` | 使用新的查询令牌导入 ESM 模块以绕过模块缓存。从 `plugin-sdk/test-fixtures` 导入 | | `bundledPluginRoot` / `bundledPluginFile` | 解析内置插件源码或 dist 夹具路径。从 `plugin-sdk/test-fixtures` 导入 | -| `mockNodeBuiltinModule` | 安装精细化的 Node 内置模块 Vitest mocks。从 `plugin-sdk/test-node-mocks` 导入 | +| `mockNodeBuiltinModule` | 安装窄作用域的 Node 内置 Vitest 模拟。从 `plugin-sdk/test-node-mocks` 导入 | | `createSandboxTestContext` | 构建沙箱测试上下文。从 `plugin-sdk/test-fixtures` 导入 | -| `writeSkill` | 写入 Skills 夹具。从 `plugin-sdk/test-fixtures` 导入 | +| `writeSkill` | 写入 skill 夹具。从 `plugin-sdk/test-fixtures` 导入 | | `makeAgentAssistantMessage` | 构建智能体转录消息夹具。从 `plugin-sdk/test-fixtures` 导入 | | `peekSystemEvents` / `resetSystemEventsForTest` | 检查并重置系统事件夹具。从 `plugin-sdk/test-fixtures` 导入 | -| `sanitizeTerminalText` | 清理终端输出以便断言。从 `plugin-sdk/test-fixtures` 导入 | -| `countLines` / `hasBalancedFences` | 断言分块输出结构。从 `plugin-sdk/test-fixtures` 导入 | +| `sanitizeTerminalText` | 清理终端输出以用于断言。从 `plugin-sdk/test-fixtures` 导入 | +| `countLines` / `hasBalancedFences` | 断言分块输出形状。从 `plugin-sdk/test-fixtures` 导入 | | `runProviderCatalog` | 使用测试依赖执行提供商目录钩子 | | `resolveProviderWizardOptions` | 在契约测试中解析提供商设置向导选项 | | `resolveProviderModelPickerEntries` | 在契约测试中解析提供商模型选择器条目 | -| `buildProviderPluginMethodChoice` | 为断言构建提供商向导选项 ID | +| `buildProviderPluginMethodChoice` | 构建用于断言的提供商向导选项 ID | | `setProviderWizardProvidersResolverForTest` | 为隔离测试注入提供商向导提供商 | -| `createProviderUsageFetch` | 构建提供商用量获取夹具 | -| `useFrozenTime` / `useRealTime` | 为时间敏感型测试冻结并恢复定时器。从 `plugin-sdk/test-env` 导入 | -| `createTestWizardPrompter` | 构建带 mock 的设置向导提示器 | -| `createRuntimeTaskFlow` | 创建隔离的运行时任务流状态 | -| `typedCases` | 为表驱动测试保留字面量类型。从 `plugin-sdk/test-fixtures` 导入 | +| `createProviderUsageFetch` | 构建提供商使用情况获取测试夹具 | +| `useFrozenTime` / `useRealTime` | 冻结并恢复时间敏感测试的计时器。从 `plugin-sdk/test-env` 导入 | +| `createTestWizardPrompter` | 构建模拟的设置向导提示器 | +| `createRuntimeTaskFlow` | 创建隔离的运行时任务流状态 | +| `typedCases` | 保留表驱动测试的字面量类型。从 `plugin-sdk/test-fixtures` 导入 | -内置插件契约测试套件也会使用 SDK 测试子路径中的仅测试用注册表、manifest、公共产物和运行时夹具辅助工具。依赖内置 OpenClaw 清单的仅核心测试套件应继续放在 `src/plugins/contracts` 下。 -新的扩展测试应放在有文档说明的聚焦 SDK 子路径上,例如 +内置插件契约套件还会使用 SDK 测试子路径,用于仅测试的 +注册表、清单、公开构件和运行时 fixture 辅助工具。仅核心的 +套件如果依赖内置 OpenClaw 清单,则保留在 `src/plugins/contracts` 下。 +新的扩展测试应放在有文档说明且聚焦的 SDK 子路径上,例如 `plugin-sdk/plugin-test-api`、`plugin-sdk/channel-contract-testing`、 `plugin-sdk/agent-runtime-test-contracts`、`plugin-sdk/channel-test-helpers`、 `plugin-sdk/plugin-test-contracts`、`plugin-sdk/plugin-test-runtime`、 `plugin-sdk/provider-test-contracts`、`plugin-sdk/provider-http-test-mocks`、 `plugin-sdk/test-env` 或 `plugin-sdk/test-fixtures`,而不是直接导入宽泛的 -`plugin-sdk/testing` 兼容性 barrel、仓库中的 `src/**` 文件,或仓库中的 -`test/helpers/*` 桥接文件。 +`plugin-sdk/testing` 兼容 barrel、仓库 `src/**` 文件或仓库 +`test/helpers/*` 桥接。 ### 类型 -聚焦的测试子路径也会重新导出在测试文件中有用的类型: +聚焦的测试子路径也会重新导出测试文件中有用的类型: ```typescript import type { @@ -198,19 +199,20 @@ describe("my-channel target resolution", () => { ### 测试注册契约 -将手写的 `api` mock 传给 `register(api)` 的单元测试,并不会覆盖 -OpenClaw 加载器的接收门禁。对于你的插件依赖的每个注册接口,至少添加一个由加载器驱动的冒烟测试,尤其是 hooks 和 memory 这类独占能力。 +将手写的 `api` mock 传给 `register(api)` 的单元测试不会执行 +OpenClaw 的加载器接收门禁。针对你的插件所依赖的每个注册表面,至少添加一个由加载器支撑的冒烟测试,尤其是钩子和 +内存等独占能力。 -真实加载器会在缺少必需元数据,或插件调用了其并不拥有的能力 API 时使插件注册失败。例如, -`api.registerHook(...)` 需要一个 hook 名称,而 -`api.registerMemoryCapability(...)` 则要求插件 manifest 或导出的入口声明 -`kind: "memory"`。 +当缺少必需元数据,或插件调用了它不拥有的能力 API 时,真实加载器会让插件注册失败。例如, +`api.registerHook(...)` 需要钩子名称,而 +`api.registerMemoryCapability(...)` 要求插件清单或导出的 +入口声明 `kind: "memory"`。 ### 测试运行时配置访问 -在测试内置渠道插件时,优先使用来自 `openclaw/plugin-sdk/channel-test-helpers` -的共享插件运行时 mock。它已弃用的 `runtime.config.loadConfig()` 和 -`runtime.config.writeConfigFile(...)` mock 默认会抛错,因此测试可以捕获对兼容性 API 的新增使用。只有当测试明确覆盖旧版兼容行为时,才应重写这些 mocks。 +测试内置渠道插件时,优先使用来自 `openclaw/plugin-sdk/channel-test-helpers` +的共享插件运行时 mock。其已弃用的 `runtime.config.loadConfig()` 和 +`runtime.config.writeConfigFile(...)` mock 默认会抛错,以便测试捕获兼容 API 的新用法。只有当测试明确覆盖旧版兼容行为时,才覆盖这些 mock。 ### 对渠道插件进行单元测试 @@ -278,7 +280,7 @@ describe("my-provider plugin", () => { ### Mock 插件运行时 -对于使用 `createPluginRuntimeStore` 的代码,在测试中应 mock 运行时: +对于使用 `createPluginRuntimeStore` 的代码,请在测试中 mock 运行时: ```typescript import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store"; @@ -311,7 +313,7 @@ store.clearRuntime(); ### 使用每实例 stub 进行测试 -优先使用每个实例单独的 stub,而不是修改原型: +优先使用每实例 stub,而不是修改原型: ```typescript // Preferred: per-instance stub @@ -324,7 +326,7 @@ client.sendMessage = vi.fn().mockResolvedValue({ id: "msg-1" }); ## 契约测试(仓库内插件) -内置插件带有用于验证注册归属的契约测试: +内置插件有契约测试,用于验证注册所有权: ```bash pnpm test -- src/plugins/contracts/ @@ -334,12 +336,12 @@ pnpm test -- src/plugins/contracts/ - 哪些插件注册了哪些提供商 - 哪些插件注册了哪些语音提供商 -- 注册结构是否正确 -- 是否符合运行时契约 +- 注册形状正确性 +- 运行时契约合规性 -### 运行限定范围测试 +### 运行限定范围的测试 -针对某个特定插件: +针对特定插件: ```bash pnpm test -- /my-channel/ @@ -349,23 +351,23 @@ pnpm test -- /my-channel/ ```bash pnpm test -- src/plugins/contracts/shape.contract.test.ts -pnpm test -- src/plugins/contracts/auth.contract.test.ts -pnpm test -- src/plugins/contracts/runtime.contract.test.ts +pnpm test -- src/plugins/contracts/auth-choice.contract.test.ts +pnpm test -- src/plugins/contracts/runtime-seams.contract.test.ts ``` -## lint 强制规则(仓库内插件) +## Lint 强制检查(仓库内插件) -对于仓库内插件,`pnpm check` 会强制执行三条规则: +`pnpm check` 会对仓库内插件强制执行三条规则: -1. **禁止整体式根导入** —— 会拒绝 `openclaw/plugin-sdk` 根 barrel -2. **禁止直接导入 `src/`** —— 插件不能直接导入 `../../src/` -3. **禁止自导入** —— 插件不能导入它们自己的 `plugin-sdk/` 子路径 +1. **禁止单体根导入** -- 拒绝 `openclaw/plugin-sdk` 根 barrel +2. **禁止直接 `src/` 导入** -- 插件不能直接导入 `../../src/` +3. **禁止自导入** -- 插件不能导入自己的 `plugin-sdk/` 子路径 -外部插件不受这些 lint 规则约束,但仍建议遵循相同模式。 +外部插件不受这些 lint 规则约束,但建议遵循相同模式。 ## 测试配置 -OpenClaw 使用带有 V8 覆盖率阈值的 Vitest。对于插件测试: +OpenClaw 使用 Vitest 和 V8 覆盖率阈值。对于插件测试: ```bash # Run all tests @@ -381,7 +383,7 @@ pnpm test -- /my-channel/ -t "resolves account" pnpm test:coverage ``` -如果本地运行导致内存压力: +如果本地运行造成内存压力: ```bash OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test diff --git a/docs/zh-CN/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md b/docs/zh-CN/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md index 9663c6587..81754d0ad 100644 --- a/docs/zh-CN/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md +++ b/docs/zh-CN/superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md @@ -1,71 +1,71 @@ --- x-i18n: - generated_at: "2026-04-25T01:40:01Z" - model: gpt-5.4 + generated_at: "2026-05-02T21:41:05Z" + model: gpt-5.5 provider: openai - source_hash: cccaaa1b3e472279b7548ad5af5d50162db9e99a731e06be796de64ee9f8c8d8 + source_hash: d9f2b5783c5762ebe7b5db108a89692e653c515138110b4fa9d23663e2ccbbd5 source_path: superpowers/specs/2026-04-22-tweakcn-custom-theme-import-design.md - workflow: 15 + workflow: 16 --- # Tweakcn 自定义主题导入设计 -状态:已于 2026-04-22 在终端中批准 +Status:已于 2026-04-22 在终端批准 ## 摘要 -添加一个且仅一个浏览器本地的自定义 Control UI 主题槽位,可通过 tweakcn 分享链接导入。现有内置主题族仍为 `claw`、`knot` 和 `dash`。新的 `custom` 族表现得像一个普通的 OpenClaw 主题族,并且当导入的 tweakcn 负载同时包含 light 和 dark 两套 token 时,支持 `light`、`dark` 和 `system` 模式。 +添加正好一个浏览器本地的自定义 Control UI 主题槽,可从 tweakcn 分享链接导入。现有内置主题系列仍为 `claw`、`knot` 和 `dash`。新的 `custom` 系列表现得像普通的 OpenClaw 主题系列,并且在导入的 tweakcn 载荷包含明暗两套 token 集时,支持 `light`、`dark` 和 `system` 模式。 -导入的主题仅存储在当前浏览器配置文件中,与其他 Control UI 设置一起保存。它不会写入 Gateway 网关配置,也不会在设备或浏览器之间同步。 +导入的主题仅与其余 Control UI 设置一起存储在当前浏览器配置文件中。它不会写入 Gateway 网关配置,也不会跨设备或浏览器同步。 ## 问题 -Control UI 主题系统目前仅支持三个硬编码主题族: +Control UI 主题系统目前被限定在三个硬编码主题系列内: - `ui/src/ui/theme.ts` - `ui/src/ui/views/config.ts` - `ui/src/styles/base.css` -用户可以在内置主题族及其模式变体之间切换,但无法在不修改仓库 CSS 的情况下从 tweakcn 导入主题。此次需求的目标比通用主题系统更小:保留这三个内置主题,并添加一个由用户控制、可通过 tweakcn 链接替换的导入槽位。 +用户可以在内置系列和模式变体之间切换,但如果不编辑仓库 CSS,就无法引入 tweakcn 主题。请求的结果小于通用主题系统:保留三个内置主题,并添加一个由用户控制的导入槽,可从 tweakcn 链接替换。 ## 目标 -- 保持现有内置主题族不变。 -- 只添加一个导入的自定义槽位,而不是主题库。 +- 保持现有内置主题系列不变。 +- 添加正好一个导入的自定义槽,而不是主题库。 - 接受 tweakcn 分享链接或直接的 `https://tweakcn.com/r/themes/{id}` URL。 -- 仅将导入的主题持久化到浏览器本地存储中。 -- 让导入槽位与现有 `light`、`dark` 和 `system` 模式控制一起工作。 -- 保持安全的失败行为:错误导入绝不能破坏当前激活的 UI 主题。 +- 仅在浏览器本地存储中持久化导入的主题。 +- 让导入槽与现有 `light`、`dark` 和 `system` 模式控件配合工作。 +- 保持故障行为安全:错误导入绝不会破坏当前活动 UI 主题。 ## 非目标 -- 不做多主题库,也不做浏览器本地导入列表。 -- 不做 Gateway 网关侧持久化或跨设备同步。 -- 不做任意 CSS 编辑器或原始主题 JSON 编辑器。 -- 不自动加载来自 tweakcn 的远程字体资源。 -- 不尝试支持只暴露单一模式的 tweakcn 负载。 -- 不做超出 Control UI 所需接缝范围的全仓库主题重构。 +- 不提供多主题库或浏览器本地导入列表。 +- 不提供 Gateway 网关侧持久化或跨设备同步。 +- 不提供任意 CSS 编辑器或原始主题 JSON 编辑器。 +- 不从 tweakcn 自动加载远程字体资产。 +- 不尝试支持只暴露一种模式的 tweakcn 载荷。 +- 不进行超出 Control UI 所需接缝之外的仓库级主题重构。 -## 已确定的用户决策 +## 已做出的用户决策 - 保留三个内置主题。 -- 添加一个由 tweakcn 驱动的导入槽位。 +- 添加一个由 tweakcn 驱动的导入槽。 - 将导入的主题存储在浏览器中,而不是 Gateway 网关配置中。 -- 为导入的主题支持 `light`、`dark` 和 `system`。 -- 用下一次导入覆盖自定义槽位是预期行为。 +- 为导入槽支持 `light`、`dark` 和 `system`。 +- 用下一次导入覆盖自定义槽是预期行为。 ## 推荐方案 -向 Control UI 主题模型添加第四个主题族 id:`custom`。仅当存在有效的 tweakcn 导入内容时,`custom` 族才可被选择。导入的负载会被标准化为 OpenClaw 专用的自定义主题记录,并与其他 UI 设置一起存储在浏览器本地存储中。 +向 Control UI 主题模型添加第四个主题系列 ID:`custom`。只有存在有效的 tweakcn 导入时,`custom` 系列才可选择。导入的载荷会规范化为 OpenClaw 专用的自定义主题记录,并与其余 UI 设置一起存储在浏览器本地存储中。 -在运行时,OpenClaw 渲染一个受控的 `