@tencent-ai/codebuddy-code 2.67.0-next.ed1b89f.20260329 → 2.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/codebuddy-headless.js +53 -53
  3. package/dist/codebuddy.js +93 -64
  4. package/dist/web-ui/assets/index-BoMlEqUE.js +439 -0
  5. package/dist/web-ui/assets/index-Dt1puyHn.css +32 -0
  6. package/dist/web-ui/docs/cn/cli/acp.md +152 -0
  7. package/dist/web-ui/docs/cn/cli/agent-teams.md +327 -0
  8. package/dist/web-ui/docs/cn/cli/bash-sandboxing.md +290 -0
  9. package/dist/web-ui/docs/cn/cli/best-practices.md +554 -0
  10. package/dist/web-ui/docs/cn/cli/channels-reference.md +293 -0
  11. package/dist/web-ui/docs/cn/cli/channels.md +215 -0
  12. package/dist/web-ui/docs/cn/cli/checkpointing.md +51 -0
  13. package/dist/web-ui/docs/cn/cli/cli-reference.md +187 -0
  14. package/dist/web-ui/docs/cn/cli/common-workflows.md +1013 -0
  15. package/dist/web-ui/docs/cn/cli/costs.md +174 -0
  16. package/dist/web-ui/docs/cn/cli/devcontainer.md +553 -0
  17. package/dist/web-ui/docs/cn/cli/env-vars.md +326 -0
  18. package/dist/web-ui/docs/cn/cli/gitlab-ci-cd.md +357 -0
  19. package/dist/web-ui/docs/cn/cli/headless.md +258 -0
  20. package/dist/web-ui/docs/cn/cli/hooks-guide.md +9 -0
  21. package/dist/web-ui/docs/cn/cli/hooks.md +805 -0
  22. package/dist/web-ui/docs/cn/cli/iam.md +530 -0
  23. package/dist/web-ui/docs/cn/cli/ide-integrations.md +92 -0
  24. package/dist/web-ui/docs/cn/cli/installation.md +291 -0
  25. package/dist/web-ui/docs/cn/cli/interactive-mode.md +233 -0
  26. package/dist/web-ui/docs/cn/cli/mcp.md +739 -0
  27. package/dist/web-ui/docs/cn/cli/memory.md +436 -0
  28. package/dist/web-ui/docs/cn/cli/models.md +356 -0
  29. package/dist/web-ui/docs/cn/cli/overview.md +100 -0
  30. package/dist/web-ui/docs/cn/cli/plugin-marketplaces.md +533 -0
  31. package/dist/web-ui/docs/cn/cli/plugins-reference.md +774 -0
  32. package/dist/web-ui/docs/cn/cli/plugins.md +689 -0
  33. package/dist/web-ui/docs/cn/cli/quickstart.md +249 -0
  34. package/dist/web-ui/docs/cn/cli/release-notes/README.md +199 -0
  35. package/dist/web-ui/docs/cn/cli/release-notes/v2.10.0.md +23 -0
  36. package/dist/web-ui/docs/cn/cli/release-notes/v2.10.1.md +5 -0
  37. package/dist/web-ui/docs/cn/cli/release-notes/v2.11.0.md +24 -0
  38. package/dist/web-ui/docs/cn/cli/release-notes/v2.12.0.md +21 -0
  39. package/dist/web-ui/docs/cn/cli/release-notes/v2.13.0.md +20 -0
  40. package/dist/web-ui/docs/cn/cli/release-notes/v2.14.0.md +22 -0
  41. package/dist/web-ui/docs/cn/cli/release-notes/v2.14.1.md +8 -0
  42. package/dist/web-ui/docs/cn/cli/release-notes/v2.15.0.md +18 -0
  43. package/dist/web-ui/docs/cn/cli/release-notes/v2.15.1.md +11 -0
  44. package/dist/web-ui/docs/cn/cli/release-notes/v2.16.0.md +20 -0
  45. package/dist/web-ui/docs/cn/cli/release-notes/v2.17.0.md +29 -0
  46. package/dist/web-ui/docs/cn/cli/release-notes/v2.18.0.md +17 -0
  47. package/dist/web-ui/docs/cn/cli/release-notes/v2.19.0.md +11 -0
  48. package/dist/web-ui/docs/cn/cli/release-notes/v2.19.1.md +14 -0
  49. package/dist/web-ui/docs/cn/cli/release-notes/v2.19.2.md +11 -0
  50. package/dist/web-ui/docs/cn/cli/release-notes/v2.20.0.md +23 -0
  51. package/dist/web-ui/docs/cn/cli/release-notes/v2.20.1.md +15 -0
  52. package/dist/web-ui/docs/cn/cli/release-notes/v2.21.0.md +13 -0
  53. package/dist/web-ui/docs/cn/cli/release-notes/v2.22.0.md +16 -0
  54. package/dist/web-ui/docs/cn/cli/release-notes/v2.23.0.md +20 -0
  55. package/dist/web-ui/docs/cn/cli/release-notes/v2.23.2.md +5 -0
  56. package/dist/web-ui/docs/cn/cli/release-notes/v2.23.3.md +5 -0
  57. package/dist/web-ui/docs/cn/cli/release-notes/v2.23.4.md +15 -0
  58. package/dist/web-ui/docs/cn/cli/release-notes/v2.23.5.md +11 -0
  59. package/dist/web-ui/docs/cn/cli/release-notes/v2.24.0.md +17 -0
  60. package/dist/web-ui/docs/cn/cli/release-notes/v2.25.0.md +18 -0
  61. package/dist/web-ui/docs/cn/cli/release-notes/v2.25.1.md +21 -0
  62. package/dist/web-ui/docs/cn/cli/release-notes/v2.26.0.md +18 -0
  63. package/dist/web-ui/docs/cn/cli/release-notes/v2.27.0.md +16 -0
  64. package/dist/web-ui/docs/cn/cli/release-notes/v2.27.1.md +16 -0
  65. package/dist/web-ui/docs/cn/cli/release-notes/v2.27.2.md +7 -0
  66. package/dist/web-ui/docs/cn/cli/release-notes/v2.27.3.md +15 -0
  67. package/dist/web-ui/docs/cn/cli/release-notes/v2.28.0.md +26 -0
  68. package/dist/web-ui/docs/cn/cli/release-notes/v2.28.1.md +5 -0
  69. package/dist/web-ui/docs/cn/cli/release-notes/v2.29.0.md +35 -0
  70. package/dist/web-ui/docs/cn/cli/release-notes/v2.3.1.md +16 -0
  71. package/dist/web-ui/docs/cn/cli/release-notes/v2.30.0.md +19 -0
  72. package/dist/web-ui/docs/cn/cli/release-notes/v2.30.1.md +5 -0
  73. package/dist/web-ui/docs/cn/cli/release-notes/v2.31.0.md +51 -0
  74. package/dist/web-ui/docs/cn/cli/release-notes/v2.31.1.md +11 -0
  75. package/dist/web-ui/docs/cn/cli/release-notes/v2.31.2.md +16 -0
  76. package/dist/web-ui/docs/cn/cli/release-notes/v2.32.0.md +19 -0
  77. package/dist/web-ui/docs/cn/cli/release-notes/v2.33.0.md +28 -0
  78. package/dist/web-ui/docs/cn/cli/release-notes/v2.33.1.md +7 -0
  79. package/dist/web-ui/docs/cn/cli/release-notes/v2.36.3.md +17 -0
  80. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.0.md +15 -0
  81. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.1.md +15 -0
  82. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.10.md +5 -0
  83. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.11.md +8 -0
  84. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.12.md +14 -0
  85. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.13.md +11 -0
  86. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.14.md +24 -0
  87. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.15.md +11 -0
  88. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.16.md +9 -0
  89. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.17.md +5 -0
  90. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.18.md +9 -0
  91. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.19.md +5 -0
  92. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.2.md +28 -0
  93. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.20.md +8 -0
  94. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.3.md +22 -0
  95. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.4.md +19 -0
  96. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.5.md +5 -0
  97. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.6.md +5 -0
  98. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.7.md +5 -0
  99. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.8.md +5 -0
  100. package/dist/web-ui/docs/cn/cli/release-notes/v2.37.9.md +8 -0
  101. package/dist/web-ui/docs/cn/cli/release-notes/v2.38.0.md +22 -0
  102. package/dist/web-ui/docs/cn/cli/release-notes/v2.38.1.md +6 -0
  103. package/dist/web-ui/docs/cn/cli/release-notes/v2.38.2.md +9 -0
  104. package/dist/web-ui/docs/cn/cli/release-notes/v2.39.0.md +18 -0
  105. package/dist/web-ui/docs/cn/cli/release-notes/v2.4.0.md +19 -0
  106. package/dist/web-ui/docs/cn/cli/release-notes/v2.40.0.md +20 -0
  107. package/dist/web-ui/docs/cn/cli/release-notes/v2.40.1.md +6 -0
  108. package/dist/web-ui/docs/cn/cli/release-notes/v2.41.0.md +15 -0
  109. package/dist/web-ui/docs/cn/cli/release-notes/v2.41.1.md +6 -0
  110. package/dist/web-ui/docs/cn/cli/release-notes/v2.41.2.md +5 -0
  111. package/dist/web-ui/docs/cn/cli/release-notes/v2.41.3.md +8 -0
  112. package/dist/web-ui/docs/cn/cli/release-notes/v2.41.4.md +5 -0
  113. package/dist/web-ui/docs/cn/cli/release-notes/v2.41.5.md +10 -0
  114. package/dist/web-ui/docs/cn/cli/release-notes/v2.41.6.md +9 -0
  115. package/dist/web-ui/docs/cn/cli/release-notes/v2.41.7.md +14 -0
  116. package/dist/web-ui/docs/cn/cli/release-notes/v2.41.8.md +18 -0
  117. package/dist/web-ui/docs/cn/cli/release-notes/v2.42.0.md +39 -0
  118. package/dist/web-ui/docs/cn/cli/release-notes/v2.42.1.md +8 -0
  119. package/dist/web-ui/docs/cn/cli/release-notes/v2.42.3.md +18 -0
  120. package/dist/web-ui/docs/cn/cli/release-notes/v2.43.0.md +27 -0
  121. package/dist/web-ui/docs/cn/cli/release-notes/v2.43.1.md +27 -0
  122. package/dist/web-ui/docs/cn/cli/release-notes/v2.44.0.md +11 -0
  123. package/dist/web-ui/docs/cn/cli/release-notes/v2.44.1.md +22 -0
  124. package/dist/web-ui/docs/cn/cli/release-notes/v2.45.0.md +34 -0
  125. package/dist/web-ui/docs/cn/cli/release-notes/v2.45.1.md +7 -0
  126. package/dist/web-ui/docs/cn/cli/release-notes/v2.46.0.md +12 -0
  127. package/dist/web-ui/docs/cn/cli/release-notes/v2.47.0.md +20 -0
  128. package/dist/web-ui/docs/cn/cli/release-notes/v2.48.0.md +32 -0
  129. package/dist/web-ui/docs/cn/cli/release-notes/v2.48.1.md +11 -0
  130. package/dist/web-ui/docs/cn/cli/release-notes/v2.49.0.md +26 -0
  131. package/dist/web-ui/docs/cn/cli/release-notes/v2.49.1.md +14 -0
  132. package/dist/web-ui/docs/cn/cli/release-notes/v2.49.2.md +39 -0
  133. package/dist/web-ui/docs/cn/cli/release-notes/v2.49.3.md +7 -0
  134. package/dist/web-ui/docs/cn/cli/release-notes/v2.49.5.md +11 -0
  135. package/dist/web-ui/docs/cn/cli/release-notes/v2.49.6.md +9 -0
  136. package/dist/web-ui/docs/cn/cli/release-notes/v2.49.7.md +7 -0
  137. package/dist/web-ui/docs/cn/cli/release-notes/v2.5.0.md +24 -0
  138. package/dist/web-ui/docs/cn/cli/release-notes/v2.50.0.md +25 -0
  139. package/dist/web-ui/docs/cn/cli/release-notes/v2.50.1.md +9 -0
  140. package/dist/web-ui/docs/cn/cli/release-notes/v2.50.2.md +11 -0
  141. package/dist/web-ui/docs/cn/cli/release-notes/v2.50.3.md +5 -0
  142. package/dist/web-ui/docs/cn/cli/release-notes/v2.50.4.md +17 -0
  143. package/dist/web-ui/docs/cn/cli/release-notes/v2.50.5.md +16 -0
  144. package/dist/web-ui/docs/cn/cli/release-notes/v2.50.6.md +15 -0
  145. package/dist/web-ui/docs/cn/cli/release-notes/v2.50.7.md +15 -0
  146. package/dist/web-ui/docs/cn/cli/release-notes/v2.51.0.md +24 -0
  147. package/dist/web-ui/docs/cn/cli/release-notes/v2.51.1.md +17 -0
  148. package/dist/web-ui/docs/cn/cli/release-notes/v2.51.2.md +5 -0
  149. package/dist/web-ui/docs/cn/cli/release-notes/v2.52.0.md +30 -0
  150. package/dist/web-ui/docs/cn/cli/release-notes/v2.52.1.md +28 -0
  151. package/dist/web-ui/docs/cn/cli/release-notes/v2.52.2.md +12 -0
  152. package/dist/web-ui/docs/cn/cli/release-notes/v2.52.3.md +13 -0
  153. package/dist/web-ui/docs/cn/cli/release-notes/v2.52.4.md +27 -0
  154. package/dist/web-ui/docs/cn/cli/release-notes/v2.52.5.md +21 -0
  155. package/dist/web-ui/docs/cn/cli/release-notes/v2.52.6.md +7 -0
  156. package/dist/web-ui/docs/cn/cli/release-notes/v2.53.0.md +29 -0
  157. package/dist/web-ui/docs/cn/cli/release-notes/v2.54.0.md +26 -0
  158. package/dist/web-ui/docs/cn/cli/release-notes/v2.55.0.md +21 -0
  159. package/dist/web-ui/docs/cn/cli/release-notes/v2.55.1.md +13 -0
  160. package/dist/web-ui/docs/cn/cli/release-notes/v2.56.0.md +20 -0
  161. package/dist/web-ui/docs/cn/cli/release-notes/v2.56.1.md +5 -0
  162. package/dist/web-ui/docs/cn/cli/release-notes/v2.57.0.md +32 -0
  163. package/dist/web-ui/docs/cn/cli/release-notes/v2.57.1.md +10 -0
  164. package/dist/web-ui/docs/cn/cli/release-notes/v2.58.0.md +34 -0
  165. package/dist/web-ui/docs/cn/cli/release-notes/v2.59.0.md +28 -0
  166. package/dist/web-ui/docs/cn/cli/release-notes/v2.6.0.md +5 -0
  167. package/dist/web-ui/docs/cn/cli/release-notes/v2.6.1.md +10 -0
  168. package/dist/web-ui/docs/cn/cli/release-notes/v2.60.0.md +20 -0
  169. package/dist/web-ui/docs/cn/cli/release-notes/v2.61.0.md +29 -0
  170. package/dist/web-ui/docs/cn/cli/release-notes/v2.61.1.md +5 -0
  171. package/dist/web-ui/docs/cn/cli/release-notes/v2.61.2.md +6 -0
  172. package/dist/web-ui/docs/cn/cli/release-notes/v2.61.3.md +13 -0
  173. package/dist/web-ui/docs/cn/cli/release-notes/v2.62.0.md +21 -0
  174. package/dist/web-ui/docs/cn/cli/release-notes/v2.62.1.md +11 -0
  175. package/dist/web-ui/docs/cn/cli/release-notes/v2.63.0.md +19 -0
  176. package/dist/web-ui/docs/cn/cli/release-notes/v2.63.1.md +5 -0
  177. package/dist/web-ui/docs/cn/cli/release-notes/v2.63.2.md +7 -0
  178. package/dist/web-ui/docs/cn/cli/release-notes/v2.63.3.md +6 -0
  179. package/dist/web-ui/docs/cn/cli/release-notes/v2.63.4.md +8 -0
  180. package/dist/web-ui/docs/cn/cli/release-notes/v2.63.5.md +6 -0
  181. package/dist/web-ui/docs/cn/cli/release-notes/v2.64.0.md +37 -0
  182. package/dist/web-ui/docs/cn/cli/release-notes/v2.64.1.md +6 -0
  183. package/dist/web-ui/docs/cn/cli/release-notes/v2.64.2.md +11 -0
  184. package/dist/web-ui/docs/cn/cli/release-notes/v2.65.0.md +19 -0
  185. package/dist/web-ui/docs/cn/cli/release-notes/v2.65.1.md +11 -0
  186. package/dist/web-ui/docs/cn/cli/release-notes/v2.66.0.md +15 -0
  187. package/dist/web-ui/docs/cn/cli/release-notes/v2.66.1.md +14 -0
  188. package/dist/web-ui/docs/cn/cli/release-notes/v2.66.2.md +5 -0
  189. package/dist/web-ui/docs/cn/cli/release-notes/v2.67.0.md +33 -0
  190. package/dist/web-ui/docs/cn/cli/release-notes/v2.7.0.md +16 -0
  191. package/dist/web-ui/docs/cn/cli/release-notes/v2.8.0.md +18 -0
  192. package/dist/web-ui/docs/cn/cli/release-notes/v2.8.1.md +17 -0
  193. package/dist/web-ui/docs/cn/cli/release-notes/v2.8.2.md +5 -0
  194. package/dist/web-ui/docs/cn/cli/release-notes/v2.8.3.md +14 -0
  195. package/dist/web-ui/docs/cn/cli/release-notes/v2.8.4.md +9 -0
  196. package/dist/web-ui/docs/cn/cli/release-notes/v2.8.5.md +5 -0
  197. package/dist/web-ui/docs/cn/cli/release-notes/v2.8.6.md +14 -0
  198. package/dist/web-ui/docs/cn/cli/release-notes/v2.9.0.md +5 -0
  199. package/dist/web-ui/docs/cn/cli/remote-control.md +247 -0
  200. package/dist/web-ui/docs/cn/cli/sandboxing.md +316 -0
  201. package/dist/web-ui/docs/cn/cli/scheduled-tasks.md +161 -0
  202. package/dist/web-ui/docs/cn/cli/sdk-custom-tools.md +1195 -0
  203. package/dist/web-ui/docs/cn/cli/sdk-demos.md +347 -0
  204. package/dist/web-ui/docs/cn/cli/sdk-hooks.md +803 -0
  205. package/dist/web-ui/docs/cn/cli/sdk-mcp.md +643 -0
  206. package/dist/web-ui/docs/cn/cli/sdk-permissions.md +501 -0
  207. package/dist/web-ui/docs/cn/cli/sdk-python.md +783 -0
  208. package/dist/web-ui/docs/cn/cli/sdk-sessions.md +332 -0
  209. package/dist/web-ui/docs/cn/cli/sdk-typescript.md +759 -0
  210. package/dist/web-ui/docs/cn/cli/sdk.md +1105 -0
  211. package/dist/web-ui/docs/cn/cli/security.md +387 -0
  212. package/dist/web-ui/docs/cn/cli/settings.md +602 -0
  213. package/dist/web-ui/docs/cn/cli/skills.md +448 -0
  214. package/dist/web-ui/docs/cn/cli/slash-commands.md +397 -0
  215. package/dist/web-ui/docs/cn/cli/statusline.md +525 -0
  216. package/dist/web-ui/docs/cn/cli/sub-agents.md +634 -0
  217. package/dist/web-ui/docs/cn/cli/terminal-config.md +77 -0
  218. package/dist/web-ui/docs/cn/cli/tools-reference.md +99 -0
  219. package/dist/web-ui/docs/cn/cli/troubleshooting.md +190 -0
  220. package/dist/web-ui/docs/cn/cli/web-ui.md +164 -0
  221. package/dist/web-ui/docs/cn/cli/wecom-bot-setup.md +274 -0
  222. package/dist/web-ui/docs/cn/cli/worktree.md +660 -0
  223. package/dist/web-ui/docs/en/cli/acp.md +126 -0
  224. package/dist/web-ui/docs/en/cli/agent-teams.md +327 -0
  225. package/dist/web-ui/docs/en/cli/bash-sandboxing.md +357 -0
  226. package/dist/web-ui/docs/en/cli/best-practices.md +554 -0
  227. package/dist/web-ui/docs/en/cli/channels-reference.md +293 -0
  228. package/dist/web-ui/docs/en/cli/channels.md +215 -0
  229. package/dist/web-ui/docs/en/cli/checkpointing.md +53 -0
  230. package/dist/web-ui/docs/en/cli/cli-reference.md +187 -0
  231. package/dist/web-ui/docs/en/cli/common-workflows.md +1011 -0
  232. package/dist/web-ui/docs/en/cli/costs.md +174 -0
  233. package/dist/web-ui/docs/en/cli/devcontainer.md +553 -0
  234. package/dist/web-ui/docs/en/cli/env-vars.md +326 -0
  235. package/dist/web-ui/docs/en/cli/gitlab-ci-cd.md +357 -0
  236. package/dist/web-ui/docs/en/cli/headless.md +258 -0
  237. package/dist/web-ui/docs/en/cli/hooks-guide.md +9 -0
  238. package/dist/web-ui/docs/en/cli/hooks.md +801 -0
  239. package/dist/web-ui/docs/en/cli/iam.md +526 -0
  240. package/dist/web-ui/docs/en/cli/ide-integrations.md +92 -0
  241. package/dist/web-ui/docs/en/cli/installation.md +266 -0
  242. package/dist/web-ui/docs/en/cli/interactive-mode.md +233 -0
  243. package/dist/web-ui/docs/en/cli/mcp.md +739 -0
  244. package/dist/web-ui/docs/en/cli/memory.md +436 -0
  245. package/dist/web-ui/docs/en/cli/models.md +355 -0
  246. package/dist/web-ui/docs/en/cli/overview.md +100 -0
  247. package/dist/web-ui/docs/en/cli/plugin-marketplaces.md +534 -0
  248. package/dist/web-ui/docs/en/cli/plugins-reference.md +774 -0
  249. package/dist/web-ui/docs/en/cli/plugins.md +688 -0
  250. package/dist/web-ui/docs/en/cli/quickstart.md +249 -0
  251. package/dist/web-ui/docs/en/cli/release-notes/README.md +193 -0
  252. package/dist/web-ui/docs/en/cli/release-notes/v2.10.0.md +23 -0
  253. package/dist/web-ui/docs/en/cli/release-notes/v2.10.1.md +5 -0
  254. package/dist/web-ui/docs/en/cli/release-notes/v2.11.0.md +24 -0
  255. package/dist/web-ui/docs/en/cli/release-notes/v2.12.0.md +21 -0
  256. package/dist/web-ui/docs/en/cli/release-notes/v2.13.0.md +20 -0
  257. package/dist/web-ui/docs/en/cli/release-notes/v2.14.0.md +22 -0
  258. package/dist/web-ui/docs/en/cli/release-notes/v2.14.1.md +8 -0
  259. package/dist/web-ui/docs/en/cli/release-notes/v2.15.0.md +18 -0
  260. package/dist/web-ui/docs/en/cli/release-notes/v2.15.1.md +11 -0
  261. package/dist/web-ui/docs/en/cli/release-notes/v2.16.0.md +20 -0
  262. package/dist/web-ui/docs/en/cli/release-notes/v2.17.0.md +29 -0
  263. package/dist/web-ui/docs/en/cli/release-notes/v2.18.0.md +17 -0
  264. package/dist/web-ui/docs/en/cli/release-notes/v2.19.0.md +11 -0
  265. package/dist/web-ui/docs/en/cli/release-notes/v2.19.1.md +14 -0
  266. package/dist/web-ui/docs/en/cli/release-notes/v2.19.2.md +11 -0
  267. package/dist/web-ui/docs/en/cli/release-notes/v2.20.0.md +23 -0
  268. package/dist/web-ui/docs/en/cli/release-notes/v2.20.1.md +15 -0
  269. package/dist/web-ui/docs/en/cli/release-notes/v2.21.0.md +13 -0
  270. package/dist/web-ui/docs/en/cli/release-notes/v2.22.0.md +16 -0
  271. package/dist/web-ui/docs/en/cli/release-notes/v2.23.0.md +41 -0
  272. package/dist/web-ui/docs/en/cli/release-notes/v2.23.2.md +5 -0
  273. package/dist/web-ui/docs/en/cli/release-notes/v2.23.3.md +5 -0
  274. package/dist/web-ui/docs/en/cli/release-notes/v2.23.4.md +15 -0
  275. package/dist/web-ui/docs/en/cli/release-notes/v2.23.5.md +11 -0
  276. package/dist/web-ui/docs/en/cli/release-notes/v2.24.0.md +17 -0
  277. package/dist/web-ui/docs/en/cli/release-notes/v2.25.0.md +18 -0
  278. package/dist/web-ui/docs/en/cli/release-notes/v2.25.1.md +21 -0
  279. package/dist/web-ui/docs/en/cli/release-notes/v2.26.0.md +18 -0
  280. package/dist/web-ui/docs/en/cli/release-notes/v2.27.0.md +16 -0
  281. package/dist/web-ui/docs/en/cli/release-notes/v2.27.1.md +16 -0
  282. package/dist/web-ui/docs/en/cli/release-notes/v2.27.2.md +7 -0
  283. package/dist/web-ui/docs/en/cli/release-notes/v2.27.3.md +15 -0
  284. package/dist/web-ui/docs/en/cli/release-notes/v2.28.0.md +26 -0
  285. package/dist/web-ui/docs/en/cli/release-notes/v2.28.1.md +5 -0
  286. package/dist/web-ui/docs/en/cli/release-notes/v2.29.0.md +35 -0
  287. package/dist/web-ui/docs/en/cli/release-notes/v2.3.1.md +16 -0
  288. package/dist/web-ui/docs/en/cli/release-notes/v2.30.0.md +19 -0
  289. package/dist/web-ui/docs/en/cli/release-notes/v2.30.1.md +5 -0
  290. package/dist/web-ui/docs/en/cli/release-notes/v2.31.0.md +51 -0
  291. package/dist/web-ui/docs/en/cli/release-notes/v2.31.1.md +11 -0
  292. package/dist/web-ui/docs/en/cli/release-notes/v2.31.2.md +16 -0
  293. package/dist/web-ui/docs/en/cli/release-notes/v2.32.0.md +19 -0
  294. package/dist/web-ui/docs/en/cli/release-notes/v2.33.0.md +28 -0
  295. package/dist/web-ui/docs/en/cli/release-notes/v2.33.1.md +7 -0
  296. package/dist/web-ui/docs/en/cli/release-notes/v2.34.0.md +27 -0
  297. package/dist/web-ui/docs/en/cli/release-notes/v2.34.1.md +7 -0
  298. package/dist/web-ui/docs/en/cli/release-notes/v2.35.0.md +22 -0
  299. package/dist/web-ui/docs/en/cli/release-notes/v2.36.0.md +23 -0
  300. package/dist/web-ui/docs/en/cli/release-notes/v2.36.1.md +5 -0
  301. package/dist/web-ui/docs/en/cli/release-notes/v2.36.2.md +22 -0
  302. package/dist/web-ui/docs/en/cli/release-notes/v2.36.3.md +17 -0
  303. package/dist/web-ui/docs/en/cli/release-notes/v2.37.0.md +15 -0
  304. package/dist/web-ui/docs/en/cli/release-notes/v2.37.1.md +15 -0
  305. package/dist/web-ui/docs/en/cli/release-notes/v2.37.10.md +5 -0
  306. package/dist/web-ui/docs/en/cli/release-notes/v2.37.11.md +8 -0
  307. package/dist/web-ui/docs/en/cli/release-notes/v2.37.12.md +14 -0
  308. package/dist/web-ui/docs/en/cli/release-notes/v2.37.13.md +11 -0
  309. package/dist/web-ui/docs/en/cli/release-notes/v2.37.14.md +24 -0
  310. package/dist/web-ui/docs/en/cli/release-notes/v2.37.15.md +11 -0
  311. package/dist/web-ui/docs/en/cli/release-notes/v2.37.16.md +9 -0
  312. package/dist/web-ui/docs/en/cli/release-notes/v2.37.17.md +5 -0
  313. package/dist/web-ui/docs/en/cli/release-notes/v2.37.18.md +9 -0
  314. package/dist/web-ui/docs/en/cli/release-notes/v2.37.19.md +5 -0
  315. package/dist/web-ui/docs/en/cli/release-notes/v2.37.2.md +28 -0
  316. package/dist/web-ui/docs/en/cli/release-notes/v2.37.20.md +8 -0
  317. package/dist/web-ui/docs/en/cli/release-notes/v2.37.3.md +22 -0
  318. package/dist/web-ui/docs/en/cli/release-notes/v2.37.4.md +19 -0
  319. package/dist/web-ui/docs/en/cli/release-notes/v2.37.5.md +5 -0
  320. package/dist/web-ui/docs/en/cli/release-notes/v2.37.6.md +5 -0
  321. package/dist/web-ui/docs/en/cli/release-notes/v2.37.7.md +5 -0
  322. package/dist/web-ui/docs/en/cli/release-notes/v2.37.8.md +5 -0
  323. package/dist/web-ui/docs/en/cli/release-notes/v2.37.9.md +8 -0
  324. package/dist/web-ui/docs/en/cli/release-notes/v2.38.0.md +22 -0
  325. package/dist/web-ui/docs/en/cli/release-notes/v2.38.1.md +6 -0
  326. package/dist/web-ui/docs/en/cli/release-notes/v2.38.2.md +9 -0
  327. package/dist/web-ui/docs/en/cli/release-notes/v2.39.0.md +18 -0
  328. package/dist/web-ui/docs/en/cli/release-notes/v2.4.0.md +19 -0
  329. package/dist/web-ui/docs/en/cli/release-notes/v2.40.0.md +20 -0
  330. package/dist/web-ui/docs/en/cli/release-notes/v2.40.1.md +6 -0
  331. package/dist/web-ui/docs/en/cli/release-notes/v2.41.0.md +15 -0
  332. package/dist/web-ui/docs/en/cli/release-notes/v2.41.1.md +6 -0
  333. package/dist/web-ui/docs/en/cli/release-notes/v2.41.2.md +5 -0
  334. package/dist/web-ui/docs/en/cli/release-notes/v2.41.3.md +8 -0
  335. package/dist/web-ui/docs/en/cli/release-notes/v2.41.4.md +5 -0
  336. package/dist/web-ui/docs/en/cli/release-notes/v2.41.5.md +10 -0
  337. package/dist/web-ui/docs/en/cli/release-notes/v2.41.6.md +9 -0
  338. package/dist/web-ui/docs/en/cli/release-notes/v2.41.7.md +14 -0
  339. package/dist/web-ui/docs/en/cli/release-notes/v2.41.8.md +18 -0
  340. package/dist/web-ui/docs/en/cli/release-notes/v2.42.0.md +39 -0
  341. package/dist/web-ui/docs/en/cli/release-notes/v2.42.1.md +8 -0
  342. package/dist/web-ui/docs/en/cli/release-notes/v2.42.3.md +18 -0
  343. package/dist/web-ui/docs/en/cli/release-notes/v2.43.0.md +27 -0
  344. package/dist/web-ui/docs/en/cli/release-notes/v2.43.1.md +27 -0
  345. package/dist/web-ui/docs/en/cli/release-notes/v2.44.0.md +11 -0
  346. package/dist/web-ui/docs/en/cli/release-notes/v2.44.1.md +22 -0
  347. package/dist/web-ui/docs/en/cli/release-notes/v2.45.0.md +34 -0
  348. package/dist/web-ui/docs/en/cli/release-notes/v2.45.1.md +7 -0
  349. package/dist/web-ui/docs/en/cli/release-notes/v2.46.0.md +12 -0
  350. package/dist/web-ui/docs/en/cli/release-notes/v2.47.0.md +20 -0
  351. package/dist/web-ui/docs/en/cli/release-notes/v2.48.0.md +32 -0
  352. package/dist/web-ui/docs/en/cli/release-notes/v2.48.1.md +11 -0
  353. package/dist/web-ui/docs/en/cli/release-notes/v2.49.0.md +26 -0
  354. package/dist/web-ui/docs/en/cli/release-notes/v2.49.1.md +14 -0
  355. package/dist/web-ui/docs/en/cli/release-notes/v2.49.2.md +39 -0
  356. package/dist/web-ui/docs/en/cli/release-notes/v2.49.3.md +7 -0
  357. package/dist/web-ui/docs/en/cli/release-notes/v2.49.5.md +11 -0
  358. package/dist/web-ui/docs/en/cli/release-notes/v2.49.6.md +9 -0
  359. package/dist/web-ui/docs/en/cli/release-notes/v2.49.7.md +7 -0
  360. package/dist/web-ui/docs/en/cli/release-notes/v2.5.0.md +24 -0
  361. package/dist/web-ui/docs/en/cli/release-notes/v2.50.0.md +25 -0
  362. package/dist/web-ui/docs/en/cli/release-notes/v2.50.1.md +9 -0
  363. package/dist/web-ui/docs/en/cli/release-notes/v2.50.2.md +11 -0
  364. package/dist/web-ui/docs/en/cli/release-notes/v2.50.3.md +5 -0
  365. package/dist/web-ui/docs/en/cli/release-notes/v2.50.4.md +17 -0
  366. package/dist/web-ui/docs/en/cli/release-notes/v2.50.5.md +16 -0
  367. package/dist/web-ui/docs/en/cli/release-notes/v2.50.6.md +15 -0
  368. package/dist/web-ui/docs/en/cli/release-notes/v2.50.7.md +15 -0
  369. package/dist/web-ui/docs/en/cli/release-notes/v2.51.0.md +24 -0
  370. package/dist/web-ui/docs/en/cli/release-notes/v2.51.1.md +17 -0
  371. package/dist/web-ui/docs/en/cli/release-notes/v2.51.2.md +5 -0
  372. package/dist/web-ui/docs/en/cli/release-notes/v2.52.0.md +30 -0
  373. package/dist/web-ui/docs/en/cli/release-notes/v2.52.1.md +28 -0
  374. package/dist/web-ui/docs/en/cli/release-notes/v2.52.2.md +12 -0
  375. package/dist/web-ui/docs/en/cli/release-notes/v2.52.3.md +13 -0
  376. package/dist/web-ui/docs/en/cli/release-notes/v2.52.4.md +27 -0
  377. package/dist/web-ui/docs/en/cli/release-notes/v2.52.5.md +21 -0
  378. package/dist/web-ui/docs/en/cli/release-notes/v2.52.6.md +7 -0
  379. package/dist/web-ui/docs/en/cli/release-notes/v2.53.0.md +29 -0
  380. package/dist/web-ui/docs/en/cli/release-notes/v2.54.0.md +26 -0
  381. package/dist/web-ui/docs/en/cli/release-notes/v2.55.0.md +21 -0
  382. package/dist/web-ui/docs/en/cli/release-notes/v2.55.1.md +13 -0
  383. package/dist/web-ui/docs/en/cli/release-notes/v2.56.0.md +20 -0
  384. package/dist/web-ui/docs/en/cli/release-notes/v2.56.1.md +5 -0
  385. package/dist/web-ui/docs/en/cli/release-notes/v2.57.0.md +32 -0
  386. package/dist/web-ui/docs/en/cli/release-notes/v2.57.1.md +10 -0
  387. package/dist/web-ui/docs/en/cli/release-notes/v2.58.0.md +34 -0
  388. package/dist/web-ui/docs/en/cli/release-notes/v2.59.0.md +28 -0
  389. package/dist/web-ui/docs/en/cli/release-notes/v2.6.0.md +5 -0
  390. package/dist/web-ui/docs/en/cli/release-notes/v2.6.1.md +10 -0
  391. package/dist/web-ui/docs/en/cli/release-notes/v2.60.0.md +20 -0
  392. package/dist/web-ui/docs/en/cli/release-notes/v2.61.0.md +29 -0
  393. package/dist/web-ui/docs/en/cli/release-notes/v2.61.1.md +5 -0
  394. package/dist/web-ui/docs/en/cli/release-notes/v2.61.2.md +6 -0
  395. package/dist/web-ui/docs/en/cli/release-notes/v2.61.3.md +13 -0
  396. package/dist/web-ui/docs/en/cli/release-notes/v2.62.0.md +21 -0
  397. package/dist/web-ui/docs/en/cli/release-notes/v2.62.1.md +11 -0
  398. package/dist/web-ui/docs/en/cli/release-notes/v2.63.0.md +19 -0
  399. package/dist/web-ui/docs/en/cli/release-notes/v2.63.1.md +5 -0
  400. package/dist/web-ui/docs/en/cli/release-notes/v2.63.2.md +7 -0
  401. package/dist/web-ui/docs/en/cli/release-notes/v2.63.3.md +6 -0
  402. package/dist/web-ui/docs/en/cli/release-notes/v2.63.4.md +8 -0
  403. package/dist/web-ui/docs/en/cli/release-notes/v2.63.5.md +6 -0
  404. package/dist/web-ui/docs/en/cli/release-notes/v2.64.0.md +37 -0
  405. package/dist/web-ui/docs/en/cli/release-notes/v2.64.1.md +6 -0
  406. package/dist/web-ui/docs/en/cli/release-notes/v2.64.2.md +11 -0
  407. package/dist/web-ui/docs/en/cli/release-notes/v2.65.0.md +19 -0
  408. package/dist/web-ui/docs/en/cli/release-notes/v2.65.1.md +11 -0
  409. package/dist/web-ui/docs/en/cli/release-notes/v2.66.0.md +15 -0
  410. package/dist/web-ui/docs/en/cli/release-notes/v2.66.1.md +14 -0
  411. package/dist/web-ui/docs/en/cli/release-notes/v2.66.2.md +5 -0
  412. package/dist/web-ui/docs/en/cli/release-notes/v2.67.0.md +33 -0
  413. package/dist/web-ui/docs/en/cli/release-notes/v2.7.0.md +16 -0
  414. package/dist/web-ui/docs/en/cli/release-notes/v2.8.0.md +18 -0
  415. package/dist/web-ui/docs/en/cli/release-notes/v2.8.1.md +17 -0
  416. package/dist/web-ui/docs/en/cli/release-notes/v2.8.2.md +5 -0
  417. package/dist/web-ui/docs/en/cli/release-notes/v2.8.3.md +14 -0
  418. package/dist/web-ui/docs/en/cli/release-notes/v2.8.4.md +9 -0
  419. package/dist/web-ui/docs/en/cli/release-notes/v2.8.5.md +5 -0
  420. package/dist/web-ui/docs/en/cli/release-notes/v2.8.6.md +14 -0
  421. package/dist/web-ui/docs/en/cli/release-notes/v2.9.0.md +5 -0
  422. package/dist/web-ui/docs/en/cli/remote-control.md +247 -0
  423. package/dist/web-ui/docs/en/cli/sandboxing.md +316 -0
  424. package/dist/web-ui/docs/en/cli/scheduled-tasks.md +160 -0
  425. package/dist/web-ui/docs/en/cli/sdk-custom-tools.md +1131 -0
  426. package/dist/web-ui/docs/en/cli/sdk-demos.md +347 -0
  427. package/dist/web-ui/docs/en/cli/sdk-hooks.md +813 -0
  428. package/dist/web-ui/docs/en/cli/sdk-mcp.md +645 -0
  429. package/dist/web-ui/docs/en/cli/sdk-permissions.md +461 -0
  430. package/dist/web-ui/docs/en/cli/sdk-python.md +797 -0
  431. package/dist/web-ui/docs/en/cli/sdk-sessions.md +340 -0
  432. package/dist/web-ui/docs/en/cli/sdk-typescript.md +770 -0
  433. package/dist/web-ui/docs/en/cli/sdk.md +1103 -0
  434. package/dist/web-ui/docs/en/cli/security.md +388 -0
  435. package/dist/web-ui/docs/en/cli/settings.md +602 -0
  436. package/dist/web-ui/docs/en/cli/skills.md +448 -0
  437. package/dist/web-ui/docs/en/cli/slash-commands.md +397 -0
  438. package/dist/web-ui/docs/en/cli/statusline.md +525 -0
  439. package/dist/web-ui/docs/en/cli/sub-agents.md +621 -0
  440. package/dist/web-ui/docs/en/cli/terminal-config.md +77 -0
  441. package/dist/web-ui/docs/en/cli/tools-reference.md +99 -0
  442. package/dist/web-ui/docs/en/cli/troubleshooting.md +190 -0
  443. package/dist/web-ui/docs/en/cli/web-ui.md +164 -0
  444. package/dist/web-ui/docs/en/cli/wecom-bot-setup.md +274 -0
  445. package/dist/web-ui/docs/en/cli/worktree.md +660 -0
  446. package/dist/web-ui/docs/search-index-en.json +1 -0
  447. package/dist/web-ui/docs/search-index-zh.json +1 -0
  448. package/dist/web-ui/docs/sidebar-en.json +1 -0
  449. package/dist/web-ui/docs/sidebar-zh.json +1 -0
  450. package/dist/web-ui/index.html +2 -2
  451. package/package.json +2 -3
  452. package/product.cloudhosted.json +2 -2
  453. package/product.internal.json +2 -2
  454. package/product.ioa.json +2 -2
  455. package/product.json +3 -3
  456. package/product.selfhosted.json +2 -2
  457. package/dist/web-ui/assets/index-BPT-qRRx.js +0 -411
  458. package/dist/web-ui/assets/index-f_ibHSHw.css +0 -32
