botmux 2.94.0 → 2.96.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 (231) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +3 -3
  3. package/dist/adapters/backend/tmux-backend.d.ts +18 -2
  4. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  5. package/dist/adapters/backend/tmux-backend.js +44 -11
  6. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  7. package/dist/adapters/backend/tmux-pipe-backend.js +1 -1
  8. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  9. package/dist/adapters/backend/types.d.ts +8 -0
  10. package/dist/adapters/backend/types.d.ts.map +1 -1
  11. package/dist/adapters/backend/types.js.map +1 -1
  12. package/dist/adapters/backend/zellij-backend.js +1 -1
  13. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  14. package/dist/adapters/cli/kimi.d.ts +4 -0
  15. package/dist/adapters/cli/kimi.d.ts.map +1 -0
  16. package/dist/adapters/cli/kimi.js +54 -0
  17. package/dist/adapters/cli/kimi.js.map +1 -0
  18. package/dist/adapters/cli/registry.d.ts +2 -1
  19. package/dist/adapters/cli/registry.d.ts.map +1 -1
  20. package/dist/adapters/cli/registry.js +6 -20
  21. package/dist/adapters/cli/registry.js.map +1 -1
  22. package/dist/adapters/cli/types.d.ts +1 -1
  23. package/dist/adapters/cli/types.d.ts.map +1 -1
  24. package/dist/adapters/hook-installer.d.ts.map +1 -1
  25. package/dist/adapters/hook-installer.js +138 -28
  26. package/dist/adapters/hook-installer.js.map +1 -1
  27. package/dist/bot-registry.d.ts +101 -4
  28. package/dist/bot-registry.d.ts.map +1 -1
  29. package/dist/bot-registry.js +192 -3
  30. package/dist/bot-registry.js.map +1 -1
  31. package/dist/cli/stdin-encoding.d.ts +21 -0
  32. package/dist/cli/stdin-encoding.d.ts.map +1 -1
  33. package/dist/cli/stdin-encoding.js +37 -0
  34. package/dist/cli/stdin-encoding.js.map +1 -1
  35. package/dist/cli.d.ts.map +1 -1
  36. package/dist/cli.js +27 -4
  37. package/dist/cli.js.map +1 -1
  38. package/dist/core/ask-hook/opencode.d.ts +15 -17
  39. package/dist/core/ask-hook/opencode.d.ts.map +1 -1
  40. package/dist/core/ask-hook/opencode.js +17 -19
  41. package/dist/core/ask-hook/opencode.js.map +1 -1
  42. package/dist/core/command-handler.d.ts.map +1 -1
  43. package/dist/core/command-handler.js +29 -3
  44. package/dist/core/command-handler.js.map +1 -1
  45. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  46. package/dist/core/dashboard-ipc-server.js +282 -5
  47. package/dist/core/dashboard-ipc-server.js.map +1 -1
  48. package/dist/core/dashboard-rows.d.ts +2 -0
  49. package/dist/core/dashboard-rows.d.ts.map +1 -1
  50. package/dist/core/dashboard-rows.js +2 -0
  51. package/dist/core/dashboard-rows.js.map +1 -1
  52. package/dist/core/session-discovery.d.ts +9 -0
  53. package/dist/core/session-discovery.d.ts.map +1 -1
  54. package/dist/core/session-discovery.js +24 -0
  55. package/dist/core/session-discovery.js.map +1 -1
  56. package/dist/core/session-manager.d.ts.map +1 -1
  57. package/dist/core/session-manager.js +7 -6
  58. package/dist/core/session-manager.js.map +1 -1
  59. package/dist/core/terminal-url.d.ts.map +1 -1
  60. package/dist/core/terminal-url.js +15 -0
  61. package/dist/core/terminal-url.js.map +1 -1
  62. package/dist/core/trigger-session.d.ts.map +1 -1
  63. package/dist/core/trigger-session.js +101 -9
  64. package/dist/core/trigger-session.js.map +1 -1
  65. package/dist/core/types.d.ts +16 -0
  66. package/dist/core/types.d.ts.map +1 -1
  67. package/dist/core/types.js.map +1 -1
  68. package/dist/core/worker-pool.d.ts +1 -1
  69. package/dist/core/worker-pool.d.ts.map +1 -1
  70. package/dist/core/worker-pool.js +69 -11
  71. package/dist/core/worker-pool.js.map +1 -1
  72. package/dist/daemon.d.ts.map +1 -1
  73. package/dist/daemon.js +14 -11
  74. package/dist/daemon.js.map +1 -1
  75. package/dist/dashboard/aggregator.d.ts +5 -0
  76. package/dist/dashboard/aggregator.d.ts.map +1 -1
  77. package/dist/dashboard/aggregator.js +7 -0
  78. package/dist/dashboard/aggregator.js.map +1 -1
  79. package/dist/dashboard/bot-payload.d.ts +8 -0
  80. package/dist/dashboard/bot-payload.d.ts.map +1 -1
  81. package/dist/dashboard/bot-payload.js +8 -1
  82. package/dist/dashboard/bot-payload.js.map +1 -1
  83. package/dist/dashboard/connector-api.d.ts.map +1 -1
  84. package/dist/dashboard/connector-api.js +14 -3
  85. package/dist/dashboard/connector-api.js.map +1 -1
  86. package/dist/dashboard/session-cleanup.d.ts +1 -0
  87. package/dist/dashboard/session-cleanup.d.ts.map +1 -1
  88. package/dist/dashboard/session-cleanup.js +2 -0
  89. package/dist/dashboard/session-cleanup.js.map +1 -1
  90. package/dist/dashboard/settings-write-applier.d.ts +2 -1
  91. package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
  92. package/dist/dashboard/settings-write-applier.js +7 -0
  93. package/dist/dashboard/settings-write-applier.js.map +1 -1
  94. package/dist/dashboard/trigger-api.d.ts +4 -0
  95. package/dist/dashboard/trigger-api.d.ts.map +1 -1
  96. package/dist/dashboard/trigger-api.js +20 -0
  97. package/dist/dashboard/trigger-api.js.map +1 -1
  98. package/dist/dashboard/web/bot-defaults.d.ts +1 -0
  99. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  100. package/dist/dashboard/web/bot-defaults.js +352 -37
  101. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  102. package/dist/dashboard/web/connectors.d.ts +11 -0
  103. package/dist/dashboard/web/connectors.d.ts.map +1 -1
  104. package/dist/dashboard/web/connectors.js +45 -1
  105. package/dist/dashboard/web/connectors.js.map +1 -1
  106. package/dist/dashboard/web/groups.d.ts +7 -0
  107. package/dist/dashboard/web/groups.d.ts.map +1 -1
  108. package/dist/dashboard/web/groups.js +62 -15
  109. package/dist/dashboard/web/groups.js.map +1 -1
  110. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  111. package/dist/dashboard/web/i18n.js +82 -4
  112. package/dist/dashboard/web/i18n.js.map +1 -1
  113. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  114. package/dist/dashboard/web/sessions.js +149 -5
  115. package/dist/dashboard/web/sessions.js.map +1 -1
  116. package/dist/dashboard/web/settings.d.ts.map +1 -1
  117. package/dist/dashboard/web/settings.js +11 -0
  118. package/dist/dashboard/web/settings.js.map +1 -1
  119. package/dist/dashboard/web/whiteboards.d.ts.map +1 -1
  120. package/dist/dashboard/web/whiteboards.js +14 -5
  121. package/dist/dashboard/web/whiteboards.js.map +1 -1
  122. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  123. package/dist/dashboard/webhook-routes.js +126 -6
  124. package/dist/dashboard/webhook-routes.js.map +1 -1
  125. package/dist/dashboard-web/app.js +814 -725
  126. package/dist/dashboard-web/apple-touch-icon.png +0 -0
  127. package/dist/dashboard-web/favicon.png +0 -0
  128. package/dist/dashboard-web/index.html +2 -0
  129. package/dist/dashboard-web/style.css +47 -0
  130. package/dist/dashboard.js +247 -16
  131. package/dist/dashboard.js.map +1 -1
  132. package/dist/global-config.d.ts +10 -0
  133. package/dist/global-config.d.ts.map +1 -1
  134. package/dist/global-config.js +8 -0
  135. package/dist/global-config.js.map +1 -1
  136. package/dist/i18n/en.d.ts.map +1 -1
  137. package/dist/i18n/en.js +21 -0
  138. package/dist/i18n/en.js.map +1 -1
  139. package/dist/i18n/zh.d.ts.map +1 -1
  140. package/dist/i18n/zh.js +21 -0
  141. package/dist/i18n/zh.js.map +1 -1
  142. package/dist/im/lark/card-builder.d.ts.map +1 -1
  143. package/dist/im/lark/card-builder.js +1 -0
  144. package/dist/im/lark/card-builder.js.map +1 -1
  145. package/dist/im/lark/client.d.ts +12 -0
  146. package/dist/im/lark/client.d.ts.map +1 -1
  147. package/dist/im/lark/client.js +48 -21
  148. package/dist/im/lark/client.js.map +1 -1
  149. package/dist/im/lark/event-dispatcher.d.ts +15 -1
  150. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  151. package/dist/im/lark/event-dispatcher.js +199 -16
  152. package/dist/im/lark/event-dispatcher.js.map +1 -1
  153. package/dist/im/lark/grant-command.js +4 -4
  154. package/dist/im/lark/grant-command.js.map +1 -1
  155. package/dist/im/lark/message-parser.d.ts +40 -1
  156. package/dist/im/lark/message-parser.d.ts.map +1 -1
  157. package/dist/im/lark/message-parser.js +37 -2
  158. package/dist/im/lark/message-parser.js.map +1 -1
  159. package/dist/im/lark/summary-command.d.ts +19 -0
  160. package/dist/im/lark/summary-command.d.ts.map +1 -0
  161. package/dist/im/lark/summary-command.js +276 -0
  162. package/dist/im/lark/summary-command.js.map +1 -0
  163. package/dist/mir-local-runtime.d.ts +40 -0
  164. package/dist/mir-local-runtime.d.ts.map +1 -1
  165. package/dist/mir-local-runtime.js +246 -52
  166. package/dist/mir-local-runtime.js.map +1 -1
  167. package/dist/mir-runner.js +26 -1
  168. package/dist/mir-runner.js.map +1 -1
  169. package/dist/platform/binding.d.ts +6 -0
  170. package/dist/platform/binding.d.ts.map +1 -1
  171. package/dist/platform/binding.js +17 -0
  172. package/dist/platform/binding.js.map +1 -1
  173. package/dist/platform/tunnel-client.d.ts +2 -0
  174. package/dist/platform/tunnel-client.d.ts.map +1 -1
  175. package/dist/platform/tunnel-client.js.map +1 -1
  176. package/dist/services/bot-config-store.d.ts.map +1 -1
  177. package/dist/services/bot-config-store.js +1 -0
  178. package/dist/services/bot-config-store.js.map +1 -1
  179. package/dist/services/card-prefs-store.d.ts +2 -2
  180. package/dist/services/card-prefs-store.d.ts.map +1 -1
  181. package/dist/services/card-prefs-store.js +5 -5
  182. package/dist/services/card-prefs-store.js.map +1 -1
  183. package/dist/services/chat-reply-mode-store.d.ts +6 -4
  184. package/dist/services/chat-reply-mode-store.d.ts.map +1 -1
  185. package/dist/services/chat-reply-mode-store.js +6 -4
  186. package/dist/services/chat-reply-mode-store.js.map +1 -1
  187. package/dist/services/oncall-store.d.ts +25 -0
  188. package/dist/services/oncall-store.d.ts.map +1 -1
  189. package/dist/services/oncall-store.js +56 -0
  190. package/dist/services/oncall-store.js.map +1 -1
  191. package/dist/services/pi-transcript.d.ts +19 -0
  192. package/dist/services/pi-transcript.d.ts.map +1 -0
  193. package/dist/services/pi-transcript.js +222 -0
  194. package/dist/services/pi-transcript.js.map +1 -0
  195. package/dist/services/summary-range-store.d.ts +21 -0
  196. package/dist/services/summary-range-store.d.ts.map +1 -0
  197. package/dist/services/summary-range-store.js +89 -0
  198. package/dist/services/summary-range-store.js.map +1 -0
  199. package/dist/services/transcript-resolver.d.ts.map +1 -1
  200. package/dist/services/transcript-resolver.js +21 -4
  201. package/dist/services/transcript-resolver.js.map +1 -1
  202. package/dist/services/trigger-types.d.ts +14 -2
  203. package/dist/services/trigger-types.d.ts.map +1 -1
  204. package/dist/services/trigger-types.js +15 -1
  205. package/dist/services/trigger-types.js.map +1 -1
  206. package/dist/setup/bot-config-editor.d.ts +7 -0
  207. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  208. package/dist/setup/bot-config-editor.js +35 -0
  209. package/dist/setup/bot-config-editor.js.map +1 -1
  210. package/dist/types.d.ts +21 -1
  211. package/dist/types.d.ts.map +1 -1
  212. package/dist/utils/executable.d.ts +3 -0
  213. package/dist/utils/executable.d.ts.map +1 -0
  214. package/dist/utils/executable.js +24 -0
  215. package/dist/utils/executable.js.map +1 -0
  216. package/dist/utils/terminal-favicon.d.ts +2 -0
  217. package/dist/utils/terminal-favicon.d.ts.map +1 -0
  218. package/dist/utils/terminal-favicon.js +5 -0
  219. package/dist/utils/terminal-favicon.js.map +1 -0
  220. package/dist/worker.js +211 -12
  221. package/dist/worker.js.map +1 -1
  222. package/dist/workflows/definition.d.ts +8 -8
  223. package/dist/workflows/events/payloads.d.ts +10 -10
  224. package/dist/workflows/events/schema.d.ts +28 -28
  225. package/dist/workflows/v3/bot-resolve.d.ts +1 -1
  226. package/dist/workflows/v3/bot-resolve.d.ts.map +1 -1
  227. package/dist/workflows/v3/bot-resolve.js +2 -1
  228. package/dist/workflows/v3/bot-resolve.js.map +1 -1
  229. package/dist/workflows/v3/cli-run.js +2 -2
  230. package/dist/workflows/v3/cli-run.js.map +1 -1
  231. package/package.json +2 -2
