botmux 2.14.0 → 2.16.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 (49) hide show
  1. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  2. package/dist/adapters/cli/claude-code.js +13 -5
  3. package/dist/adapters/cli/claude-code.js.map +1 -1
  4. package/dist/cli.js +78 -17
  5. package/dist/cli.js.map +1 -1
  6. package/dist/core/session-manager.js +2 -2
  7. package/dist/core/session-manager.js.map +1 -1
  8. package/dist/daemon.d.ts.map +1 -1
  9. package/dist/daemon.js +107 -30
  10. package/dist/daemon.js.map +1 -1
  11. package/dist/im/lark/client.d.ts +7 -0
  12. package/dist/im/lark/client.d.ts.map +1 -1
  13. package/dist/im/lark/client.js +37 -0
  14. package/dist/im/lark/client.js.map +1 -1
  15. package/dist/im/lark/event-dispatcher.d.ts +17 -8
  16. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  17. package/dist/im/lark/event-dispatcher.js +54 -15
  18. package/dist/im/lark/event-dispatcher.js.map +1 -1
  19. package/dist/im/lark/message-parser.d.ts.map +1 -1
  20. package/dist/im/lark/message-parser.js +6 -1
  21. package/dist/im/lark/message-parser.js.map +1 -1
  22. package/dist/services/session-store.d.ts +12 -0
  23. package/dist/services/session-store.d.ts.map +1 -1
  24. package/dist/services/session-store.js +19 -2
  25. package/dist/services/session-store.js.map +1 -1
  26. package/dist/setup/detect-platform.d.ts +14 -0
  27. package/dist/setup/detect-platform.d.ts.map +1 -0
  28. package/dist/setup/detect-platform.js +139 -0
  29. package/dist/setup/detect-platform.js.map +1 -0
  30. package/dist/setup/ensure-fonts.d.ts +13 -0
  31. package/dist/setup/ensure-fonts.d.ts.map +1 -0
  32. package/dist/setup/ensure-fonts.js +225 -0
  33. package/dist/setup/ensure-fonts.js.map +1 -0
  34. package/dist/setup/ensure-tmux.d.ts +11 -0
  35. package/dist/setup/ensure-tmux.d.ts.map +1 -0
  36. package/dist/setup/ensure-tmux.js +151 -0
  37. package/dist/setup/ensure-tmux.js.map +1 -0
  38. package/dist/setup/index.d.ts +9 -0
  39. package/dist/setup/index.d.ts.map +1 -0
  40. package/dist/setup/index.js +35 -0
  41. package/dist/setup/index.js.map +1 -0
  42. package/dist/utils/bot-mention-dedup.d.ts +26 -0
  43. package/dist/utils/bot-mention-dedup.d.ts.map +1 -0
  44. package/dist/utils/bot-mention-dedup.js +56 -0
  45. package/dist/utils/bot-mention-dedup.js.map +1 -0
  46. package/dist/utils/screenshot-renderer.d.ts.map +1 -1
  47. package/dist/utils/screenshot-renderer.js +12 -5
  48. package/dist/utils/screenshot-renderer.js.map +1 -1
  49. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAGxD;;+FAE+F;AAC/F,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhF;AAoDD;;;;;;;;;wEASwE;AACxE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAoBD;;;;;0CAK0C;AAC1C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqBnH;AAED;;;;;;;;;;;;;;oDAcoD;AACpD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA+B9D;AAID,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAiPzE;AAED,eAAO,MAAM,MAAM,gCAA0B,CAAC"}
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/adapters/cli/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,YAAY,CAAC;AAGxD;;+FAE+F;AAC/F,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGhF;AAoDD;;;;;;;;;wEASwE;AACxE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAoBD;;;;;0CAK0C;AAC1C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqBnH;AAED;;;;;;;;;;;;;;oDAcoD;AACpD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA+B9D;AAID,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,CAyPzE;AAED,eAAO,MAAM,MAAM,gCAA0B,CAAC"}
@@ -217,12 +217,20 @@ export function createClaudeCodeAdapter(pathOverride) {
217
217
  '<identity>',
218
218
  ` <name>${botName ?? '(未知)'}</name>`,
219
219
  ` <open_id>${botOpenId ?? '(未知)'}</open_id>`,
220
+ ' <routing_rules>',
221
+ ' 群里可能有多个机器人,消息里用 `@名字` 和 `open_id` 区分接收方。对照上面的 name/open_id 判断本条消息归属:',
222
+ ' - 只执行明确分给自己的那部分,别抢别的机器人的活',
223
+ ' - 整条消息都指派给别的机器人时,保持沉默不要回复',
224
+ ' - **默认不主动拉别的 bot 进来**。除非用户明确要求、或某段任务只能由对方做,否则一个人做完自己的部分就行。',
225
+ '',
226
+ ' **和别的机器人协作的硬性物理事实**:飞书话题群里其他 bot **默认收不到** 你 `botmux send` 出去的消息——',
227
+ ' 要让某个 bot 接力干活,**必须** 显式 `--mention <对方 bot 的 open_id>`,不 --mention 对方 bot 完全不会被触发。',
228
+ ' - 协作伙伴的 open_id 会列在每条用户消息附带的 `<available_bots>` 块里,也可以 `botmux bots list` 查',
229
+ ' - 用法:`botmux send --mention ou_xxx "消息内容"`(多个 bot 重复 `--mention`);正文里写 `@对方名字` 时 botmux 也会自动补上 --mention,但显式传更稳',
230
+ ' - 该 --mention 的场景:用户明确要求让对方接力、把任务的某段交给对方、需要对方给最终结论或做独立操作',
231
+ ' - 不必 --mention 的场景:纯状态更新/确认/感谢——尽量合并到下一次有内容的消息里再带上,避免互相 ping 触发空转',
232
+ ' </routing_rules>',
220
233
  '</identity>',
221
- '同一群里可能有多个机器人同时被 @,消息里会以 `@名字` 和 `open_id` 区分。',
222
- '判断本条消息是不是分派给你:对照上面的名字和 open_id。',
223
- '- 只执行明确分给自己的那部分,别抢别的机器人的活',
224
- '- 整条消息都指派给别的机器人时,保持沉默不要回复',
225
- '- 需要找对端协作时先用 `botmux bots list` 查 open_id,再用 `botmux send --mention <open_id>` @ 对方',
226
234
  ]
