refactor: simplify plugin dependency handling · openclaw/openclaw@ed8f50f
steipete
·
2026-05-02
·
via Recent Commits to openclaw:main
File tree
browser/src/browser/routes
bundled-plugin-install-uninstall
| Original file line number | Diff line number | Diff line change |
|---|
@@ -20,8 +20,7 @@ paths:
|
20 | 20 | - src/plugins/bundled-dir.ts |
21 | 21 | - src/plugins/bundled-plugin-metadata.ts |
22 | 22 | - src/plugins/bundled-public-surface-runtime-root.ts |
23 | | - - src/plugins/bundled-runtime-deps.ts |
24 | | - - src/plugins/bundled-runtime-root.ts |
| 23 | + - src/plugins/plugin-sdk-dist-alias.ts |
25 | 24 | - src/plugins/captured-registration.ts |
26 | 25 | - src/plugins/config-activation-shared.ts |
27 | 26 | - src/plugins/config-contracts.ts |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -25,8 +25,7 @@ paths:
|
25 | 25 | - src/plugins/bundled-dir.ts |
26 | 26 | - src/plugins/bundled-plugin-metadata.ts |
27 | 27 | - src/plugins/bundled-plugin-scan.ts |
28 | | - - src/plugins/bundled-runtime-deps*.ts |
29 | | - - src/plugins/bundled-runtime-root.ts |
| 28 | + - src/plugins/plugin-sdk-dist-alias.ts |
30 | 29 | - src/plugins/cli-registry-loader.ts |
31 | 30 | - src/plugins/config-activation-shared.ts |
32 | 31 | - src/plugins/config-contracts.ts |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -564,9 +564,6 @@ jobs:
|
564 | 564 | - name: Smoke test built bundled plugin singleton |
565 | 565 | run: pnpm test:build:singleton |
566 | 566 | |
567 | | - - name: Smoke test built bundled runtime deps |
568 | | -run: pnpm test:build:bundled-runtime-deps |
569 | | - |
570 | 567 | - name: Check CLI startup memory |
571 | 568 | run: pnpm test:startup:memory |
572 | 569 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -510,9 +510,3 @@ jobs:
|
510 | 510 | with: |
511 | 511 | install-bun: "false" |
512 | 512 | install-deps: "true" |
513 | | - |
514 | | - - name: Run fast bundled plugin Docker E2E |
515 | | -env: |
516 | | -OPENCLAW_BUNDLED_CHANNEL_DEPS_E2E_IMAGE: openclaw-bundled-channel-fast:local |
517 | | -OPENCLAW_BUNDLED_CHANNEL_DOCKER_RUN_TIMEOUT: 90s |
518 | | -run: timeout 480s pnpm test:docker:bundled-channel-deps:fast |
| Original file line number | Diff line number | Diff line change |
|---|
@@ -646,21 +646,6 @@ jobs:
|
646 | 646 | - chunk_id: plugins-runtime-install-h |
647 | 647 | label: plugins/runtime install H |
648 | 648 | timeout_minutes: 120 |
649 | | - - chunk_id: bundled-channels-core |
650 | | -label: bundled channels core |
651 | | -timeout_minutes: 90 |
652 | | - - chunk_id: bundled-channels-update-a |
653 | | -label: bundled channels update A |
654 | | -timeout_minutes: 45 |
655 | | - - chunk_id: bundled-channels-update-discord |
656 | | -label: bundled channels update Discord |
657 | | -timeout_minutes: 30 |
658 | | - - chunk_id: bundled-channels-update-b |
659 | | -label: bundled channels update B |
660 | | -timeout_minutes: 45 |
661 | | - - chunk_id: bundled-channels-contracts |
662 | | -label: bundled channels contracts |
663 | | -timeout_minutes: 90 |
664 | 649 | env: |
665 | 650 | OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} |
666 | 651 | OPENAI_BASE_URL: ${{ secrets.OPENAI_BASE_URL }} |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -440,7 +440,7 @@ jobs:
|
440 | 440 | artifact_name: ${{ needs.prepare_release_package.outputs.artifact_name }} |
441 | 441 | package_sha256: ${{ needs.prepare_release_package.outputs.package_sha256 }} |
442 | 442 | suite_profile: custom |
443 | | -docker_lanes: bundled-channel-deps-compat plugins-offline |
| 443 | +docker_lanes: plugins-offline plugin-update |
444 | 444 | telegram_mode: mock-openai |
445 | 445 | telegram_scenarios: telegram-help-command,telegram-commands-command,telegram-tools-compact-command,telegram-whoami-command,telegram-context-command,telegram-mention-gating |
446 | 446 | secrets: |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -386,10 +386,10 @@ jobs:
|
386 | 386 | docker_lanes="npm-onboard-channel-agent gateway-network config-reload" |
387 | 387 | ;; |
388 | 388 | package) |
389 | | - docker_lanes="npm-onboard-channel-agent doctor-switch update-channel-switch upgrade-survivor published-upgrade-survivor bundled-channel-deps-compat plugins-offline plugin-update" |
| 389 | + docker_lanes="npm-onboard-channel-agent doctor-switch update-channel-switch upgrade-survivor published-upgrade-survivor plugins-offline plugin-update" |
390 | 390 | ;; |
391 | 391 | product) |
392 | | - docker_lanes="npm-onboard-channel-agent doctor-switch update-channel-switch upgrade-survivor published-upgrade-survivor bundled-channel-deps-compat plugins plugin-update mcp-channels cron-mcp-cleanup openai-web-search-minimal openwebui" |
| 392 | + docker_lanes="npm-onboard-channel-agent doctor-switch update-channel-switch upgrade-survivor published-upgrade-survivor plugins plugin-update mcp-channels cron-mcp-cleanup openai-web-search-minimal openwebui" |
393 | 393 | include_openwebui=true |
394 | 394 | ;; |
395 | 395 | full) |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -63,7 +63,6 @@ COPY openclaw.mjs ./
|
63 | 63 | COPY ui/package.json ./ui/package.json |
64 | 64 | COPY patches ./patches |
65 | 65 | COPY scripts/postinstall-bundled-plugins.mjs scripts/preinstall-package-manager-warning.mjs scripts/npm-runner.mjs scripts/windows-cmd-helpers.mjs ./scripts/ |
66 | | -COPY scripts/lib/bundled-runtime-deps-install.mjs ./scripts/lib/bundled-runtime-deps-install.mjs |
67 | 66 | COPY scripts/lib/package-dist-imports.mjs ./scripts/lib/package-dist-imports.mjs |
68 | 67 | |
69 | 68 | COPY --from=ext-deps /out/ ./${OPENCLAW_BUNDLED_PLUGIN_DIR}/ |
@@ -268,12 +267,10 @@ RUN --mount=type=cache,id=openclaw-bookworm-apt-cache,target=/var/cache/apt,shar
|
268 | 267 | RUN ln -sf /app/openclaw.mjs /usr/local/bin/openclaw \ |
269 | 268 | && chmod 755 /app/openclaw.mjs |
270 | 269 | |
271 | | -# Pre-create the default state and runtime-deps dirs so first-run Docker named |
272 | | -# volumes mounted here inherit node ownership instead of root-owned state. |
| 270 | +# Pre-create the default state dir so first-run Docker named volumes mounted |
| 271 | +# here inherit node ownership instead of root-owned state. |
273 | 272 | RUN install -d -m 0700 -o node -g node /home/node/.openclaw && \ |
274 | | - install -d -m 0700 -o node -g node /var/lib/openclaw/plugin-runtime-deps && \ |
275 | | - stat -c '%U:%G %a' /home/node/.openclaw | grep -qx 'node:node 700' && \ |
276 | | - stat -c '%U:%G %a' /var/lib/openclaw/plugin-runtime-deps | grep -qx 'node:node 700' |
| 273 | + stat -c '%U:%G %a' /home/node/.openclaw | grep -qx 'node:node 700' |
277 | 274 | |
278 | 275 | ENV NODE_ENV=production |
279 | 276 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -23,12 +23,10 @@ services:
|
23 | 23 | CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-} |
24 | 24 | CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-} |
25 | 25 | CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-} |
26 | | -OPENCLAW_PLUGIN_STAGE_DIR: /var/lib/openclaw/plugin-runtime-deps |
27 | 26 | TZ: ${OPENCLAW_TZ:-UTC} |
28 | 27 | volumes: |
29 | 28 | - ${OPENCLAW_CONFIG_DIR:-${HOME:-/tmp}/.openclaw}:/home/node/.openclaw |
30 | 29 | - ${OPENCLAW_WORKSPACE_DIR:-${HOME:-/tmp}/.openclaw/workspace}:/home/node/.openclaw/workspace |
31 | | - - openclaw-plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps |
32 | 30 | ## Uncomment the lines below to enable sandbox isolation |
33 | 31 | ## (agents.defaults.sandbox). Requires Docker CLI in the image |
34 | 32 | ## (build with --build-arg OPENCLAW_INSTALL_DOCKER_CLI=1) or use |
@@ -87,18 +85,13 @@ services:
|
87 | 85 | CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-} |
88 | 86 | CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-} |
89 | 87 | CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-} |
90 | | -OPENCLAW_PLUGIN_STAGE_DIR: /var/lib/openclaw/plugin-runtime-deps |
91 | 88 | TZ: ${OPENCLAW_TZ:-UTC} |
92 | 89 | volumes: |
93 | 90 | - ${OPENCLAW_CONFIG_DIR:-${HOME:-/tmp}/.openclaw}:/home/node/.openclaw |
94 | 91 | - ${OPENCLAW_WORKSPACE_DIR:-${HOME:-/tmp}/.openclaw/workspace}:/home/node/.openclaw/workspace |
95 | | - - openclaw-plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps |
96 | 92 | stdin_open: true |
97 | 93 | tty: true |
98 | 94 | init: true |
99 | 95 | entrypoint: ["node", "dist/index.js"] |
100 | 96 | depends_on: |
101 | 97 | - openclaw-gateway |
102 | | - |
103 | | -volumes: |
104 | | -openclaw-plugin-runtime-deps: |
| Original file line number | Diff line number | Diff line change |
|---|
@@ -11,13 +11,16 @@ QQ Bot connects to OpenClaw via the official QQ Bot API (WebSocket gateway). The
|
11 | 11 | plugin supports C2C private chat, group @messages, and guild channel messages with |
12 | 12 | rich media (images, voice, video, files). |
13 | 13 | |
14 | | -Status: bundled plugin. Direct messages, group chats, guild channels, and |
| 14 | +Status: downloadable plugin. Direct messages, group chats, guild channels, and |
15 | 15 | media are supported. Reactions and threads are not supported. |
16 | 16 | |
17 | | -## Bundled plugin |
| 17 | +## Install |
18 | 18 | |
19 | | -Current OpenClaw releases bundle QQ Bot, so normal packaged builds do not need |
20 | | -a separate `openclaw plugins install` step. |
| 19 | +Install QQ Bot before setup: |
| 20 | + |
| 21 | +```bash |
| 22 | +openclaw plugins install @openclaw/qqbot |
| 23 | +``` |
21 | 24 | |
22 | 25 | ## Setup |
23 | 26 | |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。