@@ -1,39 +1,37 @@
1
1
  /**
2
2
  * OpenCode hook adapter。
3
3
  *
4
- * OpenCode 通过 QuestionAsked 事件发起提问,payload 形状:
4
+ * OpenCode 自带原生 `question` 工具(= Claude AskUserQuestion 等价物),模型调用时服务端
5
+ * 发布 `question.asked` 事件并阻塞,等客户端把答案 POST 回 `/question/{id}/reply` 才解阻塞。
6
+ * botmux 的 OpenCode 插件(见 hook-installer.ts buildOpenCodePlugin)用 `event` 钩子拦截该
7
+ * 事件,把 questions 规范成下面这个 payload 喂给 `botmux hook opencode`,拿到 directive 里的
8
+ * `answers` 后再 POST 回 OpenCode:
5
9
  * {
6
- * hook_event_name: 'QuestionAsked',
7
- * session_id: 'opencode-<id>',
8
- * question_id: '<id>', // 同 _opencode_request_id
9
- * question_text: '问题文本(拍平版本)',
10
+ * hook_event_name: 'question.asked',
11
+ * question_id: 'que_<id>',
12
+ * session_id: 'ses_<id>',
10
13
  * tool_input: {
11
14
  * questions: [
12
15
  * {
13
16
  * question: '问题文本',
14
17
  * header: '可选标题',
15
18
  * options: [{ label: '选项文本', description?: '描述' }, ...],
16
- * multiple: boolean,
19
+ * multiple?: boolean,
17
20
  * }
18
21
  * ]
19
22
  * },
20
- * _opencode_request_id: '<id>',
21
23
  * }
22
24
  *
23
- * OpenCode 期望的 answer directive 形状(发往 /question/:id/reply):
25
+ * formatAnswer 返回的 directive 形状(插件取其中的 `answers` 作为 reply body):
24
26
  * { type: 'answer', answers: string[][] }
25
27
  * 其中 answers[i] = 第 i 个问题选中的 label 数组;跳过的 question 填 ['']。
28
+ * (自由文本作答即把该文字当作选中的 label —— OpenCode question 默认 custom:true 允许任意串。)
26
29
  *
27
- * 若没有结构化 questions(旧版兼容路径),改用:
28
- * { type: 'answer', text: '自由文本' }
30
+ * passthrough(放行)= 空字符串:插件见 stdout 为空 → 不 reply,把问题留给 OpenCode
31
+ * 原生 picker(botmux web 终端里仍可人工作答)。绝不用空答案顶替这次提问。
29
32
  *
30
- * passthrough(放行)directive 形状:
31
- * { type: 'answer', answers: [['']] }
32
- * (每条 question 填空哨兵 [''],让 OpenCode plugin 视为"未答"并继续)
33
- *
34
- * 参考来源:x-desktop-app/src/island/main/bridge/adapters/OpenCodeAdapter.ts
35
- * x-desktop-app/src/island/main/bridge/BridgeServer.ts buildOpenCodeAnswerDirective
36
- * x-desktop-app/src/island/hooks-install/opencode.ts postQuestionReply
33
+ * 机制已在 OpenCode 1.17.x 端到端实测确认(事件名 `question.asked`、reply 端点
34
+ * `POST /question/{id}/reply`、body `{ answers }`)。
37
35
  */