227
235
  : [];
228
236
  args.push('--append-system-prompt', [
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/adapters/cli/claude-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/adapters/cli/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAExI;;+FAE+F;AAC/F,MAAM,UAAU,yBAAyB,CAAC,SAAiB,EAAE,GAAW;IACtE,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;gCASgC;AAChC,MAAM,cAAc,GAAG,CAAC,2BAA2B,EAAE,uBAAuB,CAAC,CAAC;AAE9E,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC;QAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AACzD,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,QAAgB;IACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IAC3D,IAAI,IAAI,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,QAAQ,CAAC;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,QAAgB,EAAE,SAAiB;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,GAAG,GAAG,EAAE;IACtD,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,eAAe,GAAG,iEAAiE,CAAC;AAE1F;;;;;;;;;wEASwE;AACxE,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED;;2EAE2E;AAC3E,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,sEAAsE;QACtE,gEAAgE;QAChE,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,UAAU,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,oEAAoE;QACpE,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;0CAK0C;AAC1C,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,WAAmB;IAClE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACjG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9E,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAC/D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;IAC9D,CAAC;IACD,OAAO;QACL,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;QAC7D,YAAY,EAAE,MAAM,CAAC,SAAS;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;oDAcoD;AACpD,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAClD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAC5C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC;IAC9D,MAAM,aAAa,GAAG,oBAAoB,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,YAAY,CAAC,SAAS,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnD,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,aAAa,GAAG,4FAA4F,CAAC;AAEnH,MAAM,UAAU,uBAAuB,CAAC,YAAqB;IAC3D,MAAM,GAAG,GAAG,cAAc,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC;IACrD,OAAO;QACL,EAAE,EAAE,aAAa;QACjB,WAAW,EAAE,GAAG;QAChB,iBAAiB,EAAE,IAAI;QAEvB,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE;YAClE,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,MAAM,EAAE,CAAC;gBACX,qEAAqE;gBACrE,qEAAqE;gBACrE,sEAAsE;gBACtE,sEAAsE;gBACtE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,IAAI,SAAS,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,CAAC;YAC9D,MAAM,aAAa,GACjB,OAAO,IAAI,SAAS;gBAClB,CAAC,CAAC;oBACE,EAAE;oBACF,YAAY;oBACZ,WAAW,OAAO,IAAI,MAAM,SAAS;oBACrC,cAAc,SAAS,IAAI,MAAM,YAAY;oBAC7C,mBAAmB;oBACnB,0EAA0E;oBAC1E,+BAA+B;oBAC/B,+BAA+B;oBAC/B,gEAAgE;oBAChE,EAAE;oBACF,wEAAwE;oBACxE,wFAAwF;oBACxF,iFAAiF;oBACjF,qHAAqH;oBACrH,8DAA8D;oBAC9D,uEAAuE;oBACvE,oBAAoB;oBACpB,aAAa;iBACd;gBACH,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAClC,kBAAkB;gBAClB,sCAAsC;gBACtC,8CAA8C;gBAC9C,EAAE;gBACF,OAAO;gBACP,mDAAmD;gBACnD,qDAAqD;gBACrD,uDAAuD;gBACvD,sDAAsD;gBACtD,6CAA6C;gBAC7C,gCAAgC;gBAChC,mBAAmB;gBACnB,GAAG,aAAa;aACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qBAAqB,EAAE,IAAI;QAE3B,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO;YAC3B,qEAAqE;YACrE,yEAAyE;YACzE,wEAAwE;YACxE,qEAAqE;YACrE,uEAAuE;YACvE,sEAAsE;YACtE,sEAAsE;YACtE,+DAA+D;YAC/D,EAAE;YACF,sEAAsE;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,iEAAiE;YACjE,uEAAuE;YACvE,EAAE;YACF,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,YAAY,GAAG,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvE,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7C,MAAM,kBAAkB,GAAG,EAAE,CAAC;YAE9B,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAE7E,MAAM,SAAS,GAAG,GAAG,EAAE;gBACrB,IAAI,GAAG,CAAC,eAAe;oBAAE,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;;oBACjD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC;YAEF,iEAAiE;YACjE,+DAA+D;YAC/D,mEAAmE;YACnE,4DAA4D;YAC5D,kEAAkE;YAClE,4DAA4D;YAC5D,IAAI,oBAAwC,CAAC;YAC7C,MAAM,aAAa,GAAG,CAAC,QAAgD,EAAW,EAAE;gBAClF,IAAI,QAAQ,CAAC,YAAY,KAAK,oBAAoB;oBAAE,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAAC;gBACjG,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,eAAe,EAAE,CAAC;oBAC1C,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACpC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;YACF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7D,IAAI,QAAQ;oBAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YACD,wEAAwE;YACxE,qEAAqE;YACrE,sEAAsE;YACtE,yEAAyE;YACzE,IAAI,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;YAEjD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvB,MAAM,IAAI,EAAE,CAAC;oBACf,CAAC;oBACD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,8DAA8D;wBAC9D,uCAAuC;wBACvC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACnB,MAAM,IAAI,EAAE,CAAC;wBACb,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBAC7B,MAAM,IAAI,EAAE,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,mCAAmC;gBACnC,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YACnD,SAAS,EAAE,CAAC;YAEZ,2EAA2E;YAC3E,sEAAsE;YACtE,sDAAsD;YACtD,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO,oBAAoB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACpG,CAAC;YAED,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAoB,EAAE;gBAClE,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC;gBACtC,IAAI,CAAC,SAAS;oBAAE,OAAO,KAAK,CAAC;gBAE7B,kEAAkE;gBAClE,4DAA4D;gBAC5D,IAAI,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAErE,+DAA+D;gBAC/D,8DAA8D;gBAC9D,6DAA6D;gBAC7D,cAAc;gBACd,mEAAmE;gBACnE,8DAA8D;gBAC9D,oEAAoE;gBACpE,6DAA6D;gBAC7D,4CAA4C;gBAC5C,mEAAmE;gBACnE,qEAAqE;gBACrE,sEAAsE;gBACtE,mEAAmE;gBACnE,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC7D,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACzC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC;wBACpC,MAAM,eAAe,GAAG,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAClF,IAAI,QAAQ,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAAC;4BAC7C,IAAI,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gCAC3F,yDAAyD;gCACzD,0DAA0D;gCAC1D,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gCACpC,OAAO,IAAI,CAAC;4BACd,CAAC;wBACH,CAAC;wBACD,IAAI,OAAO,EAAE,CAAC;4BACZ,IAAI,MAAM,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCACtE,IAAI,QAAQ;oCAAE,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;gCAClD,OAAO,IAAI,CAAC;4BACd,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,sEAAsE;gBACtE,+DAA+D;gBAC/D,8DAA8D;gBAC9D,+DAA+D;gBAC/D,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC;oBACpD,MAAM,OAAO,GAAG,8BAA8B,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,iBAAiB,EAAE;wBACrF,WAAW,EAAE,UAAU;wBACvB,UAAU,EAAE,oBAAoB;wBAChC,sBAAsB,EAAE,IAAI;qBAC7B,CAAC,CAAC;oBACH,IAAI,OAAO,EAAE,CAAC;wBACZ,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC;wBAC9B,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,SAAkB,EAAiD,EAAE;gBACxF,OAAO,oBAAoB;oBACzB,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE;oBACnD,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;YACpB,CAAC,CAAC;YAEF,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,wEAAwE;YACxE,yEAAyE;YACzE,iDAAiD;YACjD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7C,IAAI,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9D,CAAC;gBACD,SAAS,EAAE,CAAC;YACd,CAAC;YACD,qBAAqB;YACrB,IAAI,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,CAAC;YACD,4EAA4E;YAC5E,0EAA0E;YAC1E,2EAA2E;YAC3E,2DAA2D;YAC3D,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,iBAAiB,EAAE,aAAa;QAChC,YAAY,EAAE,GAAG;QACjB,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,kBAAkB;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,uBAAuB,CAAC"}
package/dist/cli.js CHANGED
@@ -362,7 +362,7 @@ function preflightNodeSanity() {
362
362
  }
363
363
  }
364
364
  }
