@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.
Files changed (458) hide show
  1. package/cli/CHANGELOG.md +26 -0
  2. package/cli/dist/codebuddy-headless.js +53 -53
  3. package/cli/dist/web-ui/assets/index-BoMlEqUE.js +439 -0
  4. package/cli/dist/web-ui/assets/index-Dt1puyHn.css +32 -0
  5. package/cli/dist/web-ui/docs/cn/cli/acp.md +152 -0
  6. package/cli/dist/web-ui/docs/cn/cli/agent-teams.md +327 -0
  7. package/cli/dist/web-ui/docs/cn/cli/bash-sandboxing.md +290 -0
  8. package/cli/dist/web-ui/docs/cn/cli/best-practices.md +554 -0
  9. package/cli/dist/web-ui/docs/cn/cli/channels-reference.md +293 -0
  10. package/cli/dist/web-ui/docs/cn/cli/channels.md +215 -0
  11. package/cli/dist/web-ui/docs/cn/cli/checkpointing.md +51 -0
  12. package/cli/dist/web-ui/docs/cn/cli/cli-reference.md +187 -0
  13. package/cli/dist/web-ui/docs/cn/cli/common-workflows.md +1013 -0
  14. package/cli/dist/web-ui/docs/cn/cli/costs.md +174 -0
  15. package/cli/dist/web-ui/docs/cn/cli/devcontainer.md +553 -0
  16. package/cli/dist/web-ui/docs/cn/cli/env-vars.md +326 -0
  17. package/cli/dist/web-ui/docs/cn/cli/gitlab-ci-cd.md +357 -0
  18. package/cli/dist/web-ui/docs/cn/cli/headless.md +258 -0
  19. package/cli/dist/web-ui/docs/cn/cli/hooks-guide.md +9 -0
  20. package/cli/dist/web-ui/docs/cn/cli/hooks.md +805 -0
  21. package/cli/dist/web-ui/docs/cn/cli/iam.md +530 -0
  22. package/cli/dist/web-ui/docs/cn/cli/ide-integrations.md +92 -0
  23. package/cli/dist/web-ui/docs/cn/cli/installation.md +291 -0
  24. package/cli/dist/web-ui/docs/cn/cli/interactive-mode.md +233 -0
  25. package/cli/dist/web-ui/docs/cn/cli/mcp.md +739 -0
  26. package/cli/dist/web-ui/docs/cn/cli/memory.md +436 -0
  27. package/cli/dist/web-ui/docs/cn/cli/models.md +356 -0
  28. package/cli/dist/web-ui/docs/cn/cli/overview.md +100 -0
  29. package/cli/dist/web-ui/docs/cn/cli/plugin-marketplaces.md +533 -0
  30. package/cli/dist/web-ui/docs/cn/cli/plugins-reference.md +774 -0
  31. package/cli/dist/web-ui/docs/cn/cli/plugins.md +689 -0
  32. package/cli/dist/web-ui/docs/cn/cli/quickstart.md +249 -0
  33. package/cli/dist/web-ui/docs/cn/cli/release-notes/README.md +199 -0
  34. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.10.0.md +23 -0
  35. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.10.1.md +5 -0
  36. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.11.0.md +24 -0
  37. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.12.0.md +21 -0
  38. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.13.0.md +20 -0
  39. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.14.0.md +22 -0
  40. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.14.1.md +8 -0
  41. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.15.0.md +18 -0
  42. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.15.1.md +11 -0
  43. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.16.0.md +20 -0
  44. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.17.0.md +29 -0
  45. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.18.0.md +17 -0
  46. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.19.0.md +11 -0
  47. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.19.1.md +14 -0
  48. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.19.2.md +11 -0
  49. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.20.0.md +23 -0
  50. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.20.1.md +15 -0
  51. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.21.0.md +13 -0
  52. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.22.0.md +16 -0
  53. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.0.md +20 -0
  54. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.2.md +5 -0
  55. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.3.md +5 -0
  56. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.4.md +15 -0
  57. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.23.5.md +11 -0
  58. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.24.0.md +17 -0
  59. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.25.0.md +18 -0
  60. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.25.1.md +21 -0
  61. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.26.0.md +18 -0
  62. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.27.0.md +16 -0
  63. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.27.1.md +16 -0
  64. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.27.2.md +7 -0
  65. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.27.3.md +15 -0
  66. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.28.0.md +26 -0
  67. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.28.1.md +5 -0
  68. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.29.0.md +35 -0
  69. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.3.1.md +16 -0
  70. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.30.0.md +19 -0
  71. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.30.1.md +5 -0
  72. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.31.0.md +51 -0
  73. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.31.1.md +11 -0
  74. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.31.2.md +16 -0
  75. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.32.0.md +19 -0
  76. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.33.0.md +28 -0
  77. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.33.1.md +7 -0
  78. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.36.3.md +17 -0
  79. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.0.md +15 -0
  80. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.1.md +15 -0
  81. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.10.md +5 -0
  82. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.11.md +8 -0
  83. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.12.md +14 -0
  84. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.13.md +11 -0
  85. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.14.md +24 -0
  86. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.15.md +11 -0
  87. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.16.md +9 -0
  88. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.17.md +5 -0
  89. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.18.md +9 -0
  90. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.19.md +5 -0
  91. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.2.md +28 -0
  92. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.20.md +8 -0
  93. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.3.md +22 -0
  94. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.4.md +19 -0
  95. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.5.md +5 -0
  96. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.6.md +5 -0
  97. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.7.md +5 -0
  98. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.8.md +5 -0
  99. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.37.9.md +8 -0
  100. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.38.0.md +22 -0
  101. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.38.1.md +6 -0
  102. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.38.2.md +9 -0
  103. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.39.0.md +18 -0
  104. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.4.0.md +19 -0
  105. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.40.0.md +20 -0
  106. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.40.1.md +6 -0
  107. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.0.md +15 -0
  108. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.1.md +6 -0
  109. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.2.md +5 -0
  110. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.3.md +8 -0
  111. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.4.md +5 -0
  112. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.5.md +10 -0
  113. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.6.md +9 -0
  114. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.7.md +14 -0
  115. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.41.8.md +18 -0
  116. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.42.0.md +39 -0
  117. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.42.1.md +8 -0
  118. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.42.3.md +18 -0
  119. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.43.0.md +27 -0
  120. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.43.1.md +27 -0
  121. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.44.0.md +11 -0
  122. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.44.1.md +22 -0
  123. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.45.0.md +34 -0
  124. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.45.1.md +7 -0
  125. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.46.0.md +12 -0
  126. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.47.0.md +20 -0
  127. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.48.0.md +32 -0
  128. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.48.1.md +11 -0
  129. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.0.md +26 -0
  130. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.1.md +14 -0
  131. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.2.md +39 -0
  132. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.3.md +7 -0
  133. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.5.md +11 -0
  134. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.6.md +9 -0
  135. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.49.7.md +7 -0
  136. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.5.0.md +24 -0
  137. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.0.md +25 -0
  138. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.1.md +9 -0
  139. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.2.md +11 -0
  140. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.3.md +5 -0
  141. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.4.md +17 -0
  142. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.5.md +16 -0
  143. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.6.md +15 -0
  144. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.50.7.md +15 -0
  145. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.51.0.md +24 -0
  146. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.51.1.md +17 -0
  147. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.51.2.md +5 -0
  148. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.0.md +30 -0
  149. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.1.md +28 -0
  150. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.2.md +12 -0
  151. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.3.md +13 -0
  152. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.4.md +27 -0
  153. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.5.md +21 -0
  154. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.52.6.md +7 -0
  155. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.53.0.md +29 -0
  156. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.54.0.md +26 -0
  157. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.55.0.md +21 -0
  158. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.55.1.md +13 -0
  159. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.56.0.md +20 -0
  160. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.56.1.md +5 -0
  161. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.57.0.md +32 -0
  162. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.57.1.md +10 -0
  163. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.58.0.md +34 -0
  164. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.59.0.md +28 -0
  165. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.6.0.md +5 -0
  166. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.6.1.md +10 -0
  167. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.60.0.md +20 -0
  168. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.61.0.md +29 -0
  169. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.61.1.md +5 -0
  170. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.61.2.md +6 -0
  171. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.61.3.md +13 -0
  172. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.62.0.md +21 -0
  173. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.62.1.md +11 -0
  174. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.0.md +19 -0
  175. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.1.md +5 -0
  176. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.2.md +7 -0
  177. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.3.md +6 -0
  178. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.4.md +8 -0
  179. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.63.5.md +6 -0
  180. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.64.0.md +37 -0
  181. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.64.1.md +6 -0
  182. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.64.2.md +11 -0
  183. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.65.0.md +19 -0
  184. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.65.1.md +11 -0
  185. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.66.0.md +15 -0
  186. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.66.1.md +14 -0
  187. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.66.2.md +5 -0
  188. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.67.0.md +33 -0
  189. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.7.0.md +16 -0
  190. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.0.md +18 -0
  191. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.1.md +17 -0
  192. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.2.md +5 -0
  193. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.3.md +14 -0
  194. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.4.md +9 -0
  195. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.5.md +5 -0
  196. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.8.6.md +14 -0
  197. package/cli/dist/web-ui/docs/cn/cli/release-notes/v2.9.0.md +5 -0
  198. package/cli/dist/web-ui/docs/cn/cli/remote-control.md +247 -0
  199. package/cli/dist/web-ui/docs/cn/cli/sandboxing.md +316 -0
  200. package/cli/dist/web-ui/docs/cn/cli/scheduled-tasks.md +161 -0
  201. package/cli/dist/web-ui/docs/cn/cli/sdk-custom-tools.md +1195 -0
  202. package/cli/dist/web-ui/docs/cn/cli/sdk-demos.md +347 -0
  203. package/cli/dist/web-ui/docs/cn/cli/sdk-hooks.md +803 -0
  204. package/cli/dist/web-ui/docs/cn/cli/sdk-mcp.md +643 -0
  205. package/cli/dist/web-ui/docs/cn/cli/sdk-permissions.md +501 -0
  206. package/cli/dist/web-ui/docs/cn/cli/sdk-python.md +783 -0
  207. package/cli/dist/web-ui/docs/cn/cli/sdk-sessions.md +332 -0
  208. package/cli/dist/web-ui/docs/cn/cli/sdk-typescript.md +759 -0
  209. package/cli/dist/web-ui/docs/cn/cli/sdk.md +1105 -0
  210. package/cli/dist/web-ui/docs/cn/cli/security.md +387 -0
  211. package/cli/dist/web-ui/docs/cn/cli/settings.md +602 -0
  212. package/cli/dist/web-ui/docs/cn/cli/skills.md +448 -0
  213. package/cli/dist/web-ui/docs/cn/cli/slash-commands.md +397 -0
  214. package/cli/dist/web-ui/docs/cn/cli/statusline.md +525 -0
  215. package/cli/dist/web-ui/docs/cn/cli/sub-agents.md +634 -0
  216. package/cli/dist/web-ui/docs/cn/cli/terminal-config.md +77 -0
  217. package/cli/dist/web-ui/docs/cn/cli/tools-reference.md +99 -0
  218. package/cli/dist/web-ui/docs/cn/cli/troubleshooting.md +190 -0
  219. package/cli/dist/web-ui/docs/cn/cli/web-ui.md +164 -0
  220. package/cli/dist/web-ui/docs/cn/cli/wecom-bot-setup.md +274 -0
  221. package/cli/dist/web-ui/docs/cn/cli/worktree.md +660 -0
  222. package/cli/dist/web-ui/docs/en/cli/acp.md +126 -0
  223. package/cli/dist/web-ui/docs/en/cli/agent-teams.md +327 -0
  224. package/cli/dist/web-ui/docs/en/cli/bash-sandboxing.md +357 -0
  225. package/cli/dist/web-ui/docs/en/cli/best-practices.md +554 -0
  226. package/cli/dist/web-ui/docs/en/cli/channels-reference.md +293 -0
  227. package/cli/dist/web-ui/docs/en/cli/channels.md +215 -0
  228. package/cli/dist/web-ui/docs/en/cli/checkpointing.md +53 -0
  229. package/cli/dist/web-ui/docs/en/cli/cli-reference.md +187 -0
  230. package/cli/dist/web-ui/docs/en/cli/common-workflows.md +1011 -0
  231. package/cli/dist/web-ui/docs/en/cli/costs.md +174 -0
  232. package/cli/dist/web-ui/docs/en/cli/devcontainer.md +553 -0
  233. package/cli/dist/web-ui/docs/en/cli/env-vars.md +326 -0
  234. package/cli/dist/web-ui/docs/en/cli/gitlab-ci-cd.md +357 -0
  235. package/cli/dist/web-ui/docs/en/cli/headless.md +258 -0
  236. package/cli/dist/web-ui/docs/en/cli/hooks-guide.md +9 -0
  237. package/cli/dist/web-ui/docs/en/cli/hooks.md +801 -0
  238. package/cli/dist/web-ui/docs/en/cli/iam.md +526 -0
  239. package/cli/dist/web-ui/docs/en/cli/ide-integrations.md +92 -0
  240. package/cli/dist/web-ui/docs/en/cli/installation.md +266 -0
  241. package/cli/dist/web-ui/docs/en/cli/interactive-mode.md +233 -0
  242. package/cli/dist/web-ui/docs/en/cli/mcp.md +739 -0
  243. package/cli/dist/web-ui/docs/en/cli/memory.md +436 -0
  244. package/cli/dist/web-ui/docs/en/cli/models.md +355 -0
  245. package/cli/dist/web-ui/docs/en/cli/overview.md +100 -0
  246. package/cli/dist/web-ui/docs/en/cli/plugin-marketplaces.md +534 -0
  247. package/cli/dist/web-ui/docs/en/cli/plugins-reference.md +774 -0
  248. package/cli/dist/web-ui/docs/en/cli/plugins.md +688 -0
  249. package/cli/dist/web-ui/docs/en/cli/quickstart.md +249 -0
  250. package/cli/dist/web-ui/docs/en/cli/release-notes/README.md +193 -0
  251. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.10.0.md +23 -0
  252. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.10.1.md +5 -0
  253. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.11.0.md +24 -0
  254. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.12.0.md +21 -0
  255. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.13.0.md +20 -0
  256. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.14.0.md +22 -0
  257. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.14.1.md +8 -0
  258. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.15.0.md +18 -0
  259. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.15.1.md +11 -0
  260. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.16.0.md +20 -0
  261. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.17.0.md +29 -0
  262. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.18.0.md +17 -0
  263. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.19.0.md +11 -0
  264. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.19.1.md +14 -0
  265. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.19.2.md +11 -0
  266. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.20.0.md +23 -0
  267. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.20.1.md +15 -0
  268. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.21.0.md +13 -0
  269. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.22.0.md +16 -0
  270. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.0.md +41 -0
  271. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.2.md +5 -0
  272. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.3.md +5 -0
  273. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.4.md +15 -0
  274. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.23.5.md +11 -0
  275. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.24.0.md +17 -0
  276. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.25.0.md +18 -0
  277. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.25.1.md +21 -0
  278. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.26.0.md +18 -0
  279. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.27.0.md +16 -0
  280. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.27.1.md +16 -0
  281. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.27.2.md +7 -0
  282. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.27.3.md +15 -0
  283. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.28.0.md +26 -0
  284. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.28.1.md +5 -0
  285. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.29.0.md +35 -0
  286. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.3.1.md +16 -0
  287. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.30.0.md +19 -0
  288. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.30.1.md +5 -0
  289. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.31.0.md +51 -0
  290. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.31.1.md +11 -0
  291. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.31.2.md +16 -0
  292. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.32.0.md +19 -0
  293. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.33.0.md +28 -0
  294. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.33.1.md +7 -0
  295. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.34.0.md +27 -0
  296. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.34.1.md +7 -0
  297. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.35.0.md +22 -0
  298. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.36.0.md +23 -0
  299. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.36.1.md +5 -0
  300. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.36.2.md +22 -0
  301. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.36.3.md +17 -0
  302. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.0.md +15 -0
  303. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.1.md +15 -0
  304. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.10.md +5 -0
  305. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.11.md +8 -0
  306. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.12.md +14 -0
  307. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.13.md +11 -0
  308. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.14.md +24 -0
  309. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.15.md +11 -0
  310. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.16.md +9 -0
  311. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.17.md +5 -0
  312. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.18.md +9 -0
  313. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.19.md +5 -0
  314. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.2.md +28 -0
  315. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.20.md +8 -0
  316. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.3.md +22 -0
  317. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.4.md +19 -0
  318. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.5.md +5 -0
  319. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.6.md +5 -0
  320. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.7.md +5 -0
  321. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.8.md +5 -0
  322. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.37.9.md +8 -0
  323. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.38.0.md +22 -0
  324. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.38.1.md +6 -0
  325. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.38.2.md +9 -0
  326. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.39.0.md +18 -0
  327. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.4.0.md +19 -0
  328. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.40.0.md +20 -0
  329. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.40.1.md +6 -0
  330. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.0.md +15 -0
  331. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.1.md +6 -0
  332. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.2.md +5 -0
  333. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.3.md +8 -0
  334. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.4.md +5 -0
  335. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.5.md +10 -0
  336. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.6.md +9 -0
  337. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.7.md +14 -0
  338. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.41.8.md +18 -0
  339. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.42.0.md +39 -0
  340. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.42.1.md +8 -0
  341. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.42.3.md +18 -0
  342. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.43.0.md +27 -0
  343. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.43.1.md +27 -0
  344. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.44.0.md +11 -0
  345. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.44.1.md +22 -0
  346. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.45.0.md +34 -0
  347. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.45.1.md +7 -0
  348. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.46.0.md +12 -0
  349. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.47.0.md +20 -0
  350. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.48.0.md +32 -0
  351. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.48.1.md +11 -0
  352. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.0.md +26 -0
  353. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.1.md +14 -0
  354. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.2.md +39 -0
  355. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.3.md +7 -0
  356. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.5.md +11 -0
  357. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.6.md +9 -0
  358. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.49.7.md +7 -0
  359. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.5.0.md +24 -0
  360. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.0.md +25 -0
  361. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.1.md +9 -0
  362. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.2.md +11 -0
  363. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.3.md +5 -0
  364. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.4.md +17 -0
  365. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.5.md +16 -0
  366. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.6.md +15 -0
  367. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.50.7.md +15 -0
  368. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.51.0.md +24 -0
  369. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.51.1.md +17 -0
  370. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.51.2.md +5 -0
  371. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.0.md +30 -0
  372. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.1.md +28 -0
  373. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.2.md +12 -0
  374. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.3.md +13 -0
  375. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.4.md +27 -0
  376. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.5.md +21 -0
  377. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.52.6.md +7 -0
  378. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.53.0.md +29 -0
  379. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.54.0.md +26 -0
  380. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.55.0.md +21 -0
  381. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.55.1.md +13 -0
  382. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.56.0.md +20 -0
  383. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.56.1.md +5 -0
  384. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.57.0.md +32 -0
  385. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.57.1.md +10 -0
  386. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.58.0.md +34 -0
  387. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.59.0.md +28 -0
  388. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.6.0.md +5 -0
  389. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.6.1.md +10 -0
  390. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.60.0.md +20 -0
  391. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.61.0.md +29 -0
  392. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.61.1.md +5 -0
  393. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.61.2.md +6 -0
  394. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.61.3.md +13 -0
  395. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.62.0.md +21 -0
  396. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.62.1.md +11 -0
  397. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.0.md +19 -0
  398. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.1.md +5 -0
  399. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.2.md +7 -0
  400. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.3.md +6 -0
  401. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.4.md +8 -0
  402. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.63.5.md +6 -0
  403. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.64.0.md +37 -0
  404. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.64.1.md +6 -0
  405. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.64.2.md +11 -0
  406. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.65.0.md +19 -0
  407. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.65.1.md +11 -0
  408. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.66.0.md +15 -0
  409. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.66.1.md +14 -0
  410. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.66.2.md +5 -0
  411. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.67.0.md +33 -0
  412. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.7.0.md +16 -0
  413. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.0.md +18 -0
  414. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.1.md +17 -0
  415. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.2.md +5 -0
  416. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.3.md +14 -0
  417. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.4.md +9 -0
  418. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.5.md +5 -0
  419. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.8.6.md +14 -0
  420. package/cli/dist/web-ui/docs/en/cli/release-notes/v2.9.0.md +5 -0
  421. package/cli/dist/web-ui/docs/en/cli/remote-control.md +247 -0
  422. package/cli/dist/web-ui/docs/en/cli/sandboxing.md +316 -0
  423. package/cli/dist/web-ui/docs/en/cli/scheduled-tasks.md +160 -0
  424. package/cli/dist/web-ui/docs/en/cli/sdk-custom-tools.md +1131 -0
  425. package/cli/dist/web-ui/docs/en/cli/sdk-demos.md +347 -0
  426. package/cli/dist/web-ui/docs/en/cli/sdk-hooks.md +813 -0
  427. package/cli/dist/web-ui/docs/en/cli/sdk-mcp.md +645 -0
  428. package/cli/dist/web-ui/docs/en/cli/sdk-permissions.md +461 -0
  429. package/cli/dist/web-ui/docs/en/cli/sdk-python.md +797 -0
  430. package/cli/dist/web-ui/docs/en/cli/sdk-sessions.md +340 -0
  431. package/cli/dist/web-ui/docs/en/cli/sdk-typescript.md +770 -0
  432. package/cli/dist/web-ui/docs/en/cli/sdk.md +1103 -0
  433. package/cli/dist/web-ui/docs/en/cli/security.md +388 -0
  434. package/cli/dist/web-ui/docs/en/cli/settings.md +602 -0
  435. package/cli/dist/web-ui/docs/en/cli/skills.md +448 -0
  436. package/cli/dist/web-ui/docs/en/cli/slash-commands.md +397 -0
  437. package/cli/dist/web-ui/docs/en/cli/statusline.md +525 -0
  438. package/cli/dist/web-ui/docs/en/cli/sub-agents.md +621 -0
  439. package/cli/dist/web-ui/docs/en/cli/terminal-config.md +77 -0
  440. package/cli/dist/web-ui/docs/en/cli/tools-reference.md +99 -0
  441. package/cli/dist/web-ui/docs/en/cli/troubleshooting.md +190 -0
  442. package/cli/dist/web-ui/docs/en/cli/web-ui.md +164 -0
  443. package/cli/dist/web-ui/docs/en/cli/wecom-bot-setup.md +274 -0
  444. package/cli/dist/web-ui/docs/en/cli/worktree.md +660 -0
  445. package/cli/dist/web-ui/docs/search-index-en.json +1 -0
  446. package/cli/dist/web-ui/docs/search-index-zh.json +1 -0
  447. package/cli/dist/web-ui/docs/sidebar-en.json +1 -0
  448. package/cli/dist/web-ui/docs/sidebar-zh.json +1 -0
  449. package/cli/dist/web-ui/index.html +2 -2
  450. package/cli/package.json +1 -1
  451. package/cli/product.cloudhosted.json +2 -2
  452. package/cli/product.internal.json +2 -2
  453. package/cli/product.ioa.json +2 -2
  454. package/cli/product.json +3 -3
  455. package/cli/product.selfhosted.json +2 -2
  456. package/package.json +1 -1
  457. package/cli/dist/web-ui/assets/index-BPT-qRRx.js +0 -411
  458. 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