38
36
  import type { HookAskAdapter } from './types.js';
39
37
  declare const openCodeAdapter: HookAskAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/core/ask-hook/opencode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,YAAY,CAAC;AAE5D,QAAA,MAAM,eAAe,EAAE,cA4FtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/core/ask-hook/opencode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,YAAY,CAAC;AAE5D,QAAA,MAAM,eAAe,EAAE,cA4FtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,47 +1,45 @@
1
1
  /**
2
2
  * OpenCode hook adapter。
3
3
  *
4
- * OpenCode 通过 QuestionAsked 事件发起提问,payload 形状:
4
+ * OpenCode 自带原生 `question` 工具(= Claude AskUserQuestion 等价物),模型调用时服务端
5
+ * 发布 `question.asked` 事件并阻塞,等客户端把答案 POST 回 `/question/{id}/reply` 才解阻塞。
6
+ * botmux 的 OpenCode 插件(见 hook-installer.ts buildOpenCodePlugin)用 `event` 钩子拦截该
7
+ * 事件,把 questions 规范成下面这个 payload 喂给 `botmux hook opencode`,拿到 directive 里的
8
+ * `answers` 后再 POST 回 OpenCode:
5
9
  * {
6
- * hook_event_name: 'QuestionAsked',
7
- * session_id: 'opencode-<id>',
8
- * question_id: '<id>', // 同 _opencode_request_id
9
- * question_text: '问题文本(拍平版本)',
10
+ * hook_event_name: 'question.asked',
11
+ * question_id: 'que_<id>',
12
+ * session_id: 'ses_<id>',
10
13
  * tool_input: {
11
14
  * questions: [
12
15
  * {
13
16
  * question: '问题文本',
14
17
  * header: '可选标题',
15
18
  * options: [{ label: '选项文本', description?: '描述' }, ...],
16
- * multiple: boolean,
19
+ * multiple?: boolean,
17
20
  * }
18
21
  * ]
19
22
  * },
20
- * _opencode_request_id: '<id>',
21
23
  * }
22
24
  *
23
- * OpenCode 期望的 answer directive 形状(发往 /question/:id/reply):
25
+ * formatAnswer 返回的 directive 形状(插件取其中的 `answers` 作为 reply body):
24
26
  * { type: 'answer', answers: string[][] }
25
27
  * 其中 answers[i] = 第 i 个问题选中的 label 数组;跳过的 question 填 ['']。
28
+ * (自由文本作答即把该文字当作选中的 label —— OpenCode question 默认 custom:true 允许任意串。)
26
29
  *
27
- * 若没有结构化 questions(旧版兼容路径),改用:
28
- * { type: 'answer', text: '自由文本' }
30
+ * passthrough(放行)= 空字符串:插件见 stdout 为空 → 不 reply,把问题留给 OpenCode
31
+ * 原生 picker(botmux web 终端里仍可人工作答)。绝不用空答案顶替这次提问。
29
32
  *
30
- * passthrough(放行)directive 形状:
31
- * { type: 'answer', answers: [['']] }
32
- * (每条 question 填空哨兵 [''],让 OpenCode plugin 视为"未答"并继续)
33
- *
34
- * 参考来源:x-desktop-app/src/island/main/bridge/adapters/OpenCodeAdapter.ts
35
- * x-desktop-app/src/island/main/bridge/BridgeServer.ts buildOpenCodeAnswerDirective
36
- * x-desktop-app/src/island/hooks-install/opencode.ts postQuestionReply
33
+ * 机制已在 OpenCode 1.17.x 端到端实测确认(事件名 `question.asked`、reply 端点
34
+ * `POST /question/{id}/reply`、body `{ answers }`)。
37
35
  */
