@tencent-ai/agent-sdk 0.3.99 → 0.3.100
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/cli/CHANGELOG.md +26 -0
- package/cli/dist/codebuddy-headless.js +53 -53
- package/cli/dist/web-ui/assets/index-BoMlEqUE.js +439 -0
- package/cli/dist/web-ui/assets/index-Dt1puyHn.css +32 -0
- package/cli/dist/web-ui/docs/cn/cli/acp.md +152 -0
- package/cli/dist/web-ui/docs/cn/cli/agent-teams.md +327 -0
- package/cli/dist/web-ui/docs/cn/cli/bash-sandboxing.md +290 -0
- package/cli/dist/web-ui/docs/cn/cli/best-practices.md +554 -0
- package/cli/dist/web-ui/docs/cn/cli/channels-reference.md +293 -0
- package/cli/dist/web-ui/docs/cn/cli/channels.md +215 -0
- package/cli/dist/web-ui/docs/cn/cli/checkpointing.md +51 -0
- package/cli/dist/web-ui/docs/cn/cli/cli-reference.md +187 -0
- package/cli/dist/web-ui/docs/cn/cli/common-workflows.md +1013 -0
- package/cli/dist/web-ui/docs/cn/cli/costs.md +174 -0
- package/cli/dist/web-ui/docs/cn/cli/devcontainer.md +553 -0
- package/cli/dist/web-ui/docs/cn/cli/env-vars.md +326 -0
- package/cli/dist/web-ui/docs/cn/cli/gitlab-ci-cd.md +357 -0
- package/cli/dist/web-ui/docs/cn/cli/headless.md +258 -0
- package/cli/dist/web-ui/docs/cn/cli/hooks-guide.md +9 -0
- package/cli/dist/web-ui/docs/cn/cli/hooks.md +805 -0
- package/cli/dist/web-ui/docs/cn/cli/iam.md +530 -0
- package/cli/dist/web-ui/docs/cn/cli/ide-integrations.md +92 -0
- package/cli/dist/web-ui/docs/cn/cli/installation.md +291 -0
- package/cli/dist/web-ui/docs/cn/cli/interactive-mode.md +233 -0
- package/cli/dist/web-ui/docs/cn/cli/mcp.md +739 -0
- package/cli/dist/web-ui/docs/cn/cli/memory.md +436 -0
- package/cli/dist/web-ui/docs/cn/cli/models.md +356 -0
- package/cli/dist/web-ui/docs/cn/cli/overview.md +100 -0
- package/cli/dist/web-ui/docs/cn/cli/plugin-marketplaces.md +533 -0
- package/cli/dist/web-ui/docs/cn/cli/plugins-reference.md +774 -0
- package/cli/dist/web-ui/docs/cn/cli/plugins.md +689 -0
- package/cli/dist/web-ui/docs/cn/cli/quickstart.md +249 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/README.md +199 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.10.0.md +23 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.10.1.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.11.0.md +24 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.12.0.md +21 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.13.0.md +20 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.14.0.md +22 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.14.1.md +8 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.15.0.md +18 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.15.1.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.16.0.md +20 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.17.0.md +29 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.18.0.md +17 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.19.0.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.19.1.md +14 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.19.2.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.20.0.md +23 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.20.1.md +15 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.21.0.md +13 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.22.0.md +16 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.0.md +20 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.2.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.3.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.4.md +15 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.5.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.24.0.md +17 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.25.0.md +18 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.25.1.md +21 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.26.0.md +18 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.27.0.md +16 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.27.1.md +16 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.27.2.md +7 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.27.3.md +15 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.28.0.md +26 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.28.1.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.29.0.md +35 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.3.1.md +16 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.30.0.md +19 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.30.1.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.31.0.md +51 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.31.1.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.31.2.md +16 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.32.0.md +19 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.33.0.md +28 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.33.1.md +7 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.36.3.md +17 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.0.md +15 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.1.md +15 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.10.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.11.md +8 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.12.md +14 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.13.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.14.md +24 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.15.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.16.md +9 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.17.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.18.md +9 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.19.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.2.md +28 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.20.md +8 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.3.md +22 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.4.md +19 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.5.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.6.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.7.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.8.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.9.md +8 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.38.0.md +22 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.38.1.md +6 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.38.2.md +9 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.39.0.md +18 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.4.0.md +19 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.40.0.md +20 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.40.1.md +6 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.0.md +15 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.1.md +6 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.2.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.3.md +8 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.4.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.5.md +10 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.6.md +9 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.7.md +14 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.8.md +18 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.42.0.md +39 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.42.1.md +8 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.42.3.md +18 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.43.0.md +27 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.43.1.md +27 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.44.0.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.44.1.md +22 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.45.0.md +34 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.45.1.md +7 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.46.0.md +12 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.47.0.md +20 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.48.0.md +32 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.48.1.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.0.md +26 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.1.md +14 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.2.md +39 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.3.md +7 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.5.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.6.md +9 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.7.md +7 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.5.0.md +24 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.0.md +25 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.1.md +9 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.2.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.3.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.4.md +17 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.5.md +16 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.6.md +15 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.7.md +15 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.51.0.md +24 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.51.1.md +17 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.51.2.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.0.md +30 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.1.md +28 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.2.md +12 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.3.md +13 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.4.md +27 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.5.md +21 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.6.md +7 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.53.0.md +29 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.54.0.md +26 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.55.0.md +21 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.55.1.md +13 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.56.0.md +20 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.56.1.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.57.0.md +32 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.57.1.md +10 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.58.0.md +34 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.59.0.md +28 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.6.0.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.6.1.md +10 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.60.0.md +20 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.61.0.md +29 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.61.1.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.61.2.md +6 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.61.3.md +13 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.62.0.md +21 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.62.1.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.0.md +19 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.1.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.2.md +7 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.3.md +6 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.4.md +8 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.5.md +6 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.64.0.md +37 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.64.1.md +6 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.64.2.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.65.0.md +19 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.65.1.md +11 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.66.0.md +15 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.66.1.md +14 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.66.2.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.67.0.md +33 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.7.0.md +16 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.0.md +18 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.1.md +17 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.2.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.3.md +14 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.4.md +9 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.5.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.6.md +14 -0
- package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.9.0.md +5 -0
- package/cli/dist/web-ui/docs/cn/cli/remote-control.md +247 -0
- package/cli/dist/web-ui/docs/cn/cli/sandboxing.md +316 -0
- package/cli/dist/web-ui/docs/cn/cli/scheduled-tasks.md +161 -0
- package/cli/dist/web-ui/docs/cn/cli/sdk-custom-tools.md +1195 -0
- package/cli/dist/web-ui/docs/cn/cli/sdk-demos.md +347 -0
- package/cli/dist/web-ui/docs/cn/cli/sdk-hooks.md +803 -0
- package/cli/dist/web-ui/docs/cn/cli/sdk-mcp.md +643 -0
- package/cli/dist/web-ui/docs/cn/cli/sdk-permissions.md +501 -0
- package/cli/dist/web-ui/docs/cn/cli/sdk-python.md +783 -0
- package/cli/dist/web-ui/docs/cn/cli/sdk-sessions.md +332 -0
- package/cli/dist/web-ui/docs/cn/cli/sdk-typescript.md +759 -0
- package/cli/dist/web-ui/docs/cn/cli/sdk.md +1105 -0
- package/cli/dist/web-ui/docs/cn/cli/security.md +387 -0
- package/cli/dist/web-ui/docs/cn/cli/settings.md +602 -0
- package/cli/dist/web-ui/docs/cn/cli/skills.md +448 -0
- package/cli/dist/web-ui/docs/cn/cli/slash-commands.md +397 -0
- package/cli/dist/web-ui/docs/cn/cli/statusline.md +525 -0
- package/cli/dist/web-ui/docs/cn/cli/sub-agents.md +634 -0
- package/cli/dist/web-ui/docs/cn/cli/terminal-config.md +77 -0
- package/cli/dist/web-ui/docs/cn/cli/tools-reference.md +99 -0
- package/cli/dist/web-ui/docs/cn/cli/troubleshooting.md +190 -0
- package/cli/dist/web-ui/docs/cn/cli/web-ui.md +164 -0
- package/cli/dist/web-ui/docs/cn/cli/wecom-bot-setup.md +274 -0
- package/cli/dist/web-ui/docs/cn/cli/worktree.md +660 -0
- package/cli/dist/web-ui/docs/en/cli/acp.md +126 -0
- package/cli/dist/web-ui/docs/en/cli/agent-teams.md +327 -0
- package/cli/dist/web-ui/docs/en/cli/bash-sandboxing.md +357 -0
- package/cli/dist/web-ui/docs/en/cli/best-practices.md +554 -0
- package/cli/dist/web-ui/docs/en/cli/channels-reference.md +293 -0
- package/cli/dist/web-ui/docs/en/cli/channels.md +215 -0
- package/cli/dist/web-ui/docs/en/cli/checkpointing.md +53 -0
- package/cli/dist/web-ui/docs/en/cli/cli-reference.md +187 -0
- package/cli/dist/web-ui/docs/en/cli/common-workflows.md +1011 -0
- package/cli/dist/web-ui/docs/en/cli/costs.md +174 -0
- package/cli/dist/web-ui/docs/en/cli/devcontainer.md +553 -0
- package/cli/dist/web-ui/docs/en/cli/env-vars.md +326 -0
- package/cli/dist/web-ui/docs/en/cli/gitlab-ci-cd.md +357 -0
- package/cli/dist/web-ui/docs/en/cli/headless.md +258 -0
- package/cli/dist/web-ui/docs/en/cli/hooks-guide.md +9 -0
- package/cli/dist/web-ui/docs/en/cli/hooks.md +801 -0
- package/cli/dist/web-ui/docs/en/cli/iam.md +526 -0
- package/cli/dist/web-ui/docs/en/cli/ide-integrations.md +92 -0
- package/cli/dist/web-ui/docs/en/cli/installation.md +266 -0
- package/cli/dist/web-ui/docs/en/cli/interactive-mode.md +233 -0
- package/cli/dist/web-ui/docs/en/cli/mcp.md +739 -0
- package/cli/dist/web-ui/docs/en/cli/memory.md +436 -0
- package/cli/dist/web-ui/docs/en/cli/models.md +355 -0
- package/cli/dist/web-ui/docs/en/cli/overview.md +100 -0
- package/cli/dist/web-ui/docs/en/cli/plugin-marketplaces.md +534 -0
- package/cli/dist/web-ui/docs/en/cli/plugins-reference.md +774 -0
- package/cli/dist/web-ui/docs/en/cli/plugins.md +688 -0
- package/cli/dist/web-ui/docs/en/cli/quickstart.md +249 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/README.md +193 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.10.0.md +23 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.10.1.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.11.0.md +24 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.12.0.md +21 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.13.0.md +20 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.14.0.md +22 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.14.1.md +8 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.15.0.md +18 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.15.1.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.16.0.md +20 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.17.0.md +29 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.18.0.md +17 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.19.0.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.19.1.md +14 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.19.2.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.20.0.md +23 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.20.1.md +15 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.21.0.md +13 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.22.0.md +16 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.0.md +41 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.2.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.3.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.4.md +15 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.5.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.24.0.md +17 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.25.0.md +18 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.25.1.md +21 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.26.0.md +18 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.27.0.md +16 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.27.1.md +16 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.27.2.md +7 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.27.3.md +15 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.28.0.md +26 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.28.1.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.29.0.md +35 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.3.1.md +16 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.30.0.md +19 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.30.1.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.31.0.md +51 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.31.1.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.31.2.md +16 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.32.0.md +19 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.33.0.md +28 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.33.1.md +7 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.34.0.md +27 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.34.1.md +7 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.35.0.md +22 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.36.0.md +23 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.36.1.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.36.2.md +22 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.36.3.md +17 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.0.md +15 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.1.md +15 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.10.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.11.md +8 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.12.md +14 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.13.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.14.md +24 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.15.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.16.md +9 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.17.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.18.md +9 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.19.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.2.md +28 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.20.md +8 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.3.md +22 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.4.md +19 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.5.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.6.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.7.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.8.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.9.md +8 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.38.0.md +22 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.38.1.md +6 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.38.2.md +9 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.39.0.md +18 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.4.0.md +19 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.40.0.md +20 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.40.1.md +6 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.0.md +15 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.1.md +6 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.2.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.3.md +8 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.4.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.5.md +10 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.6.md +9 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.7.md +14 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.8.md +18 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.42.0.md +39 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.42.1.md +8 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.42.3.md +18 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.43.0.md +27 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.43.1.md +27 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.44.0.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.44.1.md +22 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.45.0.md +34 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.45.1.md +7 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.46.0.md +12 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.47.0.md +20 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.48.0.md +32 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.48.1.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.0.md +26 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.1.md +14 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.2.md +39 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.3.md +7 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.5.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.6.md +9 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.7.md +7 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.5.0.md +24 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.0.md +25 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.1.md +9 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.2.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.3.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.4.md +17 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.5.md +16 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.6.md +15 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.7.md +15 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.51.0.md +24 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.51.1.md +17 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.51.2.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.0.md +30 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.1.md +28 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.2.md +12 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.3.md +13 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.4.md +27 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.5.md +21 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.6.md +7 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.53.0.md +29 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.54.0.md +26 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.55.0.md +21 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.55.1.md +13 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.56.0.md +20 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.56.1.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.57.0.md +32 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.57.1.md +10 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.58.0.md +34 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.59.0.md +28 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.6.0.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.6.1.md +10 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.60.0.md +20 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.61.0.md +29 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.61.1.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.61.2.md +6 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.61.3.md +13 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.62.0.md +21 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.62.1.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.0.md +19 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.1.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.2.md +7 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.3.md +6 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.4.md +8 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.5.md +6 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.64.0.md +37 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.64.1.md +6 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.64.2.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.65.0.md +19 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.65.1.md +11 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.66.0.md +15 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.66.1.md +14 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.66.2.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.67.0.md +33 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.7.0.md +16 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.0.md +18 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.1.md +17 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.2.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.3.md +14 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.4.md +9 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.5.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.6.md +14 -0
- package/cli/dist/web-ui/docs/en/cli/release-notes/v2.9.0.md +5 -0
- package/cli/dist/web-ui/docs/en/cli/remote-control.md +247 -0
- package/cli/dist/web-ui/docs/en/cli/sandboxing.md +316 -0
- package/cli/dist/web-ui/docs/en/cli/scheduled-tasks.md +160 -0
- package/cli/dist/web-ui/docs/en/cli/sdk-custom-tools.md +1131 -0
- package/cli/dist/web-ui/docs/en/cli/sdk-demos.md +347 -0
- package/cli/dist/web-ui/docs/en/cli/sdk-hooks.md +813 -0
- package/cli/dist/web-ui/docs/en/cli/sdk-mcp.md +645 -0
- package/cli/dist/web-ui/docs/en/cli/sdk-permissions.md +461 -0
- package/cli/dist/web-ui/docs/en/cli/sdk-python.md +797 -0
- package/cli/dist/web-ui/docs/en/cli/sdk-sessions.md +340 -0
- package/cli/dist/web-ui/docs/en/cli/sdk-typescript.md +770 -0
- package/cli/dist/web-ui/docs/en/cli/sdk.md +1103 -0
- package/cli/dist/web-ui/docs/en/cli/security.md +388 -0
- package/cli/dist/web-ui/docs/en/cli/settings.md +602 -0
- package/cli/dist/web-ui/docs/en/cli/skills.md +448 -0
- package/cli/dist/web-ui/docs/en/cli/slash-commands.md +397 -0
- package/cli/dist/web-ui/docs/en/cli/statusline.md +525 -0
- package/cli/dist/web-ui/docs/en/cli/sub-agents.md +621 -0
- package/cli/dist/web-ui/docs/en/cli/terminal-config.md +77 -0
- package/cli/dist/web-ui/docs/en/cli/tools-reference.md +99 -0
- package/cli/dist/web-ui/docs/en/cli/troubleshooting.md +190 -0
- package/cli/dist/web-ui/docs/en/cli/web-ui.md +164 -0
- package/cli/dist/web-ui/docs/en/cli/wecom-bot-setup.md +274 -0
- package/cli/dist/web-ui/docs/en/cli/worktree.md +660 -0
- package/cli/dist/web-ui/docs/search-index-en.json +1 -0
- package/cli/dist/web-ui/docs/search-index-zh.json +1 -0
- package/cli/dist/web-ui/docs/sidebar-en.json +1 -0
- package/cli/dist/web-ui/docs/sidebar-zh.json +1 -0
- package/cli/dist/web-ui/index.html +2 -2
- package/cli/package.json +1 -1
- package/cli/product.cloudhosted.json +2 -2
- package/cli/product.internal.json +2 -2
- package/cli/product.ioa.json +2 -2
- package/cli/product.json +3 -3
- package/cli/product.selfhosted.json +2 -2
- package/package.json +1 -1
- package/cli/dist/web-ui/assets/index-BPT-qRRx.js +0 -411
- package/cli/dist/web-ui/assets/index-f_ibHSHw.css +0 -32
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
# Channels Reference [Beta]
|
|
2
|
+
|
|
3
|
+
> **Beta Feature**: Channels is currently in Beta. The protocol and interfaces may be adjusted based on feedback.
|
|
4
|
+
|
|
5
|
+
A Channel is a special MCP server that pushes external events (webhooks, chat messages, monitoring alerts, etc.) into a CodeBuddy Code session, allowing CodeBuddy Code to react to things happening outside the terminal.
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
A Channel runs on the same machine as CodeBuddy Code and communicates via stdio. CodeBuddy Code launches it as a child process.
|
|
10
|
+
|
|
11
|
+
Typical use cases:
|
|
12
|
+
|
|
13
|
+
- **Chat platforms** (Telegram, Discord): The plugin runs locally, polls the platform API for new messages, and forwards them to CodeBuddy Code
|
|
14
|
+
- **Webhooks** (CI, monitoring): A server listens on a local HTTP port, receives POST requests from external systems, and pushes them to CodeBuddy Code
|
|
15
|
+
|
|
16
|
+
Channels operate in two modes:
|
|
17
|
+
|
|
18
|
+
| Mode | Description |
|
|
19
|
+
|------|-------------|
|
|
20
|
+
| One-way | Only forwards events to CodeBuddy Code (alerts, webhooks), processed in the local session |
|
|
21
|
+
| Two-way | Additionally exposes a reply tool, allowing CodeBuddy Code to send responses |
|
|
22
|
+
|
|
23
|
+
## Using a Channel
|
|
24
|
+
|
|
25
|
+
### Startup
|
|
26
|
+
|
|
27
|
+
Use the `--channels` parameter to specify which channels to load:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Load a plugin-type channel
|
|
31
|
+
codebuddy --channels plugin:fakechat@claude-plugins-official
|
|
32
|
+
|
|
33
|
+
# Load a channel server configured in .mcp.json
|
|
34
|
+
codebuddy --channels server:webhook
|
|
35
|
+
|
|
36
|
+
# Load multiple channels (comma-separated)
|
|
37
|
+
codebuddy --channels plugin:telegram@claude-plugins-official,plugin:discord@claude-plugins-official
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Development Mode
|
|
41
|
+
|
|
42
|
+
Use the `--dangerously-load-development-channels` flag to test custom channels during initial development. This flag allows any channel to run without being on the allowlist:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
codebuddy --dangerously-load-development-channels server:my-webhook
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
This flag only bypasses the allowlist check; the `channelsEnabled` organization policy still applies. Once a channel is submitted to the official marketplace and passes security review, it gets added to the allowlist and can be loaded directly with `--channels`.
|
|
49
|
+
|
|
50
|
+
### Channel Messages in Sessions
|
|
51
|
+
|
|
52
|
+
Channel messages are injected into CodeBuddy Code's context as `<channel>` tags:
|
|
53
|
+
|
|
54
|
+
```xml
|
|
55
|
+
<channel source="fakechat" sender="web" chat_id="1">Hello, can you help me look at this issue</channel>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
In the TUI, channel messages are displayed in a friendly format:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
#fakechat · web: Hello, can you help me look at this issue
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Settings
|
|
65
|
+
|
|
66
|
+
Channel functionality can be controlled in `settings.json`:
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"channelsEnabled": true
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Set to `false` to completely disable channel functionality.
|
|
75
|
+
|
|
76
|
+
## Building a Channel
|
|
77
|
+
|
|
78
|
+
### Basic Requirements
|
|
79
|
+
|
|
80
|
+
A channel server needs to:
|
|
81
|
+
|
|
82
|
+
1. Declare the `claude/channel` capability so CodeBuddy Code registers a notification listener
|
|
83
|
+
2. Send `notifications/claude/channel` events
|
|
84
|
+
3. Connect via stdio transport (CodeBuddy Code launches it as a child process)
|
|
85
|
+
|
|
86
|
+
### Minimal Example: Webhook Receiver
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
#!/usr/bin/env bun
|
|
90
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js'
|
|
91
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
92
|
+
|
|
93
|
+
const mcp = new Server(
|
|
94
|
+
{ name: 'webhook', version: '0.0.1' },
|
|
95
|
+
{
|
|
96
|
+
capabilities: { experimental: { 'claude/channel': {} } },
|
|
97
|
+
instructions: 'Events from webhook arrive as <channel source="webhook" ...> tags. One-way channel, just read and process.',
|
|
98
|
+
},
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
await mcp.connect(new StdioServerTransport())
|
|
102
|
+
|
|
103
|
+
Bun.serve({
|
|
104
|
+
port: 8788,
|
|
105
|
+
hostname: '127.0.0.1',
|
|
106
|
+
async fetch(req) {
|
|
107
|
+
const body = await req.text()
|
|
108
|
+
await mcp.notification({
|
|
109
|
+
method: 'notifications/claude/channel',
|
|
110
|
+
params: {
|
|
111
|
+
content: body,
|
|
112
|
+
meta: { path: new URL(req.url).pathname, method: req.method },
|
|
113
|
+
},
|
|
114
|
+
})
|
|
115
|
+
return new Response('ok')
|
|
116
|
+
},
|
|
117
|
+
})
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Register in `.mcp.json`:
|
|
121
|
+
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"mcpServers": {
|
|
125
|
+
"webhook": { "command": "bun", "args": ["./webhook.ts"] }
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Server Configuration Options
|
|
131
|
+
|
|
132
|
+
| Field | Type | Description |
|
|
133
|
+
|-------|------|-------------|
|
|
134
|
+
| `capabilities.experimental['claude/channel']` | `object` | **Required**. Always `{}`. Once declared, CodeBuddy Code registers a notification listener |
|
|
135
|
+
| `capabilities.experimental['claude/channel/permission']` | `object` | Optional. Always `{}`. Declares that this channel can receive permission relay requests |
|
|
136
|
+
| `capabilities.tools` | `object` | Required for two-way channels. Always `{}`. Standard MCP tool capability |
|
|
137
|
+
| `instructions` | `string` | Recommended. Injected into the system prompt, telling CodeBuddy Code how to handle events from this channel |
|
|
138
|
+
|
|
139
|
+
## Notification Format
|
|
140
|
+
|
|
141
|
+
When sending `notifications/claude/channel` notifications, params contains two fields:
|
|
142
|
+
|
|
143
|
+
| Field | Type | Description |
|
|
144
|
+
|-------|------|-------------|
|
|
145
|
+
| `content` | `string` | Event content, becomes the body of the `<channel>` tag |
|
|
146
|
+
| `meta` | `Record<string, string>` | Optional. Each key-value pair becomes an attribute of the `<channel>` tag. Key names only allow letters, numbers, and underscores; keys containing hyphens or other characters are silently discarded |
|
|
147
|
+
|
|
148
|
+
Example:
|
|
149
|
+
|
|
150
|
+
```ts
|
|
151
|
+
await mcp.notification({
|
|
152
|
+
method: 'notifications/claude/channel',
|
|
153
|
+
params: {
|
|
154
|
+
content: 'build failed on main',
|
|
155
|
+
meta: { severity: 'high', run_id: '1234' },
|
|
156
|
+
},
|
|
157
|
+
})
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Format when arriving at CodeBuddy Code:
|
|
161
|
+
|
|
162
|
+
```xml
|
|
163
|
+
<channel source="webhook" severity="high" run_id="1234">
|
|
164
|
+
build failed on main
|
|
165
|
+
</channel>
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Exposing a Reply Tool
|
|
169
|
+
|
|
170
|
+
Two-way channels need to expose standard MCP tools for CodeBuddy Code to reply to messages:
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js'
|
|
174
|
+
|
|
175
|
+
mcp.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
176
|
+
tools: [{
|
|
177
|
+
name: 'reply',
|
|
178
|
+
description: 'Send a reply message through this channel',
|
|
179
|
+
inputSchema: {
|
|
180
|
+
type: 'object',
|
|
181
|
+
properties: {
|
|
182
|
+
chat_id: { type: 'string', description: 'The conversation ID to reply to' },
|
|
183
|
+
text: { type: 'string', description: 'The message to send' },
|
|
184
|
+
},
|
|
185
|
+
required: ['chat_id', 'text'],
|
|
186
|
+
},
|
|
187
|
+
}],
|
|
188
|
+
}))
|
|
189
|
+
|
|
190
|
+
mcp.setRequestHandler(CallToolRequestSchema, async req => {
|
|
191
|
+
if (req.params.name === 'reply') {
|
|
192
|
+
const { chat_id, text } = req.params.arguments as { chat_id: string; text: string }
|
|
193
|
+
// Call your chat platform API to send the message
|
|
194
|
+
await sendToPlatform(chat_id, text)
|
|
195
|
+
return { content: [{ type: 'text', text: 'sent' }] }
|
|
196
|
+
}
|
|
197
|
+
throw new Error(`unknown tool: ${req.params.name}`)
|
|
198
|
+
})
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Sender Security Controls
|
|
202
|
+
|
|
203
|
+
An unprotected channel is a prompt injection attack vector. Anyone who can reach your endpoint can inject text into CodeBuddy Code.
|
|
204
|
+
|
|
205
|
+
Before calling `mcp.notification()`, you must verify the sender's identity:
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
const allowed = new Set(loadAllowlist())
|
|
209
|
+
|
|
210
|
+
// In the message handler, before sending the notification:
|
|
211
|
+
if (!allowed.has(message.from.id)) { // Check sender ID, not group ID
|
|
212
|
+
return // Silently discard
|
|
213
|
+
}
|
|
214
|
+
await mcp.notification({ ... })
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Important**: Always validate based on sender identity (`message.from.id`) rather than chat room identity (`message.chat.id`). In group chats, these two values differ, and validating by group would allow anyone in the group to inject messages into the session.
|
|
218
|
+
|
|
219
|
+
## Permission Relay
|
|
220
|
+
|
|
221
|
+
When CodeBuddy Code calls a tool that requires approval (such as `Bash`, `Write`, `Edit`), the local terminal opens a permission dialog. Two-way channels can optionally receive this prompt as well, allowing you to approve or deny from a remote device.
|
|
222
|
+
|
|
223
|
+
Both the local terminal and remote channel dialogs open simultaneously. **The first response wins**, and the other is automatically dismissed.
|
|
224
|
+
|
|
225
|
+
### Enabling Permission Relay
|
|
226
|
+
|
|
227
|
+
Add `claude/channel/permission` in the Server constructor:
|
|
228
|
+
|
|
229
|
+
```ts
|
|
230
|
+
capabilities: {
|
|
231
|
+
experimental: {
|
|
232
|
+
'claude/channel': {},
|
|
233
|
+
'claude/channel/permission': {}, // Enable permission relay
|
|
234
|
+
},
|
|
235
|
+
tools: {},
|
|
236
|
+
},
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Permission Request Fields
|
|
240
|
+
|
|
241
|
+
CodeBuddy Code sends `notifications/claude/channel/permission_request` with the following fields:
|
|
242
|
+
|
|
243
|
+
| Field | Description |
|
|
244
|
+
|-------|-------------|
|
|
245
|
+
| `request_id` | 5 lowercase letters (excluding `l`), used to match replies |
|
|
246
|
+
| `tool_name` | The tool CodeBuddy Code wants to use, e.g., `Bash`, `Write` |
|
|
247
|
+
| `description` | Human-readable description of the tool call |
|
|
248
|
+
| `input_preview` | JSON string of tool parameters, truncated to 200 characters |
|
|
249
|
+
|
|
250
|
+
### Sending a Verdict
|
|
251
|
+
|
|
252
|
+
Your channel needs to send a `notifications/claude/channel/permission` notification:
|
|
253
|
+
|
|
254
|
+
```ts
|
|
255
|
+
await mcp.notification({
|
|
256
|
+
method: 'notifications/claude/channel/permission',
|
|
257
|
+
params: {
|
|
258
|
+
request_id: '<received request_id>',
|
|
259
|
+
behavior: 'allow', // or 'deny'
|
|
260
|
+
},
|
|
261
|
+
})
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### Handling Inbound Verdicts
|
|
265
|
+
|
|
266
|
+
In your inbound message handler, recognize replies in the format `yes <id>` or `no <id>`:
|
|
267
|
+
|
|
268
|
+
```ts
|
|
269
|
+
// Match "y abcde", "yes abcde", "n abcde", "no abcde"
|
|
270
|
+
// [a-km-z] is the ID alphabet used by CodeBuddy Code (lowercase, skipping 'l')
|
|
271
|
+
const PERMISSION_REPLY_RE = /^\s*(y|yes|n|no)\s+([a-km-z]{5})\s*$/i
|
|
272
|
+
|
|
273
|
+
const m = PERMISSION_REPLY_RE.exec(message.text)
|
|
274
|
+
if (m) {
|
|
275
|
+
await mcp.notification({
|
|
276
|
+
method: 'notifications/claude/channel/permission',
|
|
277
|
+
params: {
|
|
278
|
+
request_id: m[2].toLowerCase(),
|
|
279
|
+
behavior: m[1].toLowerCase().startsWith('y') ? 'allow' : 'deny',
|
|
280
|
+
},
|
|
281
|
+
})
|
|
282
|
+
return // Handled as a verdict, not forwarded as chat
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## Packaging as a Plugin
|
|
287
|
+
|
|
288
|
+
Wrapping a channel as a plugin makes it easy to share and install. Users install via `/plugin install`, then enable with `--channels plugin:<name>@<marketplace>`.
|
|
289
|
+
|
|
290
|
+
## References
|
|
291
|
+
|
|
292
|
+
- [fakechat example](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/fakechat): A complete two-way channel implementation with Web UI, file attachments, and reply tool
|
|
293
|
+
- [MCP Protocol](https://modelcontextprotocol.io): Channels are built on the MCP protocol
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# Channels: Push External Events into Sessions [Beta]
|
|
2
|
+
|
|
3
|
+
> **Beta Feature**: Channels is currently in Beta. Features and interfaces may be adjusted based on feedback.
|
|
4
|
+
|
|
5
|
+
A Channel is an MCP server that pushes messages, alerts, and webhooks into your running CodeBuddy Code session, allowing CodeBuddy Code to react to external events even when you're not at the terminal.
|
|
6
|
+
|
|
7
|
+
Channels can be two-way: CodeBuddy Code reads events and replies through the same channel, acting like a chat bridge. Events only arrive while a session is open; for continuous operation, run CodeBuddy Code in a background process or persistent terminal.
|
|
8
|
+
|
|
9
|
+
You can enable channels by installing plugins or using built-in channels. WeChat, Telegram, Discord, and the fakechat demo are all supported.
|
|
10
|
+
|
|
11
|
+
When CodeBuddy Code replies through a channel, the terminal shows the tool call and confirmation (e.g., "sent"), while the actual reply content appears on the corresponding chat platform.
|
|
12
|
+
|
|
13
|
+
This page covers:
|
|
14
|
+
|
|
15
|
+
* [Supported Channels](#supported-channels): WeChat, Telegram, Discord, and fakechat setup
|
|
16
|
+
* [Quick Start](#quick-start): Quick hands-on experience with the WeChat channel
|
|
17
|
+
* [Security](#security): Sender allowlists and pairing flows
|
|
18
|
+
* [Organization Controls](#organization-controls): Enabling channels for teams and enterprises
|
|
19
|
+
* [Feature Comparison](#feature-comparison)
|
|
20
|
+
|
|
21
|
+
To build your own channel, see the [Channels Reference](./channels-reference.md).
|
|
22
|
+
|
|
23
|
+
## Supported Channels
|
|
24
|
+
|
|
25
|
+
### WeChat (Built-in)
|
|
26
|
+
|
|
27
|
+
The WeChat channel is built into CodeBuddy Code and requires no plugin installation. It enables two-way messaging through WeChat ClawBot, supporting text, images, and file exchange.
|
|
28
|
+
|
|
29
|
+
**Prerequisites**:
|
|
30
|
+
- WeChat version iOS 8.0.70 or above
|
|
31
|
+
- Enable the ClawBot plugin in WeChat (WeChat > Me > Settings > Plugins > ClawBot)
|
|
32
|
+
|
|
33
|
+
**QR Code Binding**:
|
|
34
|
+
|
|
35
|
+
1. In CodeBuddy Code, run `/remote-control wechat` or `/remote-control` and select wechat
|
|
36
|
+
2. The terminal displays a QR code (if the QR code doesn't render correctly, a browser link will be provided)
|
|
37
|
+
3. Scan the QR code with WeChat and confirm
|
|
38
|
+
4. After successful binding, message reception starts automatically
|
|
39
|
+
|
|
40
|
+
**Usage**:
|
|
41
|
+
|
|
42
|
+
After binding, send messages in the WeChat ClawBot conversation, and they will automatically appear in the CodeBuddy Code session:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
#wechat · user_id: Hello, help me look at this bug
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
CodeBuddy Code processes the message and replies via the `WechatReply` tool, with the reply appearing in WeChat.
|
|
49
|
+
|
|
50
|
+
Supported message types:
|
|
51
|
+
|
|
52
|
+
| Type | Receive | Send |
|
|
53
|
+
|------|---------|------|
|
|
54
|
+
| Text | Supported | Supported |
|
|
55
|
+
| Image | Supported (auto-downloaded and decrypted locally) | Supported (auto-encrypted and uploaded to CDN) |
|
|
56
|
+
| File | Supported | Supported |
|
|
57
|
+
|
|
58
|
+
**Credential Management**:
|
|
59
|
+
|
|
60
|
+
After successful QR code scanning, credentials are saved to `~/.codebuddy/channels/wechat/credentials.json`. On next startup, saved credentials are used automatically without re-scanning.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Check connection status
|
|
64
|
+
/remote-control wechat status
|
|
65
|
+
|
|
66
|
+
# Disconnect
|
|
67
|
+
/remote-control wechat stop
|
|
68
|
+
|
|
69
|
+
# Reconnect (using saved credentials)
|
|
70
|
+
/remote-control wechat start
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Telegram
|
|
74
|
+
|
|
75
|
+
Requires plugin installation. See the full [Telegram plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram).
|
|
76
|
+
|
|
77
|
+
1. Create a bot via [BotFather](https://t.me/BotFather) in Telegram and obtain a token
|
|
78
|
+
2. Install the plugin: `/plugin install telegram@claude-plugins-official`
|
|
79
|
+
3. Configure the token: `/telegram:configure <token>`
|
|
80
|
+
4. Start: `codebuddy --channels plugin:telegram@claude-plugins-official`
|
|
81
|
+
5. Send a message to the bot to get a pairing code, then run `/telegram:access pair <code>` to complete pairing
|
|
82
|
+
|
|
83
|
+
### Discord
|
|
84
|
+
|
|
85
|
+
Requires plugin installation. See the full [Discord plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord).
|
|
86
|
+
|
|
87
|
+
1. Create an application and bot in the [Discord Developer Portal](https://discord.com/developers/applications)
|
|
88
|
+
2. Enable Message Content Intent and invite the bot to your server
|
|
89
|
+
3. Install the plugin: `/plugin install discord@claude-plugins-official`
|
|
90
|
+
4. Configure the token: `/discord:configure <token>`
|
|
91
|
+
5. Start: `codebuddy --channels plugin:discord@claude-plugins-official`
|
|
92
|
+
6. DM the bot to get a pairing code, then run `/discord:access pair <code>` to complete pairing
|
|
93
|
+
|
|
94
|
+
### fakechat (Demo)
|
|
95
|
+
|
|
96
|
+
fakechat is an officially supported demo channel that runs a chat UI on localhost, requiring no authentication or external services.
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Install
|
|
100
|
+
/plugin install fakechat@claude-plugins-official
|
|
101
|
+
|
|
102
|
+
# Start
|
|
103
|
+
codebuddy --channels plugin:fakechat@claude-plugins-official
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Open `http://localhost:8787` to start chatting.
|
|
107
|
+
|
|
108
|
+
## Quick Start
|
|
109
|
+
|
|
110
|
+
Using the WeChat channel as an example, here's a quick walkthrough of the full two-way communication flow:
|
|
111
|
+
|
|
112
|
+
**Step 1: Ensure ClawBot is Enabled**
|
|
113
|
+
|
|
114
|
+
In WeChat, go to **Me > Settings > Plugins**, find ClawBot and enable it.
|
|
115
|
+
|
|
116
|
+
**Step 2: QR Code Binding**
|
|
117
|
+
|
|
118
|
+
Start CodeBuddy Code and run:
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
/remote-control wechat
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
The terminal displays a QR code. Scan it with WeChat and confirm the binding.
|
|
125
|
+
|
|
126
|
+
**Step 3: Send a Message**
|
|
127
|
+
|
|
128
|
+
In the WeChat ClawBot conversation, send:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
Help me check what files are in the current directory
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
The message arrives in the CodeBuddy Code session, displayed as:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
#wechat · user_id: Help me check what files are in the current directory
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
CodeBuddy Code executes the task and replies via the `WechatReply` tool, with the reply appearing in WeChat.
|
|
141
|
+
|
|
142
|
+
**Step 4: Send an Image**
|
|
143
|
+
|
|
144
|
+
Send a screenshot to ClawBot in WeChat. CodeBuddy Code will automatically download and recognize the image content. You can ask it to edit the image and send it back:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
Add a hat to the person in the image
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
CodeBuddy Code uses the ImageEdit tool to process the image, then sends the edited image back to WeChat via `WechatReply`.
|
|
151
|
+
|
|
152
|
+
## Security
|
|
153
|
+
|
|
154
|
+
### WeChat
|
|
155
|
+
|
|
156
|
+
The WeChat channel ensures security through ClawBot's QR code authentication mechanism. Only the WeChat account that completed the QR code binding can send messages; messages from others are silently discarded.
|
|
157
|
+
|
|
158
|
+
Credentials (containing bot_token and account_id) are saved locally with permissions set to 600 (owner read/write only).
|
|
159
|
+
|
|
160
|
+
### Plugin Channels
|
|
161
|
+
|
|
162
|
+
Plugin channels like Telegram and Discord maintain a sender allowlist. Trusted senders are added through a pairing flow:
|
|
163
|
+
|
|
164
|
+
1. Send any message to the bot
|
|
165
|
+
2. The bot replies with a pairing code
|
|
166
|
+
3. Confirm the pairing code in CodeBuddy Code
|
|
167
|
+
4. The sender's ID is added to the allowlist
|
|
168
|
+
|
|
169
|
+
The allowlist also controls [permission relay](./channels-reference.md#permission-relay). People who reply through a channel can approve or deny tool calls, so only add trusted senders to the allowlist.
|
|
170
|
+
|
|
171
|
+
### Other Security Considerations
|
|
172
|
+
|
|
173
|
+
- Configuring in `.mcp.json` alone is not sufficient to push messages; the channel must also be specified in `--channels`
|
|
174
|
+
- Organizations can enforce unified controls via the `channelsEnabled` setting
|
|
175
|
+
|
|
176
|
+
## Organization Controls
|
|
177
|
+
|
|
178
|
+
Channel functionality is controlled by the `channelsEnabled` setting:
|
|
179
|
+
|
|
180
|
+
| Plan Type | Default Behavior |
|
|
181
|
+
|-----------|-----------------|
|
|
182
|
+
| Individual users | Available; users enable per-session via `--channels` |
|
|
183
|
+
| Team/Enterprise | Disabled by default; admins must explicitly enable |
|
|
184
|
+
|
|
185
|
+
### Enabling Channels for Organizations
|
|
186
|
+
|
|
187
|
+
Admins can set this in `settings.json`:
|
|
188
|
+
|
|
189
|
+
```json
|
|
190
|
+
{
|
|
191
|
+
"channelsEnabled": true
|
|
192
|
+
}
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Once enabled, users in the organization can use `--channels` to connect channel servers to their sessions. If the setting is disabled, MCP servers still connect and tools remain available, but channel messages will not arrive.
|
|
196
|
+
|
|
197
|
+
## Feature Comparison
|
|
198
|
+
|
|
199
|
+
CodeBuddy Code has multiple features for connecting to external systems, each suited to different scenarios:
|
|
200
|
+
|
|
201
|
+
| Feature | Purpose | Use Case |
|
|
202
|
+
|---------|---------|----------|
|
|
203
|
+
| Standard MCP Server | CodeBuddy Code queries it during tasks; does not push to session | On-demand reading or querying systems |
|
|
204
|
+
| Remote Control | Control a local session from remote | Operating an active session when away from your desk |
|
|
205
|
+
| **Channel** | **Pushes external events into a running local session** | **Chat bridges, webhook reception, alert response** |
|
|
206
|
+
|
|
207
|
+
Channels fill the gap by pushing events from non-CodeBuddy Code sources into a running local session:
|
|
208
|
+
|
|
209
|
+
* **Chat bridge**: Ask CodeBuddy Code questions via WeChat, with answers appearing in WeChat, while the actual work runs on your machine using your real files
|
|
210
|
+
* **Webhook receiver**: When webhooks from CI, error trackers, or deployment pipelines arrive, CodeBuddy Code already has your files open and remembers what you were debugging
|
|
211
|
+
|
|
212
|
+
## Next Steps
|
|
213
|
+
|
|
214
|
+
* [Build your own Channel](./channels-reference.md): Create a channel for systems that don't have a plugin yet
|
|
215
|
+
* Use `/remote-control` to manage all remote control connections
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Checkpointing (Beta)
|
|
2
|
+
|
|
3
|
+
> ⚠️ **Beta Feature**: Checkpointing is currently in Beta and features may change.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Automatically track and rewind CodeBuddy edits to quickly restore unwanted changes.
|
|
8
|
+
|
|
9
|
+
CodeBuddy Code automatically tracks CodeBuddy's edits to files as you work, allowing you to quickly undo changes and revert to a previous state if something goes wrong.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Common Use Cases
|
|
13
|
+
|
|
14
|
+
Checkpointing is particularly useful in these scenarios:
|
|
15
|
+
|
|
16
|
+
- **Exploring Alternatives**: Try different implementation approaches without losing your starting point
|
|
17
|
+
- **Recovering from Errors**: Quickly undo changes that introduced bugs or broke functionality
|
|
18
|
+
- **Feature Iteration**: Confidently experiment knowing you can always restore to a working state
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Limitations
|
|
23
|
+
|
|
24
|
+
### Changes via Bash Commands Are Not Tracked
|
|
25
|
+
|
|
26
|
+
Checkpointing does not track files modified through bash commands. For example, if CodeBuddy Code runs:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
rm file.txt
|
|
30
|
+
mv old.txt new.txt
|
|
31
|
+
cp source.txt dest.txt
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
These file modifications cannot be undone via the rewind feature. Only edits made directly through CodeBuddy's file editing tools are tracked.
|
|
35
|
+
|
|
36
|
+
### External Changes Are Not Tracked
|
|
37
|
+
|
|
38
|
+
Checkpointing only tracks files edited in the current session. Manual changes you make to files outside of CodeBuddy Code, and edits from other concurrent sessions, are typically not captured unless they happen to modify the same files as your current session.
|
|
39
|
+
|
|
40
|
+
### Not a Replacement for Version Control
|
|
41
|
+
|
|
42
|
+
Checkpointing is designed for quick session-level recovery. For permanent version history and collaboration:
|
|
43
|
+
|
|
44
|
+
- Continue using version control (like Git) to manage commits, branches, and long-term history
|
|
45
|
+
- Checkpointing complements version control rather than replacing it
|
|
46
|
+
- Think of checkpointing as "local undo" and Git as "permanent history"
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## See Also
|
|
51
|
+
|
|
52
|
+
- **[Interactive Mode](interactive-mode.md)** - Keyboard shortcuts and session control
|
|
53
|
+
- **[Slash Commands](slash-commands.md)** - Use `/rewind` to access checkpoints
|