365
- function cmdStart() {
365
+ async function cmdStart() {
366
366
  if (!hasConfig()) {
367
367
  console.error('❌ 未找到配置文件');
368
368
  console.error(' 请先运行: botmux setup');
@@ -370,6 +370,7 @@ function cmdStart() {
370
370
  }
371
371
  ensureConfigDir();
372
372
  preflightNodeSanity();
373
+ await ensureSystemDependencies();
373
374
  cleanupLegacyPm2();
374
375
  const cfg = ecosystemConfig();
375
376
  runPm2(['start', cfg]);
@@ -491,7 +492,7 @@ function cmdStop() {
491
492
  if (!stopped)
492
493
  console.log('daemon 未在运行。');
493
494
  }
494
- function cmdRestart() {
495
+ async function cmdRestart() {
495
496
  if (!hasConfig()) {
496
497
  console.error('❌ 未找到配置文件');
497
498
  console.error(' 请先运行: botmux setup');
@@ -499,6 +500,7 @@ function cmdRestart() {
499
500
  }
500
501
  ensureConfigDir();
501
502
  preflightNodeSanity();
503
+ await ensureSystemDependencies();
502
504
  cleanupLegacyPm2();
503
505
  // Delete all botmux processes (handles both old single-process and new multi-process)
504
506
  deleteAllBotmuxProcesses();
@@ -510,6 +512,20 @@ function cmdRestart() {
510
512
  console.log(`autostart unit 已同步到当前 Node/cli.js 路径`);
511
513
  }
512
514
  }
515
+ /** Wraps `ensureDependencies()` so the cmdStart/cmdRestart paths get a clean
516
+ * exit on tmux failure. Fonts failures are non-fatal and surface as warnings
517
+ * printed by ensureDependencies itself. */
518
+ async function ensureSystemDependencies() {
519
+ const { ensureDependencies } = await import('./setup/index.js');
520
+ try {
521
+ await ensureDependencies();
522
+ }
523
+ catch (err) {
524
+ console.error('');
525
+ console.error(err?.message ?? String(err));
526
+ process.exit(1);
527
+ }
528
+ }
513
529
  /**
514
530
  * If a legacy ~/.pm2 daemon with botmux processes still exists alongside our
515
531
  * new PM2_HOME, warn the user so read-only commands (status/logs) don't
@@ -1527,12 +1543,17 @@ async function cmdThreadMessages(rest) {
1527
1543
  registerBot(cfg);
1528
1544
  }
1529
1545
  catch { /* ignore */ }
1530
- const { listThreadMessages } = await import('./im/lark/client.js');
1546
+ const { listThreadMessages, listChatMessagesSince } = await import('./im/lark/client.js');
1531
1547
  const { parseApiMessage } = await import('./im/lark/message-parser.js');
1532
1548
  const { expandMergeForward } = await import('./im/lark/merge-forward.js');
1533
1549
  const appId = s.larkAppId; // narrowed above; pin into a const so async closures keep the narrowing
1534
1550
  try {
1535
- const raw = await listThreadMessages(appId, s.chatId, s.rootMessageId, limit);
1551
+ // Chat-scope sessions (普通群整群一会话) have no thread to walk — list the
1552
+ // chat container instead, since the session was created.
1553
+ const isChatScope = s.scope === 'chat';
1554
+ const raw = isChatScope
1555
+ ? await listChatMessagesSince(appId, s.chatId, Date.parse(s.createdAt) || 0, limit)
1556
+ : await listThreadMessages(appId, s.chatId, s.rootMessageId, limit);
1536
1557
  // Expand merge_forward to <forwarded_messages> XML, mirroring the live event
1537
1558
  // path in daemon.ts. Each merge_forward gets its own numberer (we don't
1538
1559
  // download resources here — only [图片 N] placeholders matter).
@@ -1543,10 +1564,15 @@ async function cmdThreadMessages(rest) {
1543
1564
  }
1544
1565
  return parsed;
1545
1566
  }));
1546
- console.log(JSON.stringify({ sessionId: sid, threadId: s.rootMessageId, messages, total: messages.length }, null, 2));
1567
+ console.log(JSON.stringify({
1568
+ sessionId: sid,
1569
+ ...(isChatScope ? { chatId: s.chatId, scope: 'chat' } : { threadId: s.rootMessageId, scope: 'thread' }),
1570
+ messages,
1571
+ total: messages.length,
1572
+ }, null, 2));
1547
1573
  }
1548
1574
  catch (err) {
1549
- console.error(`获取话题消息失败: ${err.message}`);
1575
+ console.error(`获取消息失败: ${err.message}`);
1550
1576
  process.exit(1);
1551
1577
  }
1552
1578
  }