38
36
  const openCodeAdapter = {
39
37
  parseQuestions(payload) {
40
38
  if (!payload || typeof payload !== 'object')
41
39
  return null;
42
40
  const p = payload;
43
- // 只处理 QuestionAsked 事件
44
- if (p.hook_event_name !== 'QuestionAsked')
41
+ // 只处理 question.asked 事件(OpenCode 原生 question 工具触发,由插件规范后转发)
42
+ if (p.hook_event_name !== 'question.asked')
45
43
  return null;
46
44
  // 尝试从结构化 tool_input.questions 解析
47
45
  const toolInput = p.tool_input;
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/core/ask-hook/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../src/core/ask-hook/opencode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/core/command-handler.ts"],"names":[],"mappings":"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"}
@@ -2619,12 +2619,15 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
2619
2619
  break;
2620
2620
  }
2621
2621
  case '/help': {
2622
- const botCfg = ds ? getBot(ds.larkAppId).config : getAllBots()[0]?.config;
2622
+ const helpAppId = ds?.larkAppId ?? larkAppId;
2623
+ const botCfg = ds ? getBot(ds.larkAppId).config : (helpAppId ? getBot(helpAppId).config : getAllBots()[0]?.config);
2623
2624
  const cliName = getCliDisplayName(botCfg?.cliId ?? 'claude-code');
2625
+ const passthroughCommands = [...resolvePassthroughCommands(helpAppId)];
2624
2626
  const help = [
2625
2627
  t('help.heading_session', undefined, loc),
2626
2628
  t('help.close', { cliName }, loc),
2627
2629
  t('help.restart', { cliName }, loc),
2630
+ t('help.topic', undefined, loc),
2628
2631
  t('help.cd', { cliName }, loc),
2629
2632
  t('help.repo_list', undefined, loc),
2630
2633
  t('help.repo_n', undefined, loc),
@@ -2633,11 +2636,15 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
2633
2636
  t('help.status', undefined, loc),
2634
2637
  t('help.card', undefined, loc),
2635
2638
  t('help.term', undefined, loc),
2639
+ t('help.dashboard', undefined, loc),
2640
+ t('help.insight', undefined, loc),
2641
+ t('help.land', undefined, loc),
2636
2642
  t('help.subscribe_doc', undefined, loc),
2643
+ t('help.summary', undefined, loc),
2637
2644
  '',
2638
2645
  t('help.heading_passthrough', { cliName }, loc),
2639
- // 直接从集合渲染,保证文案与 PASSTHROUGH_COMMANDS 不漂移
2640
- [...PASSTHROUGH_COMMANDS].join(' '),
2646
+ // 展示当前 bot 实际生效的透传集合:固定白名单 + adapter 默认 + 有效自定义项。
2647
+ passthroughCommands.join(' '),
2641
2648
  '',
2642
2649
  t('help.heading_schedule', undefined, loc),
2643
2650
  t('help.schedule_create', undefined, loc),
@@ -2653,9 +2660,26 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
2653
2660
  t('help.adopt_pane', undefined, loc),
2654
2661
  t('help.detach', undefined, loc),
2655
2662
  '',
2663
+ t('help.heading_collab', undefined, loc),
2664
+ t('help.introduce', undefined, loc),
2665
+ t('help.relay', undefined, loc),
2666
+ t('help.relay_create', undefined, loc),
2667
+ '',
2656
2668
  t('help.heading_login', undefined, loc),
2657
2669
  t('help.login', undefined, loc),
2658
2670
  t('help.login_status', undefined, loc),
2671
+ t('help.pair', undefined, loc),
2672
+ '',
2673
+ t('help.heading_workflow', undefined, loc),
2674
+ t('help.workflow_run', undefined, loc),
2675
+ t('help.workflow_cancel', undefined, loc),
2676
+ '',
2677
+ t('help.heading_role', undefined, loc),
2678
+ t('help.role_show', undefined, loc),
2679
+ t('help.role_set', undefined, loc),
2680
+ t('help.role_team', undefined, loc),
2681
+ t('help.role_cap', undefined, loc),
2682
+ t('help.role_profile', undefined, loc),
2659
2683
  '',
2660
2684
  t('help.heading_oncall', undefined, loc),
2661
2685
  t('help.oncall_bind', undefined, loc),
@@ -2669,6 +2693,8 @@ export async function handleCommand(cmd, rootId, message, deps, larkAppId) {
2669
2693
  t('help.heading_config', undefined, loc),
2670
2694
  t('help.config_get', undefined, loc),
2671
2695
  t('help.config_set', undefined, loc),
2696
+ t('help.skills', undefined, loc),
2697
+ t('help.reply_mode', undefined, loc),
2672
2698
  '',
2673
2699
  t('help.heading_group', undefined, loc),
2674
2700
  t('help.group', undefined, loc),