@tencent-ai/codebuddy-code 2.67.0 → 2.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/codebuddy-headless.js +53 -53
- package/dist/codebuddy.js +93 -64
- package/dist/web-ui/assets/index-BoMlEqUE.js +439 -0
- package/dist/web-ui/assets/index-Dt1puyHn.css +32 -0
- package/dist/web-ui/docs/cn/cli/acp.md +152 -0
- package/dist/web-ui/docs/cn/cli/agent-teams.md +327 -0
- package/dist/web-ui/docs/cn/cli/bash-sandboxing.md +290 -0
- package/dist/web-ui/docs/cn/cli/best-practices.md +554 -0
- package/dist/web-ui/docs/cn/cli/channels-reference.md +293 -0
- package/dist/web-ui/docs/cn/cli/channels.md +215 -0
- package/dist/web-ui/docs/cn/cli/checkpointing.md +51 -0
- package/dist/web-ui/docs/cn/cli/cli-reference.md +187 -0
- package/dist/web-ui/docs/cn/cli/common-workflows.md +1013 -0
- package/dist/web-ui/docs/cn/cli/costs.md +174 -0
- package/dist/web-ui/docs/cn/cli/devcontainer.md +553 -0
- package/dist/web-ui/docs/cn/cli/env-vars.md +326 -0
- package/dist/web-ui/docs/cn/cli/gitlab-ci-cd.md +357 -0
- package/dist/web-ui/docs/cn/cli/headless.md +258 -0
- package/dist/web-ui/docs/cn/cli/hooks-guide.md +9 -0
- package/dist/web-ui/docs/cn/cli/hooks.md +805 -0
- package/dist/web-ui/docs/cn/cli/iam.md +530 -0
- package/dist/web-ui/docs/cn/cli/ide-integrations.md +92 -0
- package/dist/web-ui/docs/cn/cli/installation.md +291 -0
- package/dist/web-ui/docs/cn/cli/interactive-mode.md +233 -0
- package/dist/web-ui/docs/cn/cli/mcp.md +739 -0
- package/dist/web-ui/docs/cn/cli/memory.md +436 -0
- package/dist/web-ui/docs/cn/cli/models.md +356 -0
- package/dist/web-ui/docs/cn/cli/overview.md +100 -0
- package/dist/web-ui/docs/cn/cli/plugin-marketplaces.md +533 -0
- package/dist/web-ui/docs/cn/cli/plugins-reference.md +774 -0
- package/dist/web-ui/docs/cn/cli/plugins.md +689 -0
- package/dist/web-ui/docs/cn/cli/quickstart.md +249 -0
- package/dist/web-ui/docs/cn/cli/release-notes/README.md +199 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.10.0.md +23 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.10.1.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.11.0.md +24 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.12.0.md +21 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.13.0.md +20 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.14.0.md +22 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.14.1.md +8 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.15.0.md +18 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.15.1.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.16.0.md +20 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.17.0.md +29 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.18.0.md +17 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.19.0.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.19.1.md +14 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.19.2.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.20.0.md +23 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.20.1.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.21.0.md +13 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.22.0.md +16 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.23.0.md +20 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.23.2.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.23.3.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.23.4.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.23.5.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.24.0.md +17 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.25.0.md +18 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.25.1.md +21 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.26.0.md +18 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.27.0.md +16 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.27.1.md +16 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.27.2.md +7 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.27.3.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.28.0.md +26 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.28.1.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.29.0.md +35 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.3.1.md +16 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.30.0.md +19 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.30.1.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.31.0.md +51 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.31.1.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.31.2.md +16 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.32.0.md +19 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.33.0.md +28 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.33.1.md +7 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.36.3.md +17 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.0.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.1.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.10.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.11.md +8 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.12.md +14 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.13.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.14.md +24 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.15.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.16.md +9 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.17.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.18.md +9 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.19.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.2.md +28 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.20.md +8 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.3.md +22 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.4.md +19 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.5.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.6.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.7.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.8.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.37.9.md +8 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.38.0.md +22 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.38.1.md +6 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.38.2.md +9 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.39.0.md +18 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.4.0.md +19 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.40.0.md +20 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.40.1.md +6 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.41.0.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.41.1.md +6 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.41.2.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.41.3.md +8 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.41.4.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.41.5.md +10 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.41.6.md +9 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.41.7.md +14 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.41.8.md +18 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.42.0.md +39 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.42.1.md +8 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.42.3.md +18 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.43.0.md +27 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.43.1.md +27 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.44.0.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.44.1.md +22 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.45.0.md +34 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.45.1.md +7 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.46.0.md +12 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.47.0.md +20 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.48.0.md +32 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.48.1.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.49.0.md +26 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.49.1.md +14 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.49.2.md +39 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.49.3.md +7 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.49.5.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.49.6.md +9 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.49.7.md +7 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.5.0.md +24 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.50.0.md +25 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.50.1.md +9 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.50.2.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.50.3.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.50.4.md +17 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.50.5.md +16 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.50.6.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.50.7.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.51.0.md +24 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.51.1.md +17 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.51.2.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.52.0.md +30 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.52.1.md +28 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.52.2.md +12 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.52.3.md +13 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.52.4.md +27 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.52.5.md +21 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.52.6.md +7 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.53.0.md +29 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.54.0.md +26 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.55.0.md +21 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.55.1.md +13 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.56.0.md +20 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.56.1.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.57.0.md +32 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.57.1.md +10 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.58.0.md +34 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.59.0.md +28 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.6.0.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.6.1.md +10 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.60.0.md +20 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.61.0.md +29 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.61.1.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.61.2.md +6 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.61.3.md +13 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.62.0.md +21 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.62.1.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.63.0.md +19 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.63.1.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.63.2.md +7 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.63.3.md +6 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.63.4.md +8 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.63.5.md +6 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.64.0.md +37 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.64.1.md +6 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.64.2.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.65.0.md +19 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.65.1.md +11 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.66.0.md +15 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.66.1.md +14 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.66.2.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.67.0.md +33 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.7.0.md +16 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.8.0.md +18 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.8.1.md +17 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.8.2.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.8.3.md +14 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.8.4.md +9 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.8.5.md +5 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.8.6.md +14 -0
- package/dist/web-ui/docs/cn/cli/release-notes/v2.9.0.md +5 -0
- package/dist/web-ui/docs/cn/cli/remote-control.md +247 -0
- package/dist/web-ui/docs/cn/cli/sandboxing.md +316 -0
- package/dist/web-ui/docs/cn/cli/scheduled-tasks.md +161 -0
- package/dist/web-ui/docs/cn/cli/sdk-custom-tools.md +1195 -0
- package/dist/web-ui/docs/cn/cli/sdk-demos.md +347 -0
- package/dist/web-ui/docs/cn/cli/sdk-hooks.md +803 -0
- package/dist/web-ui/docs/cn/cli/sdk-mcp.md +643 -0
- package/dist/web-ui/docs/cn/cli/sdk-permissions.md +501 -0
- package/dist/web-ui/docs/cn/cli/sdk-python.md +783 -0
- package/dist/web-ui/docs/cn/cli/sdk-sessions.md +332 -0
- package/dist/web-ui/docs/cn/cli/sdk-typescript.md +759 -0
- package/dist/web-ui/docs/cn/cli/sdk.md +1105 -0
- package/dist/web-ui/docs/cn/cli/security.md +387 -0
- package/dist/web-ui/docs/cn/cli/settings.md +602 -0
- package/dist/web-ui/docs/cn/cli/skills.md +448 -0
- package/dist/web-ui/docs/cn/cli/slash-commands.md +397 -0
- package/dist/web-ui/docs/cn/cli/statusline.md +525 -0
- package/dist/web-ui/docs/cn/cli/sub-agents.md +634 -0
- package/dist/web-ui/docs/cn/cli/terminal-config.md +77 -0
- package/dist/web-ui/docs/cn/cli/tools-reference.md +99 -0
- package/dist/web-ui/docs/cn/cli/troubleshooting.md +190 -0
- package/dist/web-ui/docs/cn/cli/web-ui.md +164 -0
- package/dist/web-ui/docs/cn/cli/wecom-bot-setup.md +274 -0
- package/dist/web-ui/docs/cn/cli/worktree.md +660 -0
- package/dist/web-ui/docs/en/cli/acp.md +126 -0
- package/dist/web-ui/docs/en/cli/agent-teams.md +327 -0
- package/dist/web-ui/docs/en/cli/bash-sandboxing.md +357 -0
- package/dist/web-ui/docs/en/cli/best-practices.md +554 -0
- package/dist/web-ui/docs/en/cli/channels-reference.md +293 -0
- package/dist/web-ui/docs/en/cli/channels.md +215 -0
- package/dist/web-ui/docs/en/cli/checkpointing.md +53 -0
- package/dist/web-ui/docs/en/cli/cli-reference.md +187 -0
- package/dist/web-ui/docs/en/cli/common-workflows.md +1011 -0
- package/dist/web-ui/docs/en/cli/costs.md +174 -0
- package/dist/web-ui/docs/en/cli/devcontainer.md +553 -0
- package/dist/web-ui/docs/en/cli/env-vars.md +326 -0
- package/dist/web-ui/docs/en/cli/gitlab-ci-cd.md +357 -0
- package/dist/web-ui/docs/en/cli/headless.md +258 -0
- package/dist/web-ui/docs/en/cli/hooks-guide.md +9 -0
- package/dist/web-ui/docs/en/cli/hooks.md +801 -0
- package/dist/web-ui/docs/en/cli/iam.md +526 -0
- package/dist/web-ui/docs/en/cli/ide-integrations.md +92 -0
- package/dist/web-ui/docs/en/cli/installation.md +266 -0
- package/dist/web-ui/docs/en/cli/interactive-mode.md +233 -0
- package/dist/web-ui/docs/en/cli/mcp.md +739 -0
- package/dist/web-ui/docs/en/cli/memory.md +436 -0
- package/dist/web-ui/docs/en/cli/models.md +355 -0
- package/dist/web-ui/docs/en/cli/overview.md +100 -0
- package/dist/web-ui/docs/en/cli/plugin-marketplaces.md +534 -0
- package/dist/web-ui/docs/en/cli/plugins-reference.md +774 -0
- package/dist/web-ui/docs/en/cli/plugins.md +688 -0
- package/dist/web-ui/docs/en/cli/quickstart.md +249 -0
- package/dist/web-ui/docs/en/cli/release-notes/README.md +193 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.10.0.md +23 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.10.1.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.11.0.md +24 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.12.0.md +21 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.13.0.md +20 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.14.0.md +22 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.14.1.md +8 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.15.0.md +18 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.15.1.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.16.0.md +20 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.17.0.md +29 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.18.0.md +17 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.19.0.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.19.1.md +14 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.19.2.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.20.0.md +23 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.20.1.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.21.0.md +13 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.22.0.md +16 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.23.0.md +41 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.23.2.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.23.3.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.23.4.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.23.5.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.24.0.md +17 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.25.0.md +18 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.25.1.md +21 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.26.0.md +18 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.27.0.md +16 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.27.1.md +16 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.27.2.md +7 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.27.3.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.28.0.md +26 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.28.1.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.29.0.md +35 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.3.1.md +16 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.30.0.md +19 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.30.1.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.31.0.md +51 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.31.1.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.31.2.md +16 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.32.0.md +19 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.33.0.md +28 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.33.1.md +7 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.34.0.md +27 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.34.1.md +7 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.35.0.md +22 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.36.0.md +23 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.36.1.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.36.2.md +22 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.36.3.md +17 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.0.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.1.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.10.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.11.md +8 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.12.md +14 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.13.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.14.md +24 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.15.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.16.md +9 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.17.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.18.md +9 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.19.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.2.md +28 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.20.md +8 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.3.md +22 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.4.md +19 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.5.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.6.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.7.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.8.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.37.9.md +8 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.38.0.md +22 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.38.1.md +6 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.38.2.md +9 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.39.0.md +18 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.4.0.md +19 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.40.0.md +20 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.40.1.md +6 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.41.0.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.41.1.md +6 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.41.2.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.41.3.md +8 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.41.4.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.41.5.md +10 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.41.6.md +9 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.41.7.md +14 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.41.8.md +18 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.42.0.md +39 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.42.1.md +8 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.42.3.md +18 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.43.0.md +27 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.43.1.md +27 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.44.0.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.44.1.md +22 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.45.0.md +34 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.45.1.md +7 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.46.0.md +12 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.47.0.md +20 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.48.0.md +32 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.48.1.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.49.0.md +26 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.49.1.md +14 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.49.2.md +39 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.49.3.md +7 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.49.5.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.49.6.md +9 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.49.7.md +7 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.5.0.md +24 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.50.0.md +25 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.50.1.md +9 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.50.2.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.50.3.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.50.4.md +17 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.50.5.md +16 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.50.6.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.50.7.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.51.0.md +24 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.51.1.md +17 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.51.2.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.52.0.md +30 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.52.1.md +28 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.52.2.md +12 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.52.3.md +13 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.52.4.md +27 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.52.5.md +21 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.52.6.md +7 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.53.0.md +29 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.54.0.md +26 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.55.0.md +21 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.55.1.md +13 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.56.0.md +20 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.56.1.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.57.0.md +32 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.57.1.md +10 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.58.0.md +34 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.59.0.md +28 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.6.0.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.6.1.md +10 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.60.0.md +20 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.61.0.md +29 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.61.1.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.61.2.md +6 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.61.3.md +13 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.62.0.md +21 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.62.1.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.63.0.md +19 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.63.1.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.63.2.md +7 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.63.3.md +6 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.63.4.md +8 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.63.5.md +6 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.64.0.md +37 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.64.1.md +6 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.64.2.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.65.0.md +19 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.65.1.md +11 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.66.0.md +15 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.66.1.md +14 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.66.2.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.67.0.md +33 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.7.0.md +16 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.8.0.md +18 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.8.1.md +17 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.8.2.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.8.3.md +14 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.8.4.md +9 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.8.5.md +5 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.8.6.md +14 -0
- package/dist/web-ui/docs/en/cli/release-notes/v2.9.0.md +5 -0
- package/dist/web-ui/docs/en/cli/remote-control.md +247 -0
- package/dist/web-ui/docs/en/cli/sandboxing.md +316 -0
- package/dist/web-ui/docs/en/cli/scheduled-tasks.md +160 -0
- package/dist/web-ui/docs/en/cli/sdk-custom-tools.md +1131 -0
- package/dist/web-ui/docs/en/cli/sdk-demos.md +347 -0
- package/dist/web-ui/docs/en/cli/sdk-hooks.md +813 -0
- package/dist/web-ui/docs/en/cli/sdk-mcp.md +645 -0
- package/dist/web-ui/docs/en/cli/sdk-permissions.md +461 -0
- package/dist/web-ui/docs/en/cli/sdk-python.md +797 -0
- package/dist/web-ui/docs/en/cli/sdk-sessions.md +340 -0
- package/dist/web-ui/docs/en/cli/sdk-typescript.md +770 -0
- package/dist/web-ui/docs/en/cli/sdk.md +1103 -0
- package/dist/web-ui/docs/en/cli/security.md +388 -0
- package/dist/web-ui/docs/en/cli/settings.md +602 -0
- package/dist/web-ui/docs/en/cli/skills.md +448 -0
- package/dist/web-ui/docs/en/cli/slash-commands.md +397 -0
- package/dist/web-ui/docs/en/cli/statusline.md +525 -0
- package/dist/web-ui/docs/en/cli/sub-agents.md +621 -0
- package/dist/web-ui/docs/en/cli/terminal-config.md +77 -0
- package/dist/web-ui/docs/en/cli/tools-reference.md +99 -0
- package/dist/web-ui/docs/en/cli/troubleshooting.md +190 -0
- package/dist/web-ui/docs/en/cli/web-ui.md +164 -0
- package/dist/web-ui/docs/en/cli/wecom-bot-setup.md +274 -0
- package/dist/web-ui/docs/en/cli/worktree.md +660 -0
- package/dist/web-ui/docs/search-index-en.json +1 -0
- package/dist/web-ui/docs/search-index-zh.json +1 -0
- package/dist/web-ui/docs/sidebar-en.json +1 -0
- package/dist/web-ui/docs/sidebar-zh.json +1 -0
- package/dist/web-ui/index.html +2 -2
- package/package.json +1 -1
- package/product.cloudhosted.json +2 -2
- package/product.internal.json +2 -2
- package/product.ioa.json +2 -2
- package/product.json +3 -3
- package/product.selfhosted.json +2 -2
- package/dist/web-ui/assets/index-BPT-qRRx.js +0 -411
- package/dist/web-ui/assets/index-f_ibHSHw.css +0 -32
|
@@ -0,0 +1,774 @@
|
|
|
1
|
+
# CodeBuddy 插件参考文档
|
|
2
|
+
|
|
3
|
+
## 概述
|
|
4
|
+
|
|
5
|
+
CodeBuddy 插件系统允许通过标准化的插件机制扩展 AI 助手的功能。插件可以提供自定义命令、代理、技能、钩子和 MCP 服务器等组件。
|
|
6
|
+
|
|
7
|
+
description:命令描述
|
|
8
|
+
allowed-tools: Read,Write,Bash
|
|
9
|
+
argument-hint:参数提示
|
|
10
|
+
model:使用的模型ID或名称
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
命令的提示词内容
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**命令文件组织**:
|
|
17
|
+
- 支持子目录嵌套组织
|
|
18
|
+
- 子目录路径会转换为命令名的一部分,使用冒号分隔
|
|
19
|
+
- 例如: `commands/deploy/production.md` → 命令名为 `deploy:production`
|
|
20
|
+
|
|
21
|
+
### 2. Agents (代理)
|
|
22
|
+
|
|
23
|
+
**位置**:插件根目录的 `agents/` 目录
|
|
24
|
+
**格式**:带有 frontmatter 的 Markdown 文件
|
|
25
|
+
|
|
26
|
+
**Frontmatter 配置**:
|
|
27
|
+
```markdown
|
|
28
|
+
---
|
|
29
|
+
name:代理名称(可选,默认使用文件名)
|
|
30
|
+
description:代理描述
|
|
31
|
+
model:使用的模型ID或名称
|
|
32
|
+
tools: Read,Write,Bash(可用工具列表,逗号分隔)
|
|
33
|
+
color: #FF5733(代理显示颜色,可选)
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
代理的指令内容
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**特性**:
|
|
40
|
+
- 代理可以作为工具被主代理调用
|
|
41
|
+
- 支持自定义工具列表
|
|
42
|
+
- 自动生成源标签标识来源
|
|
43
|
+
|
|
44
|
+
### 3. Skills (技能)
|
|
45
|
+
|
|
46
|
+
**位置**:插件根目录的 `skills/` 目录
|
|
47
|
+
**格式**:每个技能一个子目录,包含 `SKILL.md` 文件
|
|
48
|
+
|
|
49
|
+
**目录结构**:
|
|
50
|
+
```
|
|
51
|
+
skills/
|
|
52
|
+
├── pdf-processor/
|
|
53
|
+
│ ├── SKILL.md
|
|
54
|
+
│ ├── reference.md (可选)
|
|
55
|
+
│ └── scripts/ (可选)
|
|
56
|
+
└── code-reviewer/
|
|
57
|
+
└── SKILL.md
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**SKILL.md Frontmatter 配置**:
|
|
61
|
+
```markdown
|
|
62
|
+
---
|
|
63
|
+
name:技能名称(可选,默认使用目录名)
|
|
64
|
+
description:技能描述
|
|
65
|
+
allowed-tools: Read,Write,Bash(允许使用的工具列表)
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
技能的指令内容
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**特性**:
|
|
72
|
+
- 技能可以包含辅助文件和脚本
|
|
73
|
+
- 技能的 `baseDirectory` 指向技能目录,可访问同目录下的资源文件
|
|
74
|
+
|
|
75
|
+
### 4. Hooks (钩子)
|
|
76
|
+
|
|
77
|
+
**位置**:插件根目录的 `hooks/hooks.json`,或在 `plugin.json` 中通过 PluginInfo 扩展字段配置
|
|
78
|
+
**格式**: JSON 配置,包含事件匹配器和操作
|
|
79
|
+
|
|
80
|
+
**配置示例**:
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"PostToolUse": [
|
|
84
|
+
{
|
|
85
|
+
"matcher": "Write|Edit",
|
|
86
|
+
"hooks": [
|
|
87
|
+
{
|
|
88
|
+
"type": "command",
|
|
89
|
+
"command": "${CODEBUDDY_PLUGIN_ROOT}/scripts/format-code.sh",
|
|
90
|
+
"timeout": 30000
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**可用事件**:
|
|
99
|
+
- `PreToolUse`:在工具使用之前触发
|
|
100
|
+
- `PostToolUse`:在工具使用之后触发
|
|
101
|
+
- `UserPromptSubmit`:用户提交提示时触发
|
|
102
|
+
- `Notification`:发送通知时触发
|
|
103
|
+
- `Stop`:尝试停止时触发
|
|
104
|
+
- `SubagentStop`:子代理尝试停止时触发
|
|
105
|
+
- `SessionStart`:会话开始时触发
|
|
106
|
+
- `SessionEnd`:会话结束时触发
|
|
107
|
+
- `PreCompact`:对话历史压缩之前触发
|
|
108
|
+
|
|
109
|
+
**钩子类型**:
|
|
110
|
+
- `command`:执行 shell 命令或脚本
|
|
111
|
+
|
|
112
|
+
**Matcher 规则**:
|
|
113
|
+
- 支持正则表达式匹配工具名称
|
|
114
|
+
- 例如: `"Write|Edit"` 匹配 Write 或 Edit 工具
|
|
115
|
+
|
|
116
|
+
### 5. MCP Servers (MCP 服务器)
|
|
117
|
+
|
|
118
|
+
**位置**:
|
|
119
|
+
- 插件根目录的 `.mcp.json` 配置文件
|
|
120
|
+
- 或在 `plugin.json` 中通过 PluginInfo 扩展字段配置
|
|
121
|
+
|
|
122
|
+
**配置示例** (.mcp.json):
|
|
123
|
+
```json
|
|
124
|
+
{
|
|
125
|
+
"mcpServers": {
|
|
126
|
+
"plugin-database": {
|
|
127
|
+
"command": "${CODEBUDDY_PLUGIN_ROOT}/servers/db-server",
|
|
128
|
+
"args": ["--config", "${CODEBUDDY_PLUGIN_ROOT}/config.json"],
|
|
129
|
+
"env": {
|
|
130
|
+
"DB_PATH": "${CODEBUDDY_PLUGIN_ROOT}/data"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"plugin-api-client": {
|
|
134
|
+
"command": "npx",
|
|
135
|
+
"args": ["@company/mcp-server", "--plugin-mode"],
|
|
136
|
+
"cwd": "${CODEBUDDY_PLUGIN_ROOT}"
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**集成行为**:
|
|
143
|
+
- 插件启用时自动启动 MCP 服务器
|
|
144
|
+
- 服务器作为标准 MCP 工具出现在工具包中
|
|
145
|
+
- 服务器功能与现有工具无缝集成
|
|
146
|
+
|
|
147
|
+
### 6. LSP Servers(LSP 服务器)
|
|
148
|
+
|
|
149
|
+
> **提示**: 需要使用 LSP 插件? 可从官方市场安装——在 `/plugin` Discover 标签中搜索 "lsp"。本节介绍如何为官方市场未涵盖的语言创建 LSP 插件。
|
|
150
|
+
|
|
151
|
+
插件可以提供 [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) (LSP) 服务器,为 AI 助手在代码库上工作时提供实时代码智能支持。
|
|
152
|
+
|
|
153
|
+
LSP 集成提供:
|
|
154
|
+
|
|
155
|
+
* **即时诊断**: AI 助手在每次编辑后立即看到错误和警告
|
|
156
|
+
* **代码导航**: 跳转到定义、查找引用和悬停信息
|
|
157
|
+
* **语言感知**: 代码符号的类型信息和文档
|
|
158
|
+
|
|
159
|
+
**位置**: 插件根目录的 `.lsp.json` 文件,或在 `plugin.json` 中内联配置
|
|
160
|
+
|
|
161
|
+
**格式**: JSON 配置,将语言服务器名称映射到其配置
|
|
162
|
+
|
|
163
|
+
**`.lsp.json` 文件格式**:
|
|
164
|
+
|
|
165
|
+
```json
|
|
166
|
+
{
|
|
167
|
+
"go": {
|
|
168
|
+
"command": "gopls",
|
|
169
|
+
"args": ["serve"],
|
|
170
|
+
"extensionToLanguage": {
|
|
171
|
+
".go": "go"
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**在 `plugin.json` 中内联配置**:
|
|
178
|
+
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"name": "my-plugin",
|
|
182
|
+
"lspServers": {
|
|
183
|
+
"go": {
|
|
184
|
+
"command": "gopls",
|
|
185
|
+
"args": ["serve"],
|
|
186
|
+
"extensionToLanguage": {
|
|
187
|
+
".go": "go"
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
**必需字段**:
|
|
195
|
+
|
|
196
|
+
| 字段 | 描述 |
|
|
197
|
+
| :--- | :--- |
|
|
198
|
+
| `command` | 要执行的 LSP 二进制文件(必须在 PATH 中) |
|
|
199
|
+
| `extensionToLanguage` | 将文件扩展名映射到语言标识符 |
|
|
200
|
+
|
|
201
|
+
**可选字段**:
|
|
202
|
+
|
|
203
|
+
| 字段 | 描述 |
|
|
204
|
+
| :--- | :--- |
|
|
205
|
+
| `args` | LSP 服务器的命令行参数 |
|
|
206
|
+
| `transport` | 通信传输方式: `stdio`(默认)或 `socket` |
|
|
207
|
+
| `env` | 启动服务器时设置的环境变量 |
|
|
208
|
+
| `initializationOptions` | 在初始化期间传递给服务器的选项 |
|
|
209
|
+
| `settings` | 通过 `workspace/didChangeConfiguration` 传递的设置 |
|
|
210
|
+
| `workspaceFolder` | 服务器的工作区文件夹路径 |
|
|
211
|
+
| `startupTimeout` | 等待服务器启动的最大时间(毫秒) |
|
|
212
|
+
| `shutdownTimeout` | 等待优雅关闭的最大时间(毫秒) |
|
|
213
|
+
| `restartOnCrash` | 服务器崩溃时是否自动重启 |
|
|
214
|
+
| `maxRestarts` | 放弃前的最大重启尝试次数 |
|
|
215
|
+
| `loggingConfig` | 调试日志配置(见下文) |
|
|
216
|
+
|
|
217
|
+
> **警告**: **您必须单独安装语言服务器二进制文件。** LSP 插件配置 CodeBuddy 如何连接到语言服务器,但不包含服务器本身。如果在 `/plugin` Errors 标签中看到 `Executable not found in $PATH` 错误,请为您的语言安装所需的二进制文件。
|
|
218
|
+
|
|
219
|
+
**可用的 LSP 插件**:
|
|
220
|
+
|
|
221
|
+
| 插件 | 语言服务器 | 安装命令 |
|
|
222
|
+
| :--- | :--- | :--- |
|
|
223
|
+
| `pyright-lsp` | Pyright (Python) | `pip install pyright` 或 `npm install -g pyright` |
|
|
224
|
+
| `typescript-lsp` | TypeScript Language Server | `npm install -g typescript-language-server typescript` |
|
|
225
|
+
| `rust-lsp` | rust-analyzer | [参见 rust-analyzer 安装](https://rust-analyzer.github.io/manual.html#installation) |
|
|
226
|
+
|
|
227
|
+
先安装语言服务器,然后从市场安装插件。
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## 二、插件清单架构 (plugin.json)
|
|
232
|
+
|
|
233
|
+
### 完整架构示例
|
|
234
|
+
|
|
235
|
+
```json
|
|
236
|
+
{
|
|
237
|
+
"name": "plugin-name",
|
|
238
|
+
"version": "1.2.0",
|
|
239
|
+
"description": "插件简短描述",
|
|
240
|
+
"author": {
|
|
241
|
+
"name": "作者名称",
|
|
242
|
+
"email": "[email protected]",
|
|
243
|
+
"url": "https://github.com/author"
|
|
244
|
+
},
|
|
245
|
+
"homepage": "https://docs.example.com/plugin",
|
|
246
|
+
"repository": "https://github.com/author/plugin",
|
|
247
|
+
"license": "MIT",
|
|
248
|
+
"keywords": ["keyword1", "keyword2"],
|
|
249
|
+
"category": "开发工具",
|
|
250
|
+
"features": ["特性1", "特性2"],
|
|
251
|
+
"requirements": {
|
|
252
|
+
"node": ">=16.0.0"
|
|
253
|
+
},
|
|
254
|
+
"commands": ["./custom/commands/special.md"],
|
|
255
|
+
"agents": "./custom/agents/",
|
|
256
|
+
"hooks": "./config/hooks.json",
|
|
257
|
+
"mcpServers": [
|
|
258
|
+
{
|
|
259
|
+
"name": "custom-server",
|
|
260
|
+
"command": "node",
|
|
261
|
+
"args": ["./servers/custom.js"],
|
|
262
|
+
"env": {
|
|
263
|
+
"SERVER_PORT": "3000"
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"lspServers": "./.lsp.json"
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### 必需字段
|
|
272
|
+
|
|
273
|
+
| 字段 | 类型 | 描述 | 示例 |
|
|
274
|
+
|------|------|------|------|
|
|
275
|
+
| name | string | 唯一标识符(kebab-case,无空格) | "deployment-tools" |
|
|
276
|
+
| description | string | 插件用途简述 | "部署自动化工具" |
|
|
277
|
+
|
|
278
|
+
### 元数据字段
|
|
279
|
+
|
|
280
|
+
| 字段 | 类型 | 描述 | 示例 |
|
|
281
|
+
|------|------|------|------|
|
|
282
|
+
| version | string | 语义化版本 | "2.1.0" |
|
|
283
|
+
| author | object | 作者信息 | `{"name": "开发团队", "email": "[email protected]"}` |
|
|
284
|
+
| homepage | string | 文档 URL | "https://docs.example.com" |
|
|
285
|
+
| repository | string | 源代码 URL | "https://github.com/user/plugin" |
|
|
286
|
+
| license | string | 许可证标识符 | "MIT", "Apache-2.0" |
|
|
287
|
+
| keywords | array | 发现标签 | `["deployment", "ci-cd"]` |
|
|
288
|
+
| category | string | 插件分类 | "开发工具" |
|
|
289
|
+
| features | array | 功能列表 | `["自动部署", "日志分析"]` |
|
|
290
|
+
|
|
291
|
+
### 组件路径字段(PluginManifest)
|
|
292
|
+
|
|
293
|
+
| 字段 | 类型 | 描述 | 示例 |
|
|
294
|
+
|------|------|------|------|
|
|
295
|
+
| commands | string / string[] | 额外的命令文件路径数组 | `["./custom/cmd.md"]` |
|
|
296
|
+
| agents | string / string[] | 额外 Agent 文件目录路径 | "./custom/agents/" |
|
|
297
|
+
| hooks | string / object | 额外 Hook 文件或配置 | "./custom/hooks.json" |
|
|
298
|
+
| mcpServers | string / `Record<string,MCPServerConfig>` | MCP服务器配置文件路径或配置对象 | 见下方 MCPServerConfig |
|
|
299
|
+
| lspServers | string / object | [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) 配置,用于代码智能(跳转定义、查找引用等) | `"./.lsp.json"` |
|
|
300
|
+
|
|
301
|
+
### MCPServerConfig 结构
|
|
302
|
+
|
|
303
|
+
```typescript
|
|
304
|
+
{
|
|
305
|
+
"name": "服务器名称",
|
|
306
|
+
"command": "执行命令",
|
|
307
|
+
"args": ["命令参数数组"],
|
|
308
|
+
"env": {
|
|
309
|
+
"环境变量名": "值"
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### 运行时扩展字段(PluginInfo)
|
|
315
|
+
|
|
316
|
+
插件在运行时会扩展以下字段,支持更灵活的配置方式:
|
|
317
|
+
|
|
318
|
+
| 字段 | 类型 | 描述 | 示例 |
|
|
319
|
+
|------|------|------|------|
|
|
320
|
+
| agents | string[] | Agent 文件或目录路径 | `["./custom/agents/"]` |
|
|
321
|
+
| commands | string[] | Command 文件或目录路径 | `["./custom/commands/"]` |
|
|
322
|
+
| skills | string[] | Skill 文件或目录路径 | `["./custom/skills/"]` |
|
|
323
|
+
| hooks | `Record<string, any>` \| string | Hook 配置对象或文件路径 | "./hooks/custom.json" |
|
|
324
|
+
| mcpServers | `Record<string, McpConfig>` \| string | MCP 配置对象或文件路径 | "./mcp-config.json" |
|
|
325
|
+
| lspServers | `Record<string, LspConfig>` \| string | LSP 配置对象或文件路径 | "./.lsp.json" |
|
|
326
|
+
|
|
327
|
+
**说明**:
|
|
328
|
+
- 这些扩展字段用于 marketplace.json 中配置插件的加载方式
|
|
329
|
+
- 支持直接配置对象或文件路径字符串
|
|
330
|
+
- 加载器会智能合并配置路径和默认目录扫描的结果
|
|
331
|
+
|
|
332
|
+
### 路径行为规则
|
|
333
|
+
|
|
334
|
+
**重要**:自定义路径是对默认目录的**补充**,而不是替换。
|
|
335
|
+
|
|
336
|
+
- 如果 `commands/` 目录存在,它会与自定义命令路径一起加载
|
|
337
|
+
- 所有路径必须相对于插件根目录,并以 `./` 开头
|
|
338
|
+
- 可以将多个路径指定为数组以提高灵活性
|
|
339
|
+
- 路径可以指向单个文件或目录
|
|
340
|
+
|
|
341
|
+
**路径解析规则**:
|
|
342
|
+
- 文件路径: 必须以 `.md` 结尾(对于 commands/agents)或为 `SKILL.md`(对于 skills)
|
|
343
|
+
- 目录路径: 会递归扫描目录中的所有符合条件的文件
|
|
344
|
+
|
|
345
|
+
### 环境变量
|
|
346
|
+
|
|
347
|
+
**`${CODEBUDDY_PLUGIN_ROOT}`**:包含插件目录的绝对路径。在钩子、MCP 服务器和脚本中使用此变量,以确保无论安装位置如何都能使用正确的路径。
|
|
348
|
+
|
|
349
|
+
**兼容性**:同时支持 `${CLAUDE_PLUGIN_ROOT}` 变量名以兼容 Claude Code 插件。
|
|
350
|
+
|
|
351
|
+
```json
|
|
352
|
+
{
|
|
353
|
+
"hooks": {
|
|
354
|
+
"PostToolUse": [
|
|
355
|
+
{
|
|
356
|
+
"hooks": [
|
|
357
|
+
{
|
|
358
|
+
"type": "command",
|
|
359
|
+
"command": "${CODEBUDDY_PLUGIN_ROOT}/scripts/process.sh"
|
|
360
|
+
}
|
|
361
|
+
]
|
|
362
|
+
}
|
|
363
|
+
]
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## 三、插件目录结构
|
|
371
|
+
|
|
372
|
+
### 标准插件布局
|
|
373
|
+
|
|
374
|
+
```
|
|
375
|
+
enterprise-plugin/
|
|
376
|
+
├── .codebuddy-plugin/ # 元数据目录
|
|
377
|
+
│ └── plugin.json # 必需:插件清单
|
|
378
|
+
├── commands/ # 默认命令位置
|
|
379
|
+
│ ├── status.md
|
|
380
|
+
│ └── logs.md
|
|
381
|
+
├── agents/ # 默认代理位置
|
|
382
|
+
│ ├── security-reviewer.md
|
|
383
|
+
│ ├── performance-tester.md
|
|
384
|
+
│ └── compliance-checker.md
|
|
385
|
+
├── skills/ # 代理技能
|
|
386
|
+
│ ├── code-reviewer/
|
|
387
|
+
│ │ └── SKILL.md
|
|
388
|
+
│ └── pdf-processor/
|
|
389
|
+
│ ├── SKILL.md
|
|
390
|
+
│ └── scripts/
|
|
391
|
+
├── hooks/ # 钩子配置
|
|
392
|
+
│ └── hooks.json # 钩子配置文件
|
|
393
|
+
├── .mcp.json # MCP 服务器定义
|
|
394
|
+
├── .lsp.json # LSP 服务器配置
|
|
395
|
+
├── scripts/ # 钩子和实用脚本
|
|
396
|
+
│ ├── security-scan.sh
|
|
397
|
+
│ ├── format-code.py
|
|
398
|
+
│ └── deploy.js
|
|
399
|
+
├── LICENSE # 许可证文件
|
|
400
|
+
└── README.md # 插件说明
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
**重要**:
|
|
404
|
+
- `.codebuddy-plugin/` 或 `.claude-plugin/` 目录包含 `plugin.json` 文件
|
|
405
|
+
- 所有其他目录(`commands/`、`agents/`、`skills/`、`hooks/`)必须位于插件根目录
|
|
406
|
+
- 系统优先识别 `.codebuddy-plugin/`,同时兼容 `.claude-plugin/`
|
|
407
|
+
|
|
408
|
+
### 文件位置参考
|
|
409
|
+
|
|
410
|
+
| 组件 | 默认位置 | 用途 |
|
|
411
|
+
|------|----------|------|
|
|
412
|
+
| Manifest | .codebuddy-plugin/plugin.json | 必需的元数据文件 |
|
|
413
|
+
| Commands | commands/ | 斜杠命令 markdown 文件 |
|
|
414
|
+
| Agents | agents/ | 子代理 markdown 文件 |
|
|
415
|
+
| Skills | skills/ | 带有 SKILL.md 文件的代理技能 |
|
|
416
|
+
| Hooks | hooks/hooks.json | 钩子配置 |
|
|
417
|
+
| MCP servers | .mcp.json | MCP 服务器定义 |
|
|
418
|
+
| LSP servers | .lsp.json | 语言服务器配置 |
|
|
419
|
+
|
|
420
|
+
---
|
|
421
|
+
|
|
422
|
+
## 四、市场清单架构 (marketplace.json)
|
|
423
|
+
|
|
424
|
+
### 完整架构示例
|
|
425
|
+
|
|
426
|
+
```json
|
|
427
|
+
{
|
|
428
|
+
"name": "企业插件市场",
|
|
429
|
+
"description": "企业内部插件集合",
|
|
430
|
+
"version": "1.0.0",
|
|
431
|
+
"owner": {
|
|
432
|
+
"name": "企业开发团队",
|
|
433
|
+
"email": "[email protected]"
|
|
434
|
+
},
|
|
435
|
+
"plugins": [
|
|
436
|
+
{
|
|
437
|
+
"name": "deployment-tool",
|
|
438
|
+
"description": "自动化部署工具",
|
|
439
|
+
"version": "1.0.0",
|
|
440
|
+
"source": "plugins/deployment-tool"
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"name": "code-review-bot",
|
|
444
|
+
"description": "代码审查机器人",
|
|
445
|
+
"version": "2.1.0",
|
|
446
|
+
"source": {
|
|
447
|
+
"source": "github",
|
|
448
|
+
"repo": "company/code-review-bot"
|
|
449
|
+
}
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"name": "security-scanner",
|
|
453
|
+
"description": "安全扫描工具",
|
|
454
|
+
"version": "1.5.0",
|
|
455
|
+
"source": {
|
|
456
|
+
"source": "url",
|
|
457
|
+
"url": "https://github.com/company/security-scanner.git"
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
]
|
|
461
|
+
}
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### 必需字段
|
|
465
|
+
|
|
466
|
+
| 字段 | 类型 | 描述 | 示例 |
|
|
467
|
+
|------|------|------|------|
|
|
468
|
+
| name | string | 市场名称 | "企业插件市场" |
|
|
469
|
+
| plugins | array | 插件列表 | 见下方 |
|
|
470
|
+
|
|
471
|
+
### 元数据字段
|
|
472
|
+
|
|
473
|
+
| 字段 | 类型 | 描述 | 示例 |
|
|
474
|
+
|------|------|------|------|
|
|
475
|
+
| description | string | 市场描述 | "企业内部插件集合" |
|
|
476
|
+
| version | string | 市场版本 | "1.0.0" |
|
|
477
|
+
| owner | object | 所有者信息 | `{"name": "团队", "email": "..."}` |
|
|
478
|
+
|
|
479
|
+
### 插件条目 (MarketplacePluginEntry)
|
|
480
|
+
|
|
481
|
+
每个插件条目包含以下字段:
|
|
482
|
+
|
|
483
|
+
| 字段 | 类型 | 必需 | 描述 |
|
|
484
|
+
|------|------|------|------|
|
|
485
|
+
| name | string | ✓ | 插件唯一标识符 |
|
|
486
|
+
| description | string | ✓ | 插件描述 |
|
|
487
|
+
| version | string | | 插件版本号 |
|
|
488
|
+
| source | string \| PluginSource | ✓ | 插件源配置 |
|
|
489
|
+
| strict | boolean | | 严格模式(兼容 superpowers-marketplace) |
|
|
490
|
+
|
|
491
|
+
### PluginSource 配置
|
|
492
|
+
|
|
493
|
+
插件源支持三种类型:
|
|
494
|
+
|
|
495
|
+
#### 1. 本地相对路径(字符串)
|
|
496
|
+
```json
|
|
497
|
+
{
|
|
498
|
+
"source": "plugins/my-plugin"
|
|
499
|
+
}
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
#### 2. 本地路径(对象)
|
|
503
|
+
```json
|
|
504
|
+
{
|
|
505
|
+
"source": {
|
|
506
|
+
"source": "local",
|
|
507
|
+
"path": "plugins/my-plugin"
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
#### 3. GitHub 仓库
|
|
513
|
+
```json
|
|
514
|
+
{
|
|
515
|
+
"source": {
|
|
516
|
+
"source": "github",
|
|
517
|
+
"repo": "owner/repo-name"
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
#### 4. Git URL
|
|
523
|
+
```json
|
|
524
|
+
{
|
|
525
|
+
"source": {
|
|
526
|
+
"source": "url",
|
|
527
|
+
"url": "https://github.com/owner/repo.git"
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
### 市场类型
|
|
533
|
+
|
|
534
|
+
CodeBuddy 支持四种市场类型:
|
|
535
|
+
|
|
536
|
+
| 类型 | 说明 | source 字段 |
|
|
537
|
+
|------|------|-------------|
|
|
538
|
+
| Directory | 本地文件系统目录 | path:本地目录绝对路径 |
|
|
539
|
+
| Github | GitHub 仓库 | repo: owner/repo 格式 |
|
|
540
|
+
| Git | Git 仓库 | url: Git 仓库 URL |
|
|
541
|
+
| URL | HTTP/HTTPS 远端 | url: marketplace.json 的 URL |
|
|
542
|
+
|
|
543
|
+
---
|
|
544
|
+
|
|
545
|
+
## 五、插件加载机制
|
|
546
|
+
|
|
547
|
+
### 加载流程
|
|
548
|
+
|
|
549
|
+
1. **市场安装**:
|
|
550
|
+
- 从配置的源安装市场
|
|
551
|
+
- 读取 `marketplace.json` 获取插件列表
|
|
552
|
+
|
|
553
|
+
2. **插件安装**:
|
|
554
|
+
- 根据 `source` 配置选择合适的安装器(Local/Git)
|
|
555
|
+
- 将插件内容安装到目标位置
|
|
556
|
+
|
|
557
|
+
3. **插件启用**:
|
|
558
|
+
- 读取插件的 `plugin.json` 清单
|
|
559
|
+
- 根据清单配置加载各类组件
|
|
560
|
+
|
|
561
|
+
4. **组件加载**:
|
|
562
|
+
- 并发加载所有类型的扩展组件
|
|
563
|
+
- 合并配置路径和默认目录扫描的结果
|
|
564
|
+
- 缓存加载的组件以提高性能
|
|
565
|
+
|
|
566
|
+
### 加载器智能合并
|
|
567
|
+
|
|
568
|
+
每个扩展加载器都会智能合并两个来源的内容:
|
|
569
|
+
|
|
570
|
+
1. **配置路径**:在 `plugin.json` 或运行时配置中指定的路径
|
|
571
|
+
2. **默认扫描**:默认目录(如 `commands/`、`agents/`)中的文件
|
|
572
|
+
|
|
573
|
+
**示例**:
|
|
574
|
+
```json
|
|
575
|
+
{
|
|
576
|
+
"commands": ["./custom/deploy.md"],
|
|
577
|
+
// 实际加载:
|
|
578
|
+
// - ./custom/deploy.md (配置路径)
|
|
579
|
+
// - commands/ 目录中的所有 .md 文件 (默认扫描)
|
|
580
|
+
}
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
### 命令名称生成规则
|
|
584
|
+
|
|
585
|
+
- 文件名: `command.md` → 命令名: `command`
|
|
586
|
+
- 子目录: `deploy/prod.md` → 命令名: `deploy:prod`
|
|
587
|
+
- 插件前缀: 自动添加插件名作为前缀,如 `plugin-name:command`
|
|
588
|
+
|
|
589
|
+
### 代理和技能标签
|
|
590
|
+
|
|
591
|
+
所有从插件加载的代理和技能都会自动添加以下标签:
|
|
592
|
+
- 来源标签: `(plugin-name@marketplace-name)`
|
|
593
|
+
- 类型标签: `plugin`
|
|
594
|
+
- 自定义标签: `custom-agent` 或 `custom-command`
|
|
595
|
+
|
|
596
|
+
---
|
|
597
|
+
|
|
598
|
+
## 六、调试和开发工具
|
|
599
|
+
|
|
600
|
+
### 查看插件加载日志
|
|
601
|
+
|
|
602
|
+
使用 `--verbose` 参数查看详细的插件加载信息:
|
|
603
|
+
|
|
604
|
+
```bash
|
|
605
|
+
codebuddy --verbose
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
**显示内容**:
|
|
609
|
+
- 正在加载哪些插件
|
|
610
|
+
- 插件清单中的任何错误
|
|
611
|
+
- 命令、代理和技能注册
|
|
612
|
+
- MCP 服务器初始化
|
|
613
|
+
- Hooks 配置加载
|
|
614
|
+
|
|
615
|
+
### 常见问题排查
|
|
616
|
+
|
|
617
|
+
| 问题 | 原因 | 解决方案 |
|
|
618
|
+
|------|------|----------|
|
|
619
|
+
| 插件未加载 | 无效的 plugin.json | 验证 JSON 语法,检查必需字段 |
|
|
620
|
+
| 命令未出现 | 错误的目录结构 | 确保 commands/ 在插件根目录 |
|
|
621
|
+
| 钩子未触发 | 脚本不可执行 | 运行 `chmod +x script.sh` |
|
|
622
|
+
| MCP 服务器失败 | 缺少环境变量 | 使用 `${CODEBUDDY_PLUGIN_ROOT}` |
|
|
623
|
+
| 路径错误 | 使用了绝对路径 | 所有路径必须是相对路径并以 `./` 开头 |
|
|
624
|
+
| 元数据目录未识别 | 使用了错误的目录名 | 使用 `.codebuddy-plugin/` 或 `.claude-plugin/` |
|
|
625
|
+
| LSP `Executable not found in $PATH` | 语言服务器未安装 | 安装二进制文件(例如:`npm install -g typescript-language-server typescript`) |
|
|
626
|
+
|
|
627
|
+
### 插件开发最佳实践
|
|
628
|
+
|
|
629
|
+
1. **使用相对路径**:所有文件引用使用相对路径,确保跨环境兼容
|
|
630
|
+
2. **环境变量**:在脚本中使用 `${CODEBUDDY_PLUGIN_ROOT}` 引用插件目录
|
|
631
|
+
3. **错误处理**:为钩子脚本添加适当的错误处理和超时设置
|
|
632
|
+
4. **文档完善**:在 README.md 中提供清晰的安装和使用说明
|
|
633
|
+
5. **语义化版本**:遵循语义化版本规范管理插件版本
|
|
634
|
+
6. **测试覆盖**:在不同环境下测试插件的安装和功能
|
|
635
|
+
|
|
636
|
+
---
|
|
637
|
+
|
|
638
|
+
## 七、版本管理参考
|
|
639
|
+
|
|
640
|
+
### 语义化版本控制
|
|
641
|
+
|
|
642
|
+
遵循语义化版本控制进行插件发布:
|
|
643
|
+
|
|
644
|
+
- **主版本号 (MAJOR)**:不兼容的 API 更改
|
|
645
|
+
- **次版本号 (MINOR)**:向后兼容的功能添加
|
|
646
|
+
- **修订号 (PATCH)**:向后兼容的错误修复
|
|
647
|
+
|
|
648
|
+
示例: `1.2.0` → `1.2.1` (修复) → `1.3.0` (新功能) → `2.0.0` (破坏性更改)
|
|
649
|
+
|
|
650
|
+
### 插件更新流程
|
|
651
|
+
|
|
652
|
+
1. 修改插件代码和资源
|
|
653
|
+
2. 更新 `plugin.json` 中的 version 字段
|
|
654
|
+
3. 在 CHANGELOG.md 中记录变更
|
|
655
|
+
4. 提交到版本控制系统
|
|
656
|
+
5. 用户通过 marketplace 更新插件
|
|
657
|
+
|
|
658
|
+
---
|
|
659
|
+
|
|
660
|
+
## 八、CLI 命令参考
|
|
661
|
+
|
|
662
|
+
### 市场管理
|
|
663
|
+
|
|
664
|
+
```bash
|
|
665
|
+
# 添加市场
|
|
666
|
+
codebuddy plugin marketplace add <source> [--name <name>]
|
|
667
|
+
|
|
668
|
+
# 列出市场
|
|
669
|
+
codebuddy plugin marketplace list
|
|
670
|
+
|
|
671
|
+
# 更新市场
|
|
672
|
+
codebuddy plugin marketplace update <name>
|
|
673
|
+
|
|
674
|
+
# 删除市场
|
|
675
|
+
codebuddy plugin marketplace remove <name>
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
### 插件管理
|
|
679
|
+
|
|
680
|
+
```bash
|
|
681
|
+
# 安装插件
|
|
682
|
+
codebuddy plugin install <plugin-name> <marketplace-name>
|
|
683
|
+
|
|
684
|
+
# 列出已安装插件
|
|
685
|
+
codebuddy plugin list [--marketplace <name>]
|
|
686
|
+
|
|
687
|
+
# 启用插件
|
|
688
|
+
codebuddy plugin enable <plugin-name> <marketplace-name>
|
|
689
|
+
|
|
690
|
+
# 禁用插件
|
|
691
|
+
codebuddy plugin disable <plugin-name> <marketplace-name>
|
|
692
|
+
|
|
693
|
+
# 卸载插件
|
|
694
|
+
codebuddy plugin uninstall <plugin-name> <marketplace-name>
|
|
695
|
+
|
|
696
|
+
# 更新插件
|
|
697
|
+
codebuddy plugin update <plugin-name> <marketplace-name>
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
### 市场源格式
|
|
701
|
+
|
|
702
|
+
支持以下格式添加市场:
|
|
703
|
+
|
|
704
|
+
```bash
|
|
705
|
+
# 本地目录
|
|
706
|
+
codebuddy plugin marketplace add /path/to/marketplace
|
|
707
|
+
|
|
708
|
+
# GitHub 简写
|
|
709
|
+
codebuddy plugin marketplace add owner/repo
|
|
710
|
+
|
|
711
|
+
# Git URL
|
|
712
|
+
codebuddy plugin marketplace add https://github.com/owner/repo.git
|
|
713
|
+
|
|
714
|
+
# HTTP URL (marketplace.json)
|
|
715
|
+
codebuddy plugin marketplace add https://example.com/marketplace.json
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
---
|
|
719
|
+
|
|
720
|
+
## 九、与 Claude Code 的兼容性
|
|
721
|
+
|
|
722
|
+
CodeBuddy 插件系统在设计上兼容 Claude Code 插件规范,但存在以下差异:
|
|
723
|
+
|
|
724
|
+
### 命名差异
|
|
725
|
+
|
|
726
|
+
| 概念 | Claude Code | CodeBuddy |
|
|
727
|
+
|------|-------------|-----------|
|
|
728
|
+
| 元数据目录 | `.claude-plugin/` | `.codebuddy-plugin/` (优先) 或 `.claude-plugin/` (兼容) |
|
|
729
|
+
| 环境变量 | `${CLAUDE_PLUGIN_ROOT}` | `${CODEBUDDY_PLUGIN_ROOT}` (优先) 或 `${CLAUDE_PLUGIN_ROOT}` (兼容) |
|
|
730
|
+
|
|
731
|
+
### 扩展功能
|
|
732
|
+
|
|
733
|
+
CodeBuddy 在 Claude Code 基础上提供了以下扩展:
|
|
734
|
+
|
|
735
|
+
1. **运行时配置**: PluginInfo 支持运行时扩展字段配置
|
|
736
|
+
2. **多元数据目录**:同时支持 `.codebuddy-plugin/` 和 `.claude-plugin/`
|
|
737
|
+
3. **灵活的配置**:支持配置对象和文件路径两种配置方式
|
|
738
|
+
|
|
739
|
+
### 迁移指南
|
|
740
|
+
|
|
741
|
+
从 Claude Code 迁移到 CodeBuddy:
|
|
742
|
+
|
|
743
|
+
1. 可选择将 `.claude-plugin/` 重命名为 `.codebuddy-plugin/`
|
|
744
|
+
2. 可选择将脚本中的 `${CLAUDE_PLUGIN_ROOT}` 替换为 `${CODEBUDDY_PLUGIN_ROOT}`
|
|
745
|
+
3. 如果使用了 `mcpServers` 字段,需要重命名为 `mcpServers`
|
|
746
|
+
|
|
747
|
+
**注意**:保持原有命名也完全兼容,CodeBuddy 会自动识别。
|
|
748
|
+
|
|
749
|
+
---
|
|
750
|
+
|
|
751
|
+
## 相关资源
|
|
752
|
+
|
|
753
|
+
- **插件开发教程** - 如何创建自定义插件
|
|
754
|
+
- **市场创建指南** - 创建和管理插件市场
|
|
755
|
+
- **Hooks 深入指南** - 事件处理和自动化
|
|
756
|
+
- **MCP 集成文档** - 外部工具集成
|
|
757
|
+
- **Settings 配置** - 插件配置选项
|
|
758
|
+
|
|
759
|
+
---
|
|
760
|
+
|
|
761
|
+
## 总结
|
|
762
|
+
|
|
763
|
+
本文档提供了 CodeBuddy 插件系统的完整技术规范,涵盖:
|
|
764
|
+
|
|
765
|
+
1. 六种插件组件类型(Commands、Agents、Skills、Hooks、MCP Servers、LSP Servers)
|
|
766
|
+
2. 完整的 plugin.json 清单架构和字段说明
|
|
767
|
+
3. marketplace.json 市场清单架构
|
|
768
|
+
4. 标准目录结构和文件位置
|
|
769
|
+
5. 插件加载机制和智能合并规则
|
|
770
|
+
6. CLI 命令和调试工具
|
|
771
|
+
7. 版本管理最佳实践
|
|
772
|
+
8. 与 Claude Code 的兼容性说明
|
|
773
|
+
|
|
774
|
+
开发者可以使用此参考文档创建功能完整、结构规范的 CodeBuddy 插件。
|