@@ -1685,12 +1711,16 @@ async function cmdSend(rest) {
1685
1711
  const appId = s.larkAppId;
1686
1712
  // Effective target chat for top-level mode (defaults to session's chat)
1687
1713
  const targetChatId = overrideChatId ?? s.chatId;
1714
+ // Chat-scope sessions (普通群整群一会话) post to chatId without
1715
+ // reply_in_thread, otherwise Lark would force every reply into a fresh
1716
+ // topic — defeating the whole point of chat-scope routing.
1717
+ const isChatScope = s.scope === 'chat';
1688
1718
  // Oncall addressing only meaningful for thread replies inside the session's
1689
1719
  // own chat — skip when publishing top-level or to a different chat.
1690
1720
  const oncallEntry = !sendTopLevel && !overrideChatId && s.chatId
1691
1721
  ? findOncallChat(appId, s.chatId) : undefined;
1692
- // Dispatch helper: top-level send vs reply-in-thread, single decision point
1693
- const dispatch = (content, msgType) => sendTopLevel
1722
+ // Dispatch helper: top-level / chat-scope send vs reply-in-thread, single decision point
1723
+ const dispatch = (content, msgType) => (sendTopLevel || isChatScope)
1694
1724
  ? sendMessage(appId, targetChatId, content, msgType)
1695
1725
  : replyMessage(appId, s.rootMessageId, content, msgType, true);
1696
1726
  try {
@@ -1729,18 +1759,34 @@ async function cmdSend(rest) {
1729
1759
  ? JSON.parse(readFileSync(crossRefPath, 'utf-8'))
1730
1760
  : {};
1731
1761
  const alreadyMentioned = new Set(mentions.map(m => m.open_id));
1732
- for (const entry of botEntries) {
1762
+ // Sort by name length desc so longer names ("Claude分身") win over their
1763
+ // prefix ("Claude") when both could match — break-on-first-hit otherwise
1764
+ // routes "@Claude分身" to Claude.
1765
+ const sortedEntries = [...botEntries].sort((a, b) => (b.botName?.length ?? 0) - (a.botName?.length ?? 0));
1766
+ for (const entry of sortedEntries) {
1733
1767
  if (!entry.botName || entry.larkAppId === appId)
1734
1768
  continue;
1735
1769
  const names = [entry.botName, entry.cliId].filter(Boolean);
1736
1770
  for (const name of names) {
1737
- const re = new RegExp(`@${name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\b`, 'i');
1771
+ const escName = name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
1772
+ // Boundary: lookbehind blocks only ASCII word chars (so `user@Claude`
1773
+ // is rejected but `看看@CoCo` is accepted — CJK prefix is normal in
1774
+ // Chinese text). Lookahead blocks any Unicode letter/digit so
1775
+ // `@Claude2` doesn't match name "Claude" and `@Claude分身好的` doesn't
1776
+ // either-half-match.
1777
+ const re = new RegExp(`(?<![A-Za-z0-9_])@${escName}(?![\\p{L}\\p{N}_])`, 'iu');
1738
1778
  if (!re.test(text))
1739
1779
  continue;
1740
- // Prefer sender-scoped open_id from cross-ref (what Lark's sender app
1741
- // has seen for the target bot); fall back to target's own open_id.
1742
- const senderScopedId = crossRef[entry.botName] ?? entry.botOpenId;
1743
- if (!senderScopedId || alreadyMentioned.has(senderScopedId))
1780
+ // Lark open_id is per-app scoped. Use sender-scoped id from cross-ref
1781
+ // only falling back to entry.botOpenId would feed Lark a wrong-scope
1782
+ // id (target's self-scoped) and the API would reject it. Skip + warn
1783
+ // so the missing cross-ref is observable instead of silently dropped.
1784
+ const senderScopedId = crossRef[entry.botName];
1785
+ if (!senderScopedId) {
1786
+ console.error(`[botmux send] no cross-ref entry for "${entry.botName}" in app ${appId}, skipping auto-mention (cross-ref populates after the sender app first sees the target bot)`);
1787
+ break;
1788
+ }
1789
+ if (alreadyMentioned.has(senderScopedId))
1744
1790
  break;
1745
1791
  mentions.push({ open_id: senderScopedId, name: entry.botName });
1746
1792
  alreadyMentioned.add(senderScopedId);
@@ -1971,10 +2017,25 @@ async function cmdSend(rest) {
1971
2017
  const signalDir = join(dataDir, 'bot-mentions');
1972
2018
  if (!existsSync(signalDir))
1973
2019
  mkdirSync(signalDir, { recursive: true });
2020
+ // Routing scope of the OUTBOUND message (not the sender's session):
2021
+ // - --top-level / --chat-id forced the message into chat-container
2022
+ // addressing → receivers should target their chat-scope session at
2023
+ // `effectiveChatId`, NOT the sender's thread root.
2024
+ // - otherwise inherit the sender's session scope, since the message
2025
+ // was a normal in-thread reply (or a chat-scope continuation).
2026
+ const effectiveScope = (sendTopLevel || overrideChatId || isChatScope)
2027
+ ? 'chat'
2028
+ : (s.scope ?? 'thread');
2029
+ const effectiveChatId = targetChatId;
1974
2030
  for (const targetApp of targetAppIds) {
1975
2031
  const te = botEntries.find(e => e.larkAppId === targetApp);
1976
2032
  const signal = {
1977
- rootMessageId: s.rootMessageId, chatId: s.chatId, chatType: s.chatType,
2033
+ // Carry both addresses; receivers pick by `scope` but legacy fields
2034
+ // remain for back-compat with older daemons.
2035
+ rootMessageId: s.rootMessageId,
2036
+ chatId: effectiveChatId,
2037
+ chatType: s.chatType,
2038
+ scope: effectiveScope,
1978
2039
  senderAppId: appId, targetBotOpenId: te?.botOpenId ?? targetApp,
1979
2040
  content: text, messageId, timestamp: Date.now(),
1980
2041
  };
@@ -2068,13 +2129,13 @@ switch (command) {
2068
2129
  await cmdSetup();
2069
2130
  break;
2070
2131
  case 'start':
2071
- cmdStart();
2132
+ await cmdStart();
2072
2133
  break;
2073
2134
  case 'stop':
2074
2135
  cmdStop();
2075
2136
  break;
2076
2137
  case 'restart':
2077
- cmdRestart();
2138
+ await cmdRestart();
2078
2139
  break;
2079
2140
  case 'logs':
2080
2141
  cmdLogs();