@@ -0,0 +1,783 @@
1
+ # Python SDK 参考
2
+
3
+ > **版本要求**:本文档针对 CodeBuddy Agent SDK v0.1.0 及以上版本。
4
+
5
+ 本文档提供 Python SDK 的完整 API 参考。有关快速入门和使用示例,请参阅 [SDK 概览](sdk.md)。
6
+
7
+ ## Requirements
8
+
9
+ | 依赖 | 版本要求 |
10
+ |---------|----------|
11
+ | Python | >= 3.10 |
12
+ | CodeBuddy CLI | 已安装 |
13
+
14
+ **异步运行时**:SDK 基于 `asyncio`,所有 API 都是异步的。
15
+
16
+ ## Installation
17
+
18
+ 推荐使用 [uv](https://docs.astral.sh/uv/) 进行依赖管理:
19
+
20
+ ```bash
21
+ uv add codebuddy-agent-sdk
22
+ ```
23
+
24
+ 或使用 pip:
25
+
26
+ ```bash
27
+ pip install codebuddy-agent-sdk
28
+ ```
29
+
30
+ ### 环境变量
31
+
32
+ | 变量名 | 说明 | 必需 |
33
+ |--------|------|------|
34
+ | `CODEBUDDY_CODE_PATH` | CodeBuddy CLI 可执行文件路径 | 可选 |
35
+
36
+ 如果未设置,SDK 会按以下顺序查找 CLI:
37
+ 1. 环境变量 `CODEBUDDY_CODE_PATH`
38
+ 2. SDK 包内置的二进制文件
39
+ 3. 开发环境 monorepo 路径
40
+
41
+ ### 认证配置
42
+
43
+ SDK 支持使用已有登录凭据、API Key 或 OAuth Client Credentials 认证,详见 [SDK 概览 - 认证配置](sdk.md#认证配置)。
44
+
45
+ ## Functions
46
+
47
+ ### query()
48
+
49
+ 主要 API 入口,创建一个查询并返回消息异步迭代器。
50
+
51
+ ```python
52
+ async def query(
53
+ *,
54
+ prompt: str | AsyncIterable[dict[str, Any]],
55
+ options: CodeBuddyAgentOptions | None = None,
56
+ transport: Transport | None = None,
57
+ ) -> AsyncIterator[Message]:
58
+ ```
59
+
60
+ **参数**:
61
+
62
+ | 参数 | 类型 | 说明 |
63
+ |------|------|------|
64
+ | `prompt` | `str \| AsyncIterable[dict]` | 查询提示词或用户消息流 |
65
+ | `options` | `CodeBuddyAgentOptions` | 配置选项(可选) |
66
+ | `transport` | `Transport` | 自定义传输层(可选) |
67
+
68
+ **返回值**:`AsyncIterator[Message]` - 消息异步迭代器
69
+
70
+ **示例**:
71
+
72
+ ```python
73
+ from codebuddy_agent_sdk import query, AssistantMessage, TextBlock
74
+
75
+ async for message in query(prompt="What is 2+2?"):
76
+ if isinstance(message, AssistantMessage):
77
+ for block in message.content:
78
+ if isinstance(block, TextBlock):
79
+ print(block.text)
80
+ ```
81
+
82
+ ## Client Class
83
+
84
+ ### CodeBuddySDKClient
85
+
86
+ 用于双向交互式对话的客户端类。支持多轮对话、中断和动态控制。
87
+
88
+ ```python
89
+ class CodeBuddySDKClient:
90
+ def __init__(
91
+ self,
92
+ options: CodeBuddyAgentOptions | None = None,
93
+ transport: Transport | None = None,
94
+ ): ...
95
+ ```
96
+
97
+ **方法**:
98
+
99
+ #### connect()
100
+
101
+ 连接到 CodeBuddy。
102
+
103
+ ```python
104
+ async def connect(
105
+ self,
106
+ prompt: str | AsyncIterable[dict[str, Any]] | None = None
107
+ ) -> None:
108
+ ```
109
+
110
+ #### query()
111
+
112
+ 发送用户消息。
113
+
114
+ ```python
115
+ async def query(
116
+ self,
117
+ prompt: str | AsyncIterable[dict[str, Any]],
118
+ session_id: str = "default",
119
+ ) -> None:
120
+ ```
121
+
122
+ #### receive_response()
123
+
124
+ 接收消息直到收到 ResultMessage。
125
+
126
+ ```python
127
+ async def receive_response(self) -> AsyncIterator[Message]:
128
+ ```
129
+
130
+ #### receive_messages()
131
+
132
+ 接收所有消息(不会自动停止)。
133
+
134
+ ```python
135
+ async def receive_messages(self) -> AsyncIterator[Message]:
136
+ ```
137
+
138
+ #### disconnect()
139
+
140
+ 断开连接。
141
+
142
+ ```python
143
+ async def disconnect(self) -> None:
144
+ ```
145
+
146
+ **上下文管理器支持**:
147
+
148
+ ```python
149
+ async with CodeBuddySDKClient() as client:
150
+ await client.query("Hello!")
151
+ async for msg in client.receive_response():
152
+ print(msg)
153
+ ```
154
+
155
+ #### mcp_server_status()
156
+
157
+ 获取 MCP 服务器连接状态。
158
+
159
+ ```python
160
+ async def mcp_server_status(self) -> list[McpServerStatus]:
161
+ ```
162
+
163
+ ## Authentication
164
+
165
+ SDK 提供独立的认证 API,采用 **two-phase** 设计:先获取登录 URL,再等待用户完成认证。
166
+
167
+ ### authenticate()
168
+
169
+ 启动认证流程,返回 `AuthFlow` 对象。
170
+
171
+ ```python
172
+ async def authenticate(
173
+ *,
174
+ method_id: str = "external",
175
+ environment: str | None = None,
176
+ endpoint: str | None = None,
177
+ codebuddy_code_path: str | None = None,
178
+ env: dict[str, str] | None = None,
179
+ timeout: float = 300.0,
180
+ ) -> AuthFlow:
181
+ ```
182
+
183
+ **参数**:
184
+
185
+ | 参数 | 类型 | 说明 |
186
+ |------|------|------|
187
+ | `method_id` | `str` | 认证方法标识(默认 `"external"`) |
188
+ | `environment` | `str \| None` | 预定义环境名 |
189
+ | `endpoint` | `str \| None` | 自定义端点 URL(与 environment 互斥) |
190
+ | `codebuddy_code_path` | `str \| None` | CLI 可执行文件路径 |
191
+ | `env` | `dict[str, str] \| None` | 额外环境变量 |
192
+ | `timeout` | `float` | 用户完成登录的超时时间(秒,默认 300) |
193
+
194
+ **返回值**:`AuthFlow` — 携带登录 URL 的可等待对象
195
+
196
+ **示例**:
197
+
198
+ ```python
199
+ from codebuddy_agent_sdk import authenticate
200
+
201
+ # Two-phase: 获取 URL → 展示给用户 → 等待完成
202
+ auth = await authenticate()
203
+ if auth.auth_url:
204
+ print(f"请访问: {auth.auth_url}")
205
+ result = await auth
206
+ print(f"欢迎, {result.userinfo.user_name}")
207
+
208
+ # 已登录时 auth.auth_url 为空,await 立即返回
209
+ auth = await authenticate()
210
+ result = await auth # 已登录则立即返回
211
+
212
+ # 自定义超时
213
+ auth = await authenticate()
214
+ result = await auth.wait(timeout=60)
215
+ ```
216
+
217
+ ### AuthFlow
218
+
219
+ 认证流程对象,由 `authenticate()` 返回。实现了 `__await__` 协议,可直接 `await`。
220
+
221
+ **属性**:
222
+
223
+ | 属性 | 类型 | 说明 |
224
+ |------|------|------|
225
+ | `auth_url` | `str` | 登录 URL(已登录时为空字符串) |
226
+ | `method_id` | `str \| None` | 认证方法标识 |
227
+
228
+ **方法**:
229
+
230
+ #### wait()
231
+
232
+ 等待用户完成认证。
233
+
234
+ ```python
235
+ async def wait(self, timeout: float | None = None) -> AuthenticateResponse:
236
+ ```
237
+
238
+ #### cancel()
239
+
240
+ 取消认证流程并释放资源。
241
+
242
+ ```python
243
+ async def cancel(self) -> None:
244
+ ```
245
+
246
+ ### logout()
247
+
248
+ 登出并清除缓存的认证令牌。
249
+
250
+ ```python
251
+ async def logout(
252
+ *,
253
+ environment: str | None = None,
254
+ endpoint: str | None = None,
255
+ codebuddy_code_path: str | None = None,
256
+ env: dict[str, str] | None = None,
257
+ ) -> None:
258
+ ```
259
+
260
+ **示例**:
261
+
262
+ ```python
263
+ from codebuddy_agent_sdk import logout
264
+
265
+ await logout()
266
+ ```
267
+
268
+ ## Unstable API
269
+
270
+ > **警告**:以下 API 处于实验阶段,接口可能在未来版本中变更。
271
+
272
+ ### interrupt()
273
+
274
+ 发送中断信号。
275
+
276
+ ```python
277
+ async def interrupt(self) -> None:
278
+ ```
279
+
280
+ ### set_permission_mode()
281
+
282
+ 动态修改权限模式。
283
+
284
+ ```python
285
+ async def set_permission_mode(self, mode: str) -> None:
286
+ ```
287
+
288
+ ### set_model()
289
+
290
+ 动态修改模型。
291
+
292
+ ```python
293
+ async def set_model(self, model: str | None = None) -> None:
294
+ ```
295
+
296
+ ## Types
297
+
298
+ ### CodeBuddyAgentOptions
299
+
300
+ 完整配置选项:
301
+
302
+ ```python
303
+ @dataclass
304
+ class CodeBuddyAgentOptions:
305
+ allowed_tools: list[str] = field(default_factory=list)
306
+ disallowed_tools: list[str] = field(default_factory=list)
307
+ system_prompt: str | AppendSystemPrompt | None = None
308
+ mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)
309
+ permission_mode: PermissionMode | None = None
310
+ continue_conversation: bool = False
311
+ resume: str | None = None
312
+ max_turns: int | None = None
313
+ model: str | None = None
314
+ fallback_model: str | None = None
315
+ cwd: str | Path | None = None
316
+ codebuddy_code_path: str | Path | None = None
317
+ env: dict[str, str] = field(default_factory=dict)
318
+ extra_args: dict[str, str | None] = field(default_factory=dict)
319
+ stderr: Callable[[str], None] | None = None
320
+ hooks: dict[HookEvent, list[HookMatcher]] | None = None
321
+ include_partial_messages: bool = False
322
+ fork_session: bool = False
323
+ agents: dict[str, AgentDefinition] | None = None
324
+ setting_sources: list[SettingSource] | None = None
325
+ can_use_tool: CanUseTool | None = None
326
+ ```
327
+
328
+ | 字段 | 类型 | 说明 |
329
+ |------|------|------|
330
+ | `allowed_tools` | `list[str]` | 自动允许的工具白名单 |
331
+ | `disallowed_tools` | `list[str]` | 禁止使用的工具黑名单 |
332
+ | `system_prompt` | `str \| AppendSystemPrompt` | 系统提示词配置 |
333
+ | `mcp_servers` | `dict[str, McpServerConfig]` | MCP 服务器配置 |
334
+ | `permission_mode` | `PermissionMode` | 权限模式 |
335
+ | `continue_conversation` | `bool` | 继续最近的会话 |
336
+ | `resume` | `str` | 要恢复的会话 ID |
337
+ | `max_turns` | `int` | 最大对话轮数 |
338
+ | `model` | `str` | 指定模型 |
339
+ | `fallback_model` | `str` | 备用模型 |
340
+ | `cwd` | `str \| Path` | 工作目录 |
341
+ | `codebuddy_code_path` | `str \| Path` | CLI 可执行文件路径 |
342
+ | `env` | `dict[str, str]` | 环境变量 |
343
+ | `extra_args` | `dict[str, str \| None]` | 额外的 CLI 参数 |
344
+ | `stderr` | `Callable[[str], None]` | stderr 回调 |
345
+ | `hooks` | `dict[HookEvent, list[HookMatcher]]` | Hook 配置 |
346
+ | `include_partial_messages` | `bool` | 包含部分消息 |
347
+ | `fork_session` | `bool` | 分叉会话 |
348
+ | `agents` | `dict[str, AgentDefinition]` | 自定义 Agent |
349
+ | `setting_sources` | `list[SettingSource]` | 设置来源 |
350
+ | `can_use_tool` | `CanUseTool` | 权限回调函数 |
351
+ | `max_thinking_tokens` | `int` | 最大思考 token 数(已废弃,请使用 `thinking`) |
352
+ | `thinking` | `ThinkingConfig` | 思考模式配置:`{"type": "adaptive"}`、`{"type": "enabled", "budget_tokens": N}` 或 `{"type": "disabled"}` |
353
+ | `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh'` | 模型推理努力程度 |
354
+
355
+ ### PermissionMode
356
+
357
+ ```python
358
+ PermissionMode = Literal["default", "acceptEdits", "plan", "bypassPermissions"]
359
+ ```
360
+
361
+ | 值 | 说明 |
362
+ |-----|------|
363
+ | `"default"` | 默认模式,所有操作需确认 |
364
+ | `"acceptEdits"` | 自动批准文件编辑 |
365
+ | `"plan"` | 规划模式,仅允许读取 |
366
+ | `"bypassPermissions"` | 跳过所有权限检查 |
367
+
368
+ ### PermissionResult
369
+
370
+ ```python
371
+ PermissionResult = PermissionResultAllow | PermissionResultDeny
372
+
373
+ @dataclass
374
+ class PermissionResultAllow:
375
+ updated_input: dict[str, Any]
376
+ behavior: Literal["allow"] = "allow"
377
+ updated_permissions: list[dict[str, Any]] | None = None
378
+
379
+ @dataclass
380
+ class PermissionResultDeny:
381
+ message: str
382
+ behavior: Literal["deny"] = "deny"
383
+ interrupt: bool = False
384
+ ```
385
+
386
+ ### CanUseTool
387
+
388
+ ```python
389
+ CanUseTool = Callable[
390
+ [str, dict[str, Any], CanUseToolOptions],
391
+ Awaitable[PermissionResult],
392
+ ]
393
+
394
+ @dataclass
395
+ class CanUseToolOptions:
396
+ tool_use_id: str
397
+ signal: Any | None = None
398
+ agent_id: str | None = None
399
+ suggestions: list[dict[str, Any]] | None = None
400
+ blocked_path: str | None = None
401
+ decision_reason: str | None = None
402
+ ```
403
+
404
+ ### AgentDefinition
405
+
406
+ ```python
407
+ @dataclass
408
+ class AgentDefinition:
409
+ description: str # Agent 描述
410
+ prompt: str # 系统提示词
411
+ tools: list[str] | None = None # 允许的工具
412
+ disallowed_tools: list[str] | None = None # 禁止的工具
413
+ model: str | None = None # 使用的模型
414
+ ```
415
+
416
+ ### McpServerConfig
417
+
418
+ ```python
419
+ class McpStdioServerConfig(TypedDict):
420
+ type: NotRequired[Literal["stdio"]]
421
+ command: str
422
+ args: NotRequired[list[str]]
423
+ env: NotRequired[dict[str, str]]
424
+
425
+ McpServerConfig = McpStdioServerConfig
426
+ ```
427
+
428
+ ### HookEvent
429
+
430
+ ```python
431
+ HookEvent = (
432
+ Literal["PreToolUse"]
433
+ | Literal["PostToolUse"]
434
+ | Literal["UserPromptSubmit"]
435
+ | Literal["Stop"]
436
+ | Literal["SubagentStop"]
437
+ | Literal["PreCompact"]
438
+ | Literal["WorktreeCreate"]
439
+ | Literal["WorktreeRemove"]
440
+ )
441
+ ```
442
+
443
+ ### HookMatcher
444
+
445
+ ```python
446
+ @dataclass
447
+ class HookMatcher:
448
+ matcher: str | None = None # 匹配模式(支持正则)
449
+ hooks: list[HookCallback] = field(default_factory=list)
450
+ timeout: float | None = None # 超时时间(秒)
451
+ ```
452
+
453
+ ### HookCallback
454
+
455
+ ```python
456
+ HookCallback = Callable[
457
+ [Any, str | None, HookContext],
458
+ Awaitable[HookJSONOutput],
459
+ ]
460
+
461
+ class HookContext(TypedDict):
462
+ signal: Any | None
463
+
464
+ class SyncHookJSONOutput(TypedDict):
465
+ continue_: NotRequired[bool]
466
+ suppressOutput: NotRequired[bool]
467
+ stopReason: NotRequired[str]
468
+ decision: NotRequired[Literal["block"]]
469
+ reason: NotRequired[str]
470
+ ```
471
+
472
+ ### SettingSource
473
+
474
+ 控制 SDK 从哪些文件系统位置加载配置。
475
+
476
+ ```python
477
+ SettingSource = Literal["user", "project", "local"]
478
+ ```
479
+
480
+ | 值 | 说明 | 位置 |
481
+ |-----|------|------|
482
+ | `"user"` | 全局用户设置 | `~/.codebuddy/settings.json` |
483
+ | `"project"` | 项目共享设置 | `.codebuddy/settings.json` |
484
+ | `"local"` | 项目本地设置 | `.codebuddy/settings.local.json` |
485
+
486
+ **默认行为**:当 `setting_sources` 未指定时,SDK **不加载任何文件系统配置**。这提供了完全干净的运行环境。
487
+
488
+ ```python
489
+ # 默认:不加载任何配置(干净环境)
490
+ async for msg in query(prompt="..."):
491
+ pass
492
+
493
+ # 加载项目配置
494
+ options = CodeBuddyAgentOptions(setting_sources=["project"])
495
+
496
+ # 加载所有配置(类似 CLI 行为)
497
+ options = CodeBuddyAgentOptions(setting_sources=["user", "project", "local"])
498
+ ```
499
+
500
+ ### AppendSystemPrompt
501
+
502
+ ```python
503
+ @dataclass
504
+ class AppendSystemPrompt:
505
+ append: str # 追加到默认系统提示词的内容
506
+ ```
507
+
508
+ ## Message Types
509
+
510
+ ### Message
511
+
512
+ 所有消息类型的联合:
513
+
514
+ ```python
515
+ Message = UserMessage | AssistantMessage | SystemMessage | ResultMessage | StreamEvent
516
+ ```
517
+
518
+ ### SystemMessage
519
+
520
+ ```python
521
+ @dataclass
522
+ class SystemMessage:
523
+ subtype: str
524
+ data: dict[str, Any]
525
+ ```
526
+
527
+ ### UserMessage
528
+
529
+ ```python
530
+ @dataclass
531
+ class UserMessage:
532
+ content: str | list[ContentBlock]
533
+ uuid: str | None = None
534
+ parent_tool_use_id: str | None = None
535
+ ```
536
+
537
+ ### AssistantMessage
538
+
539
+ ```python
540
+ @dataclass
541
+ class AssistantMessage:
542
+ content: list[ContentBlock]
543
+ model: str
544
+ parent_tool_use_id: str | None = None
545
+ error: str | None = None
546
+ ```
547
+
548
+ ### ResultMessage
549
+
550
+ ```python
551
+ @dataclass
552
+ class ResultMessage:
553
+ subtype: str
554
+ duration_ms: int
555
+ duration_api_ms: int
556
+ is_error: bool
557
+ num_turns: int
558
+ session_id: str
559
+ total_cost_usd: float | None = None
560
+ usage: dict[str, Any] | None = None
561
+ result: str | None = None
562
+ ```
563
+
564
+ ### StreamEvent
565
+
566
+ ```python
567
+ @dataclass
568
+ class StreamEvent:
569
+ uuid: str
570
+ session_id: str
571
+ event: dict[str, Any]
572
+ parent_tool_use_id: str | None = None
573
+ ```
574
+
575
+ ### ContentBlock
576
+
577
+ ```python
578
+ ContentBlock = TextBlock | ThinkingBlock | ToolUseBlock | ToolResultBlock
579
+
580
+ @dataclass
581
+ class TextBlock:
582
+ text: str
583
+
584
+ @dataclass
585
+ class ThinkingBlock:
586
+ thinking: str
587
+ signature: str
588
+
589
+ @dataclass
590
+ class ToolUseBlock:
591
+ id: str
592
+ name: str
593
+ input: dict[str, Any]
594
+
595
+ @dataclass
596
+ class ToolResultBlock:
597
+ tool_use_id: str
598
+ content: str | list[dict[str, Any]] | None = None
599
+ is_error: bool | None = None
600
+ ```
601
+
602
+ ## Input Types
603
+
604
+ ### AskUserQuestionInput
605
+
606
+ ```python
607
+ @dataclass
608
+ class AskUserQuestionInput:
609
+ questions: list[AskUserQuestionQuestion]
610
+ answers: dict[str, str] | None = None
611
+ ```
612
+
613
+ ### AskUserQuestionQuestion
614
+
615
+ ```python
616
+ @dataclass
617
+ class AskUserQuestionQuestion:
618
+ question: str # 完整问题文本(应以 ? 结尾)
619
+ header: str # 简短标签(最多 12 个字符)
620
+ options: list[AskUserQuestionOption]
621
+ multi_select: bool # 是否允许多选
622
+ ```
623
+
624
+ ### AskUserQuestionOption
625
+
626
+ ```python
627
+ @dataclass
628
+ class AskUserQuestionOption:
629
+ label: str # 显示文本(1-5 个单词)
630
+ description: str # 选项说明
631
+ ```
632
+
633
+ ## Errors
634
+
635
+ 所有异常都继承自 `CodeBuddySDKError`。
636
+
637
+ ### CodeBuddySDKError
638
+
639
+ ```python
640
+ class CodeBuddySDKError(Exception):
641
+ """Base exception for CodeBuddy SDK errors."""
642
+ pass
643
+ ```
644
+
645
+ ### CLIConnectionError
646
+
647
+ 当连接到 CLI 失败或未建立连接时抛出。
648
+
649
+ ```python
650
+ class CLIConnectionError(CodeBuddySDKError):
651
+ pass
652
+ ```
653
+
654
+ ### CLINotFoundError
655
+
656
+ 当找不到 CLI 可执行文件时抛出。
657
+
658
+ ```python
659
+ class CLINotFoundError(CodeBuddySDKError):
660
+ def __init__(
661
+ self,
662
+ message: str,
663
+ platform: str | None = None,
664
+ arch: str | None = None,
665
+ ): ...
666
+ ```
667
+
668
+ **属性**:
669
+
670
+ | 属性 | 类型 | 说明 |
671
+ |------|------|------|
672
+ | `platform` | `str \| None` | 当前平台 |
673
+ | `arch` | `str \| None` | 当前架构 |
674
+
675
+ ### CLIJSONDecodeError
676
+
677
+ 当 CLI 输出的 JSON 解码失败时抛出。
678
+
679
+ ```python
680
+ class CLIJSONDecodeError(CodeBuddySDKError):
681
+ pass
682
+ ```
683
+
684
+ ### ProcessError
685
+
686
+ 当 CLI 进程遇到错误时抛出。
687
+
688
+ ```python
689
+ class ProcessError(CodeBuddySDKError):
690
+ pass
691
+ ```
692
+
693
+ ### CLIStartupError
694
+
695
+ 当 CLI 进程在启动阶段崩溃或未产生任何输出时抛出。
696
+
697
+ ```python
698
+ class CLIStartupError(CodeBuddySDKError):
699
+ def __init__(
700
+ self,
701
+ message: str,
702
+ stderr: str = "",
703
+ exit_code: int | None = None,
704
+ ): ...
705
+ ```
706
+
707
+ **属性**:
708
+
709
+ | 属性 | 类型 | 说明 |
710
+ |------|------|------|
711
+ | `stderr` | `str` | CLI 进程的 stderr 输出 |
712
+ | `exit_code` | `int \| None` | 进程退出码 |
713
+
714
+ ### ExecutionError
715
+
716
+ 当执行失败时抛出(如认证错误、API 错误)。包含 ResultMessage 中的 errors 数组。
717
+
718
+ ```python
719
+ class ExecutionError(CodeBuddySDKError):
720
+ def __init__(self, errors: list[str], subtype: str): ...
721
+ ```
722
+
723
+ **属性**:
724
+
725
+ | 属性 | 类型 | 说明 |
726
+ |------|------|------|
727
+ | `errors` | `list[str]` | 错误消息列表 |
728
+ | `subtype` | `str` | 错误子类型 |
729
+
730
+ ### AuthenticationError
731
+
732
+ 当认证失败时抛出。
733
+
734
+ ```python
735
+ class AuthenticationError(CodeBuddySDKError):
736
+ def __init__(self, error_type: str, message: str): ...
737
+ ```
738
+
739
+ **属性**:
740
+
741
+ | 属性 | 类型 | 说明 |
742
+ |------|------|------|
743
+ | `error_type` | `str` | 错误类型(如 `"timeout"`, `"auth_failed"`) |
744
+
745
+ ## Auth Types
746
+
747
+ ### AuthenticateResponse
748
+
749
+ ```python
750
+ @dataclass(slots=True)
751
+ class AuthenticateResponse:
752
+ userinfo: UserInfo
753
+ ```
754
+
755
+ ### UserInfo
756
+
757
+ ```python
758
+ @dataclass(slots=True)
759
+ class UserInfo:
760
+ user_id: str
761
+ user_name: str = ""
762
+ user_nickname: str = ""
763
+ token: str = ""
764
+ enterprise_id: str | None = None
765
+ enterprise: str | None = None
766
+ ```
767
+
768
+ ### McpServerStatus
769
+
770
+ ```python
771
+ @dataclass(slots=True)
772
+ class McpServerStatus:
773
+ name: str
774
+ status: Literal["connected", "failed", "needs-auth", "pending"]
775
+ server_info: dict[str, Any] | None = None
776
+ ```
777
+
778
+ ## 相关文档
779
+
780
+ - [SDK 概览](sdk.md) - 快速入门和使用示例
781
+ - [TypeScript SDK 参考](sdk-typescript.md) - TypeScript 版本 API
782
+ - [Hook 参考指南](hooks.md) - 详细的 Hook 配置说明
783
+ - [MCP 集成](mcp.md) - MCP 服务器配置指南