@tencent-ai/codebuddy-code 2.67.0 → 2.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +1 -1
  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,525 @@
1
+ # 状态行配置
2
+
3
+ > 为 CodeBuddy Code 创建自定义状态行以显示上下文信息
4
+
5
+ 通过自定义状态行让 CodeBuddy Code 更具个性化,状态行显示在 CodeBuddy Code 界面的底部,类似于 Oh-my-zsh 等 shell 中的终端提示符(PS1)的工作方式。
6
+
7
+ ## 创建自定义状态行
8
+
9
+ 您可以选择以下方式之一:
10
+
11
+ * 运行 `/statusline` 让 CodeBuddy Code 帮助您设置自定义状态行。默认情况下,它会尝试复制您终端的提示符,但您可以向 CodeBuddy Code 提供有关所需行为的额外说明,例如 `/statusline 用橙色显示模型名称`
12
+
13
+ * 直接在您的 `.codebuddy/settings.json` 中添加 `statusLine` 命令:
14
+
15
+ ```json
16
+ {
17
+ "statusLine": {
18
+ "type": "command",
19
+ "command": "~/.codebuddy/statusline.sh",
20
+ "padding": 0 // 可选: 设置为 0 让状态行延伸到边缘
21
+ }
22
+ }
23
+ ```
24
+
25
+ ## 工作原理
26
+
27
+ * 状态行在对话消息更新时更新
28
+ * 更新最多每 300ms 运行一次
29
+ * 命令输出的第一行 stdout 成为状态行文本
30
+ * 支持 ANSI 颜色代码来设置状态行样式
31
+ * CodeBuddy Code 通过 stdin 以 JSON 格式向您的脚本传递有关当前会话的上下文信息(模型、目录等)
32
+
33
+ ## JSON 输入结构
34
+
35
+ 您的状态行命令通过 stdin 接收 JSON 格式的结构化数据:
36
+
37
+ ```json
38
+ {
39
+ "hook_event_name": "Status",
40
+ "session_id": "abc123...",
41
+ "transcript_path": "/path/to/transcript.json",
42
+ "cwd": "/current/working/directory",
43
+ "model": {
44
+ "id": "gpt-5",
45
+ "display_name": "GPT-5"
46
+ },
47
+ "workspace": {
48
+ "current_dir": "/current/working/directory",
49
+ "project_dir": "/original/project/directory"
50
+ },
51
+ "version": "2.9.0",
52
+ "output_style": {
53
+ "name": "default"
54
+ },
55
+ "cost": {
56
+ "total_cost_usd": 0.01234,
57
+ "total_duration_ms": 45000,
58
+ "total_api_duration_ms": 2300,
59
+ "total_lines_added": 156,
60
+ "total_lines_removed": 23
61
+ }
62
+ }
63
+ ```
64
+
65
+ ## 示例脚本
66
+
67
+ ### 简单状态行
68
+
69
+ ```bash
70
+ #!/bin/bash
71
+ # 从 stdin 读取 JSON 输入
72
+ input=$(cat)
73
+
74
+ # 使用 jq 提取值
75
+ MODEL_DISPLAY=$(echo "$input" | jq -r '.model.display_name')
76
+ CURRENT_DIR=$(echo "$input" | jq -r '.workspace.current_dir')
77
+
78
+ echo "[$MODEL_DISPLAY] 📁 ${CURRENT_DIR##*/}"
79
+ ```
80
+
81
+ ### Git 感知状态行
82
+
83
+ ```bash
84
+ #!/bin/bash
85
+ # 从 stdin 读取 JSON 输入
86
+ input=$(cat)
87
+
88
+ # 使用 jq 提取值
89
+ MODEL_DISPLAY=$(echo "$input" | jq -r '.model.display_name')
90
+ CURRENT_DIR=$(echo "$input" | jq -r '.workspace.current_dir')
91
+
92
+ # 如果在 git 仓库中显示 git 分支
93
+ GIT_BRANCH=""
94
+ if git rev-parse --git-dir > /dev/null 2>&1; then
95
+ BRANCH=$(git branch --show-current 2>/dev/null)
96
+ if [ -n "$BRANCH" ]; then
97
+ GIT_BRANCH=" | 🌿 $BRANCH"
98
+ fi
99
+ fi
100
+
101
+ echo "[$MODEL_DISPLAY] 📁 ${CURRENT_DIR##*/}$GIT_BRANCH"
102
+ ```
103
+
104
+ ### 带颜色的中文状态行
105
+
106
+ ```bash
107
+ #!/bin/bash
108
+ # 从 stdin 读取 JSON 输入
109
+ input=$(cat)
110
+
111
+ # 使用 jq 提取值
112
+ MODEL_DISPLAY=$(echo "$input" | jq -r '.model.display_name')
113
+ CURRENT_DIR=$(echo "$input" | jq -r '.workspace.current_dir')
114
+ SESSION_ID=$(echo "$input" | jq -r '.session_id' | cut -c1-8)
115
+
116
+ # ANSI 颜色代码
117
+ GREEN='\033[0;32m'
118
+ BLUE='\033[0;34m'
119
+ YELLOW='\033[1;33m'
120
+ NC='\033[0m' # 无颜色
121
+
122
+ # 获取 git 分支
123
+ GIT_BRANCH=""
124
+ if git rev-parse --git-dir > /dev/null 2>&1; then
125
+ BRANCH=$(git branch --show-current 2>/dev/null)
126
+ if [ -n "$BRANCH" ]; then
127
+ GIT_BRANCH=" ${GREEN}on${NC} ${YELLOW}$BRANCH${NC}"
128
+ fi
129
+ fi
130
+
131
+ echo -e "${BLUE}[$MODEL_DISPLAY]${NC} 📁 ${GREEN}${CURRENT_DIR##*/}${NC}$GIT_BRANCH ${BLUE}(${SESSION_ID})${NC}"
132
+ ```
133
+
134
+ ### 显示成本和统计信息
135
+
136
+ ```bash
137
+ #!/bin/bash
138
+ # 从 stdin 读取 JSON 输入
139
+ input=$(cat)
140
+
141
+ # 提取值
142
+ MODEL_DISPLAY=$(echo "$input" | jq -r '.model.display_name')
143
+ CURRENT_DIR=$(echo "$input" | jq -r '.workspace.current_dir')
144
+ TOTAL_COST=$(echo "$input" | jq -r '.cost.total_cost_usd')
145
+ LINES_ADDED=$(echo "$input" | jq -r '.cost.total_lines_added')
146
+ LINES_REMOVED=$(echo "$input" | jq -r '.cost.total_lines_removed')
147
+
148
+ # 格式化成本
149
+ COST_STR=""
150
+ if [ "$TOTAL_COST" != "null" ] && [ "$TOTAL_COST" != "0" ]; then
151
+ COST_STR=$(printf " | 💰 \$%.4f" "$TOTAL_COST")
152
+ fi
153
+
154
+ # 格式化代码统计
155
+ STATS=""
156
+ if [ "$LINES_ADDED" != "null" ] && [ "$LINES_ADDED" != "0" ]; then
157
+ STATS=" | +$LINES_ADDED -$LINES_REMOVED"
158
+ fi
159
+
160
+ echo "[$MODEL_DISPLAY] 📁 ${CURRENT_DIR##*/}$COST_STR$STATS"
161
+ ```
162
+
163
+ ### Python 示例
164
+
165
+ ```python
166
+ #!/usr/bin/env python3
167
+ import json
168
+ import sys
169
+ import os
170
+ import subprocess
171
+
172
+ # 从 stdin 读取 JSON
173
+ data = json.load(sys.stdin)
174
+
175
+ # 提取值
176
+ model = data['model']['display_name']
177
+ current_dir = os.path.basename(data['workspace']['current_dir'])
178
+
179
+ # 检查 git 分支
180
+ git_branch = ""
181
+ try:
182
+ branch = subprocess.check_output(
183
+ ['git', 'branch', '--show-current'],
184
+ stderr=subprocess.DEVNULL
185
+ ).decode('utf-8').strip()
186
+ if branch:
187
+ git_branch = f" | 🌿 {branch}"
188
+ except:
189
+ pass
190
+
191
+ # ANSI 颜色代码
192
+ BLUE = '\033[0;34m'
193
+ GREEN = '\033[0;32m'
194
+ NC = '\033[0m'
195
+
196
+ print(f"{BLUE}[{model}]{NC} 📁 {GREEN}{current_dir}{NC}{git_branch}")
197
+ ```
198
+
199
+ ### Node.js 示例
200
+
201
+ ```javascript
202
+ #!/usr/bin/env node
203
+
204
+ const fs = require('fs');
205
+ const path = require('path');
206
+ const { execSync } = require('child_process');
207
+
208
+ // 从 stdin 读取 JSON
209
+ let input = '';
210
+ process.stdin.on('data', chunk => input += chunk);
211
+ process.stdin.on('end', () => {
212
+ const data = JSON.parse(input);
213
+
214
+ // 提取值
215
+ const model = data.model.display_name;
216
+ const currentDir = path.basename(data.workspace.current_dir);
217
+
218
+ // 检查 git 分支
219
+ let gitBranch = '';
220
+ try {
221
+ const branch = execSync('git branch --show-current', {
222
+ encoding: 'utf8',
223
+ stdio: ['pipe', 'pipe', 'ignore']
224
+ }).trim();
225
+ if (branch) {
226
+ gitBranch = ` | 🌿 ${branch}`;
227
+ }
228
+ } catch (e) {
229
+ // 不是 git 仓库或无法读取分支
230
+ }
231
+
232
+ // ANSI 颜色
233
+ const BLUE = '\x1b[0;34m';
234
+ const GREEN = '\x1b[0;32m';
235
+ const NC = '\x1b[0m';
236
+
237
+ console.log(`${BLUE}[${model}]${NC} 📁 ${GREEN}${currentDir}${NC}${gitBranch}`);
238
+ });
239
+ ```
240
+
241
+ ### 助手函数方法
242
+
243
+ 对于更复杂的 bash 脚本,您可以创建助手函数:
244
+
245
+ ```bash
246
+ #!/bin/bash
247
+ # 读取一次 JSON 输入
248
+ input=$(cat)
249
+
250
+ # 常见提取的助手函数
251
+ get_model_name() { echo "$input" | jq -r '.model.display_name'; }
252
+ get_model_id() { echo "$input" | jq -r '.model.id'; }
253
+ get_current_dir() { echo "$input" | jq -r '.workspace.current_dir'; }
254
+ get_project_dir() { echo "$input" | jq -r '.workspace.project_dir'; }
255
+ get_version() { echo "$input" | jq -r '.version'; }
256
+ get_cost() { echo "$input" | jq -r '.cost.total_cost_usd'; }
257
+ get_duration() { echo "$input" | jq -r '.cost.total_duration_ms'; }
258
+ get_lines_added() { echo "$input" | jq -r '.cost.total_lines_added'; }
259
+ get_lines_removed() { echo "$input" | jq -r '.cost.total_lines_removed'; }
260
+ get_session_id() { echo "$input" | jq -r '.session_id'; }
261
+
262
+ # 使用助手函数
263
+ MODEL=$(get_model_name)
264
+ DIR=$(get_current_dir)
265
+ COST=$(get_cost)
266
+
267
+ # 格式化成本
268
+ if [ "$COST" != "null" ] && [ "$COST" != "0" ]; then
269
+ COST_DISPLAY=$(printf " | 💰 \$%.4f" "$COST")
270
+ else
271
+ COST_DISPLAY=""
272
+ fi
273
+
274
+ echo "[$MODEL] 📁 ${DIR##*/}$COST_DISPLAY"
275
+ ```
276
+
277
+ ### 完整的中文示例
278
+
279
+ ```bash
280
+ #!/bin/bash
281
+ # ~/.codebuddy/statusline.sh
282
+ # CodeBuddy Code 中文状态行示例
283
+
284
+ # 从 stdin 读取 JSON 输入
285
+ input=$(cat)
286
+
287
+ # 提取基本信息
288
+ MODEL=$(echo "$input" | jq -r '.model.display_name')
289
+ CURRENT_DIR=$(echo "$input" | jq -r '.workspace.current_dir')
290
+ DIR_NAME=${CURRENT_DIR##*/}
291
+
292
+ # ANSI 颜色
293
+ BLUE='\033[0;34m'
294
+ GREEN='\033[0;32m'
295
+ YELLOW='\033[1;33m'
296
+ CYAN='\033[0;36m'
297
+ NC='\033[0m'
298
+
299
+ # Git 信息
300
+ GIT_INFO=""
301
+ if git rev-parse --git-dir > /dev/null 2>&1; then
302
+ BRANCH=$(git branch --show-current 2>/dev/null)
303
+ if [ -n "$BRANCH" ]; then
304
+ # 检查是否有未提交的更改
305
+ if ! git diff-index --quiet HEAD -- 2>/dev/null; then
306
+ STATUS="*"
307
+ else
308
+ STATUS=""
309
+ fi
310
+ GIT_INFO=" ${GREEN}分支${NC} ${YELLOW}$BRANCH$STATUS${NC}"
311
+ fi
312
+ fi
313
+
314
+ # 成本信息
315
+ COST=$(echo "$input" | jq -r '.cost.total_cost_usd')
316
+ COST_INFO=""
317
+ if [ "$COST" != "null" ] && [ "$COST" != "0" ]; then
318
+ COST_INFO=$(printf " ${CYAN}成本${NC} \$%.4f" "$COST")
319
+ fi
320
+
321
+ # 输出状态行
322
+ echo -e "${BLUE}[$MODEL]${NC} 📁 ${GREEN}$DIR_NAME${NC}$GIT_INFO$COST_INFO"
323
+ ```
324
+
325
+ ## 高级示例
326
+
327
+ ### 显示当前时间和会话时长
328
+
329
+ ```bash
330
+ #!/bin/bash
331
+ input=$(cat)
332
+
333
+ MODEL=$(echo "$input" | jq -r '.model.display_name')
334
+ DIR=$(echo "$input" | jq -r '.workspace.current_dir')
335
+ DURATION_MS=$(echo "$input" | jq -r '.cost.total_duration_ms')
336
+
337
+ # 格式化时长
338
+ if [ "$DURATION_MS" != "null" ] && [ "$DURATION_MS" != "0" ]; then
339
+ DURATION_SEC=$((DURATION_MS / 1000))
340
+ DURATION_MIN=$((DURATION_SEC / 60))
341
+ DURATION_SEC=$((DURATION_SEC % 60))
342
+ TIME_INFO=$(printf " | ⏱️ %dm%ds" "$DURATION_MIN" "$DURATION_SEC")
343
+ else
344
+ TIME_INFO=""
345
+ fi
346
+
347
+ # 当前时间
348
+ CURRENT_TIME=$(date +"%H:%M:%S")
349
+
350
+ echo "[$MODEL] 📁 ${DIR##*/}$TIME_INFO | 🕐 $CURRENT_TIME"
351
+ ```
352
+
353
+ ### 根据成本显示不同颜色
354
+
355
+ ```bash
356
+ #!/bin/bash
357
+ input=$(cat)
358
+
359
+ MODEL=$(echo "$input" | jq -r '.model.display_name')
360
+ DIR=$(echo "$input" | jq -r '.workspace.current_dir')
361
+ COST=$(echo "$input" | jq -r '.cost.total_cost_usd')
362
+
363
+ # 颜色定义
364
+ GREEN='\033[0;32m'
365
+ YELLOW='\033[1;33m'
366
+ RED='\033[0;31m'
367
+ NC='\033[0m'
368
+
369
+ # 根据成本选择颜色
370
+ if [ "$COST" != "null" ]; then
371
+ if (( $(echo "$COST < 0.01" | bc -l) )); then
372
+ COST_COLOR=$GREEN
373
+ elif (( $(echo "$COST < 0.1" | bc -l) )); then
374
+ COST_COLOR=$YELLOW
375
+ else
376
+ COST_COLOR=$RED
377
+ fi
378
+ COST_DISPLAY=$(printf "${COST_COLOR}\$%.4f${NC}" "$COST")
379
+ else
380
+ COST_DISPLAY=""
381
+ fi
382
+
383
+ echo -e "[$MODEL] 📁 ${DIR##*/} | 💰 $COST_DISPLAY"
384
+ ```
385
+
386
+ ## 提示
387
+
388
+ * 保持状态行简洁 - 它应该适合一行
389
+ * 使用 emoji(如果您的终端支持)和颜色使信息易于浏览
390
+ * 在 Bash 中使用 `jq` 进行 JSON 解析(参见上面的示例)
391
+ * 通过使用模拟 JSON 输入手动运行脚本来测试您的脚本:
392
+ ```bash
393
+ echo '{"model":{"display_name":"测试"},"workspace":{"current_dir":"/test"}}' | ./statusline.sh
394
+ ```
395
+ * 如果需要,考虑缓存昂贵的操作(如 git status)
396
+ * 确保脚本输出是有效的 UTF-8,以正确显示中文和 emoji
397
+
398
+ ## 常用 ANSI 颜色代码
399
+
400
+ ```bash
401
+ # 文本颜色
402
+ BLACK='\033[0;30m'
403
+ RED='\033[0;31m'
404
+ GREEN='\033[0;32m'
405
+ YELLOW='\033[0;33m'
406
+ BLUE='\033[0;34m'
407
+ PURPLE='\033[0;35m'
408
+ CYAN='\033[0;36m'
409
+ WHITE='\033[0;37m'
410
+
411
+ # 粗体颜色
412
+ BOLD_BLACK='\033[1;30m'
413
+ BOLD_RED='\033[1;31m'
414
+ BOLD_GREEN='\033[1;32m'
415
+ BOLD_YELLOW='\033[1;33m'
416
+ BOLD_BLUE='\033[1;34m'
417
+ BOLD_PURPLE='\033[1;35m'
418
+ BOLD_CYAN='\033[1;36m'
419
+ BOLD_WHITE='\033[1;37m'
420
+
421
+ # 背景颜色
422
+ BG_BLACK='\033[40m'
423
+ BG_RED='\033[41m'
424
+ BG_GREEN='\033[42m'
425
+ BG_YELLOW='\033[43m'
426
+ BG_BLUE='\033[44m'
427
+ BG_PURPLE='\033[45m'
428
+ BG_CYAN='\033[46m'
429
+ BG_WHITE='\033[47m'
430
+
431
+ # 重置
432
+ NC='\033[0m' # No Color
433
+ ```
434
+
435
+ ## 故障排查
436
+
437
+ ### 状态行不显示
438
+
439
+ * 检查脚本是否可执行: `chmod +x ~/.codebuddy/statusline.sh`
440
+ * 确保脚本输出到 stdout(不是 stderr)
441
+ * 验证 JSON 路径正确: `echo '{}' | ~/.codebuddy/statusline.sh`
442
+
443
+ ### 中文或 emoji 显示乱码
444
+
445
+ * 确保终端支持 UTF-8 编码
446
+ * 检查脚本文件保存为 UTF-8 格式
447
+ * 在脚本开头添加: `export LANG=zh_CN.UTF-8`
448
+
449
+ ### 颜色不显示
450
+
451
+ * 检查终端是否支持 ANSI 颜色
452
+ * 确保使用 `echo -e` 来解释转义序列
453
+ * 验证颜色代码是否正确
454
+
455
+ ### Git 信息不显示
456
+
457
+ * 确保在 git 仓库中运行
458
+ * 检查 git 命令是否在 PATH 中
459
+ * 验证有权限读取 `.git` 目录
460
+
461
+ ### 脚本执行缓慢
462
+
463
+ * 缓存昂贵的操作(如 git status)
464
+ * 避免在状态行脚本中进行网络请求
465
+ * 使用后台进程更新缓存的信息
466
+
467
+ ## 配置示例
468
+
469
+ ### 用户级配置
470
+
471
+ 在 `~/.codebuddy/settings.json` 中:
472
+
473
+ ```json
474
+ {
475
+ "statusLine": {
476
+ "type": "command",
477
+ "command": "~/.codebuddy/statusline.sh",
478
+ "padding": 0
479
+ }
480
+ }
481
+ ```
482
+
483
+ ### 项目级配置
484
+
485
+ 在 `.codebuddy/settings.json` 中:
486
+
487
+ ```json
488
+ {
489
+ "statusLine": {
490
+ "type": "command",
491
+ "command": "./.codebuddy/statusline.sh"
492
+ }
493
+ }
494
+ ```
495
+
496
+ 这允许不同项目使用不同的状态行样式。
497
+
498
+ ## 实用工具推荐
499
+
500
+ * **jq**: JSON 解析工具,必备
501
+ * **bc**:用于浮点数计算(成本比较)
502
+ * **git**:显示分支和状态信息
503
+ * **date**:显示时间信息
504
+
505
+ 安装:
506
+ ```bash
507
+ # macOS
508
+ brew install jq bc
509
+
510
+ # Ubuntu/Debian
511
+ sudo apt-get install jq bc
512
+
513
+ # CentOS/RHEL
514
+ sudo yum install jq bc
515
+ ```
516
+
517
+ ## 相关资源
518
+
519
+ * [设置配置](settings.md) - 了解完整的配置选项
520
+ * [Hooks 文档](hooks.md) - 了解更多自定义功能
521
+ * [斜杠命令](slash-commands.md) - 使用 `/statusline` 快速配置
522
+
523
+ ---
524
+
525
+ *通过自定义状态行,让 CodeBuddy Code 更符合您的工作风格*