botmux 2.2.6 → 2.3.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 (126) hide show
  1. package/README.en.md +63 -13
  2. package/README.md +52 -14
  3. package/dist/adapters/cli/aiden.d.ts.map +1 -1
  4. package/dist/adapters/cli/aiden.js +0 -40
  5. package/dist/adapters/cli/aiden.js.map +1 -1
  6. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  7. package/dist/adapters/cli/claude-code.js +27 -63
  8. package/dist/adapters/cli/claude-code.js.map +1 -1
  9. package/dist/adapters/cli/coco.d.ts.map +1 -1
  10. package/dist/adapters/cli/coco.js +0 -33
  11. package/dist/adapters/cli/coco.js.map +1 -1
  12. package/dist/adapters/cli/codex.d.ts.map +1 -1
  13. package/dist/adapters/cli/codex.js +0 -27
  14. package/dist/adapters/cli/codex.js.map +1 -1
  15. package/dist/adapters/cli/gemini.d.ts.map +1 -1
  16. package/dist/adapters/cli/gemini.js +1 -29
  17. package/dist/adapters/cli/gemini.js.map +1 -1
  18. package/dist/adapters/cli/opencode.d.ts.map +1 -1
  19. package/dist/adapters/cli/opencode.js +1 -44
  20. package/dist/adapters/cli/opencode.js.map +1 -1
  21. package/dist/adapters/cli/types.d.ts +15 -8
  22. package/dist/adapters/cli/types.d.ts.map +1 -1
  23. package/dist/cli.js +737 -16
  24. package/dist/cli.js.map +1 -1
  25. package/dist/config.d.ts +16 -0
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +30 -0
  28. package/dist/config.js.map +1 -1
  29. package/dist/core/command-handler.d.ts.map +1 -1
  30. package/dist/core/command-handler.js +8 -4
  31. package/dist/core/command-handler.js.map +1 -1
  32. package/dist/core/scheduler.d.ts +38 -16
  33. package/dist/core/scheduler.d.ts.map +1 -1
  34. package/dist/core/scheduler.js +335 -149
  35. package/dist/core/scheduler.js.map +1 -1
  36. package/dist/core/session-manager.d.ts +13 -2
  37. package/dist/core/session-manager.d.ts.map +1 -1
  38. package/dist/core/session-manager.js +128 -25
  39. package/dist/core/session-manager.js.map +1 -1
  40. package/dist/core/types.d.ts +26 -4
  41. package/dist/core/types.d.ts.map +1 -1
  42. package/dist/core/types.js +6 -0
  43. package/dist/core/types.js.map +1 -1
  44. package/dist/core/worker-pool.d.ts +15 -3
  45. package/dist/core/worker-pool.d.ts.map +1 -1
  46. package/dist/core/worker-pool.js +233 -31
  47. package/dist/core/worker-pool.js.map +1 -1
  48. package/dist/daemon.d.ts.map +1 -1
  49. package/dist/daemon.js +71 -18
  50. package/dist/daemon.js.map +1 -1
  51. package/dist/im/lark/card-builder.d.ts +29 -1
  52. package/dist/im/lark/card-builder.d.ts.map +1 -1
  53. package/dist/im/lark/card-builder.js +266 -56
  54. package/dist/im/lark/card-builder.js.map +1 -1
  55. package/dist/im/lark/card-handler.d.ts +1 -0
  56. package/dist/im/lark/card-handler.d.ts.map +1 -1
  57. package/dist/im/lark/card-handler.js +200 -40
  58. package/dist/im/lark/card-handler.js.map +1 -1
  59. package/dist/im/lark/client.d.ts.map +1 -1
  60. package/dist/im/lark/client.js +4 -3
  61. package/dist/im/lark/client.js.map +1 -1
  62. package/dist/im/lark/message-parser.d.ts.map +1 -1
  63. package/dist/im/lark/message-parser.js +44 -6
  64. package/dist/im/lark/message-parser.js.map +1 -1
  65. package/dist/services/schedule-store.d.ts +20 -3
  66. package/dist/services/schedule-store.d.ts.map +1 -1
  67. package/dist/services/schedule-store.js +140 -16
  68. package/dist/services/schedule-store.js.map +1 -1
  69. package/dist/skills/definitions.d.ts +17 -0
  70. package/dist/skills/definitions.d.ts.map +1 -0
  71. package/dist/skills/definitions.js +254 -0
  72. package/dist/skills/definitions.js.map +1 -0
  73. package/dist/skills/installer.d.ts +9 -0
  74. package/dist/skills/installer.d.ts.map +1 -0
  75. package/dist/skills/installer.js +42 -0
  76. package/dist/skills/installer.js.map +1 -0
  77. package/dist/types.d.ts +80 -7
  78. package/dist/types.d.ts.map +1 -1
  79. package/dist/types.js +1 -5
  80. package/dist/types.js.map +1 -1
  81. package/dist/utils/lark-upload.d.ts +2 -0
  82. package/dist/utils/lark-upload.d.ts.map +1 -0
  83. package/dist/utils/lark-upload.js +27 -0
  84. package/dist/utils/lark-upload.js.map +1 -0
  85. package/dist/utils/screen-analyzer.d.ts +67 -0
  86. package/dist/utils/screen-analyzer.d.ts.map +1 -0
  87. package/dist/utils/screen-analyzer.js +256 -0
  88. package/dist/utils/screen-analyzer.js.map +1 -0
  89. package/dist/utils/screenshot-renderer.d.ts +11 -0
  90. package/dist/utils/screenshot-renderer.d.ts.map +1 -0
  91. package/dist/utils/screenshot-renderer.js +225 -0
  92. package/dist/utils/screenshot-renderer.js.map +1 -0
  93. package/dist/utils/terminal-renderer.d.ts +33 -0
  94. package/dist/utils/terminal-renderer.d.ts.map +1 -1
  95. package/dist/utils/terminal-renderer.js +34 -1
  96. package/dist/utils/terminal-renderer.js.map +1 -1
  97. package/dist/utils/user-token.d.ts.map +1 -1
  98. package/dist/utils/user-token.js +7 -11
  99. package/dist/utils/user-token.js.map +1 -1
  100. package/dist/worker.js +286 -15
  101. package/dist/worker.js.map +1 -1
  102. package/package.json +2 -5
  103. package/dist/index.d.ts +0 -3
  104. package/dist/index.d.ts.map +0 -1
  105. package/dist/index.js +0 -16
  106. package/dist/index.js.map +0 -1
  107. package/dist/server.d.ts +0 -3
  108. package/dist/server.d.ts.map +0 -1
  109. package/dist/server.js +0 -115
  110. package/dist/server.js.map +0 -1
  111. package/dist/tools/get-thread-messages.d.ts +0 -26
  112. package/dist/tools/get-thread-messages.d.ts.map +0 -1
  113. package/dist/tools/get-thread-messages.js +0 -35
  114. package/dist/tools/get-thread-messages.js.map +0 -1
  115. package/dist/tools/index.d.ts +0 -9
  116. package/dist/tools/index.d.ts.map +0 -1
  117. package/dist/tools/index.js +0 -10
  118. package/dist/tools/index.js.map +0 -1
  119. package/dist/tools/list-bots.d.ts +0 -40
  120. package/dist/tools/list-bots.d.ts.map +0 -1
  121. package/dist/tools/list-bots.js +0 -74
  122. package/dist/tools/list-bots.js.map +0 -1
  123. package/dist/tools/send-to-thread.d.ts +0 -46
  124. package/dist/tools/send-to-thread.d.ts.map +0 -1
  125. package/dist/tools/send-to-thread.js +0 -242
  126. package/dist/tools/send-to-thread.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"message-parser.js","sourceRoot":"","sources":["../../../src/im/lark/message-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-parser.js","sourceRoot":"","sources":["../../../src/im/lark/message-parser.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,31 @@
1
- import type { ScheduledTask } from '../types.js';
1
+ import type { ScheduledTask, ParsedSchedule } from '../types.js';
2
+ export declare function getTaskOutputDir(taskId: string): string;
2
3
  export declare function createTask(params: {
3
4
  name: string;
4
- type: ScheduledTask['type'];
5
5
  schedule: string;
6
+ parsed: ParsedSchedule;
6
7
  prompt: string;
7
8
  workingDir: string;
8
9
  chatId: string;
10
+ rootMessageId?: string;
11
+ chatType?: 'group' | 'p2p' | 'topic_group';
12
+ larkAppId?: string;
13
+ nextRunAt?: string;
14
+ repeat?: {
15
+ times: number | null;
16
+ completed: number;
17
+ };
18
+ deliver?: 'origin' | 'local';
9
19
  }): ScheduledTask;
10
20
  export declare function getTask(id: string): ScheduledTask | undefined;
11
21
  export declare function removeTask(id: string): boolean;
12
- export declare function updateTask(id: string, updates: Partial<Pick<ScheduledTask, 'enabled' | 'lastRunAt'>>): void;
22
+ export declare function updateTask(id: string, updates: Partial<Pick<ScheduledTask, 'enabled' | 'lastRunAt' | 'nextRunAt' | 'lastStatus' | 'lastError' | 'lastDeliveryError' | 'repeat' | 'rootMessageId' | 'chatType'>>): void;
23
+ /**
24
+ * Record a run outcome and auto-manage repeat counter. If the task has a
25
+ * finite repeat count and we've hit it, the task is removed.
26
+ */
27
+ export declare function markRun(id: string, success: boolean, error?: string, deliveryError?: string): void;
13
28
  export declare function listTasks(): ScheduledTask[];
29
+ /** Ensure per-task output dir exists and return path to today's run log. */
30
+ export declare function appendOutputLog(taskId: string, content: string): string;
14
31
  //# sourceMappingURL=schedule-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-store.d.ts","sourceRoot":"","sources":["../../src/services/schedule-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA6CjD,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,aAAa,CAiBhB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAG7D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQ9C;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,WAAW,CAAC,CAAC,GAAG,IAAI,CAO3G;AAED,wBAAgB,SAAS,IAAI,aAAa,EAAE,CAG3C"}
1
+ {"version":3,"file":"schedule-store.d.ts","sourceRoot":"","sources":["../../src/services/schedule-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAcjE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAoGD,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,aAAa,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC9B,GAAG,aAAa,CAsBhB;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAG7D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQ9C;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EACjC,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,mBAAmB,GAAG,QAAQ,GAAG,eAAe,GAAG,UAAU,CACnI,CAAC,GACD,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CA6BlG;AAED,wBAAgB,SAAS,IAAI,aAAa,EAAE,CAG3C;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOvE"}
@@ -1,64 +1,147 @@
1
- import { readFileSync, writeFileSync, mkdirSync, existsSync, renameSync } from 'node:fs';
1
+ import { readFileSync, writeFileSync, mkdirSync, existsSync, renameSync, statSync } from 'node:fs';
2
2
  import { join, dirname } from 'node:path';
3
3
  import { randomUUID } from 'node:crypto';
4
4
  import { config } from '../config.js';
5
5
  import { logger } from '../utils/logger.js';
6
6
  let tasks = new Map();
7
7
  let loaded = false;
8
+ let cachedMtime = 0;
8
9
  function getFilePath() {
9
10
  return join(config.session.dataDir, 'schedules.json');
10
11
  }
11
- function ensureDir() {
12
- const dir = dirname(getFilePath());
13
- if (!existsSync(dir)) {
14
- mkdirSync(dir, { recursive: true });
12
+ function getOutputDir() {
13
+ return join(config.session.dataDir, 'schedules-output');
14
+ }
15
+ export function getTaskOutputDir(taskId) {
16
+ return join(getOutputDir(), taskId);
17
+ }
18
+ function ensureDir(d) {
19
+ if (!existsSync(d))
20
+ mkdirSync(d, { recursive: true });
21
+ }
22
+ /**
23
+ * Migrate legacy schedule task (pre-parsed field) to current shape.
24
+ * Legacy tasks had { type, schedule } only — promote schedule+type into parsed.
25
+ */
26
+ function migrate(raw) {
27
+ if (!raw || typeof raw !== 'object')
28
+ return null;
29
+ let parsed = raw.parsed;
30
+ if (!parsed) {
31
+ // Legacy format: always treat as cron (old parser only produced cron)
32
+ if (raw.type === 'cron' && raw.schedule) {
33
+ parsed = { kind: 'cron', expr: raw.schedule, display: raw.schedule };
34
+ }
35
+ else if (raw.schedule) {
36
+ // Best-effort fallback
37
+ parsed = { kind: 'cron', expr: raw.schedule, display: raw.schedule };
38
+ }
39
+ else {
40
+ logger.warn(`[schedule-store] Dropping un-migratable task ${raw.id}: missing schedule`);
41
+ return null;
42
+ }
15
43
  }
44
+ return {
45
+ id: raw.id,
46
+ name: raw.name,
47
+ schedule: raw.schedule,
48
+ parsed,
49
+ prompt: raw.prompt,
50
+ workingDir: raw.workingDir,
51
+ chatId: raw.chatId,
52
+ rootMessageId: raw.rootMessageId,
53
+ chatType: raw.chatType,
54
+ larkAppId: raw.larkAppId,
55
+ enabled: raw.enabled !== false,
56
+ createdAt: raw.createdAt,
57
+ lastRunAt: raw.lastRunAt,
58
+ nextRunAt: raw.nextRunAt,
59
+ lastStatus: raw.lastStatus,
60
+ lastError: raw.lastError,
61
+ lastDeliveryError: raw.lastDeliveryError,
62
+ repeat: raw.repeat,
63
+ deliver: raw.deliver ?? 'origin',
64
+ };
16
65
  }
17
66
  function load() {
18
- if (loaded)
19
- return;
20
- ensureDir();
67
+ ensureDir(dirname(getFilePath()));
21
68
  const fp = getFilePath();
69
+ let currentMtime = 0;
70
+ if (existsSync(fp)) {
71
+ try {
72
+ currentMtime = statSync(fp).mtimeMs;
73
+ }
74
+ catch { /* ignore */ }
75
+ }
76
+ // Reload if file has been modified externally (e.g. by `botmux schedule add`)
77
+ // or on first load.
78
+ if (loaded && currentMtime === cachedMtime)
79
+ return;
80
+ tasks = new Map();
22
81
  if (existsSync(fp)) {
23
82
  try {
24
83
  const data = JSON.parse(readFileSync(fp, 'utf-8'));
25
- tasks = new Map(Object.entries(data));
26
- logger.info(`Loaded ${tasks.size} scheduled tasks from ${fp}`);
84
+ let migratedCount = 0;
85
+ for (const [id, raw] of Object.entries(data)) {
86
+ const migrated = migrate(raw);
87
+ if (migrated) {
88
+ tasks.set(id, migrated);
89
+ if (!raw.parsed)
90
+ migratedCount++;
91
+ }
92
+ }
93
+ if (!loaded) {
94
+ logger.info(`Loaded ${tasks.size} scheduled tasks from ${fp}${migratedCount ? ` (migrated ${migratedCount} legacy)` : ''}`);
95
+ }
96
+ else {
97
+ logger.info(`[schedule-store] Reloaded ${tasks.size} tasks (file mtime changed)`);
98
+ }
99
+ if (migratedCount > 0)
100
+ save(); // persist migration
27
101
  }
28
102
  catch (err) {
29
103
  logger.error(`Failed to load schedules: ${err}`);
30
104
  tasks = new Map();
31
105
  }
32
106
  }
107
+ cachedMtime = currentMtime;
33
108
  loaded = true;
34
109
  }
35
110
  function save() {
36
- ensureDir();
111
+ ensureDir(dirname(getFilePath()));
37
112
  const fp = getFilePath();
38
113
  const tmpFp = fp + '.tmp';
39
114
  const obj = {};
40
- for (const [k, v] of tasks) {
115
+ for (const [k, v] of tasks)
41
116
  obj[k] = v;
42
- }
43
117
  writeFileSync(tmpFp, JSON.stringify(obj, null, 2), 'utf-8');
44
118
  renameSync(tmpFp, fp);
119
+ try {
120
+ cachedMtime = statSync(fp).mtimeMs;
121
+ }
122
+ catch { /* ignore */ }
45
123
  }
46
124
  export function createTask(params) {
47
125
  load();
48
126
  const task = {
49
127
  id: randomUUID().substring(0, 8),
50
128
  name: params.name,
51
- type: params.type,
52
129
  schedule: params.schedule,
130
+ parsed: params.parsed,
53
131
  prompt: params.prompt,
54
132
  workingDir: params.workingDir,
55
133
  chatId: params.chatId,
134
+ rootMessageId: params.rootMessageId,
135
+ chatType: params.chatType,
136
+ larkAppId: params.larkAppId,
56
137
  enabled: true,
57
138
  createdAt: new Date().toISOString(),
139
+ nextRunAt: params.nextRunAt,
140
+ repeat: params.repeat,
141
+ deliver: params.deliver ?? 'origin',
58
142
  };
59
143
  tasks.set(task.id, task);
60
144
  save();
61
- logger.info(`Created scheduled task ${task.id}: "${task.name}" (${task.type}: ${task.schedule})`);
62
145
  return task;
63
146
  }
64
147
  export function getTask(id) {
@@ -70,7 +153,7 @@ export function removeTask(id) {
70
153
  const existed = tasks.delete(id);
71
154
  if (existed) {
72
155
  save();
73
- logger.info(`Removed scheduled task ${id}`);
156
+ logger.info(`[schedule-store] Removed task ${id}`);
74
157
  }
75
158
  return existed;
76
159
  }
@@ -82,8 +165,49 @@ export function updateTask(id, updates) {
82
165
  save();
83
166
  }
84
167
  }
168
+ /**
169
+ * Record a run outcome and auto-manage repeat counter. If the task has a
170
+ * finite repeat count and we've hit it, the task is removed.
171
+ */
172
+ export function markRun(id, success, error, deliveryError) {
173
+ load();
174
+ const task = tasks.get(id);
175
+ if (!task)
176
+ return;
177
+ const now = new Date().toISOString();
178
+ task.lastRunAt = now;
179
+ task.lastStatus = success ? 'ok' : 'error';
180
+ task.lastError = success ? undefined : error;
181
+ task.lastDeliveryError = deliveryError;
182
+ // Advance repeat counter
183
+ if (task.repeat) {
184
+ task.repeat.completed = (task.repeat.completed ?? 0) + 1;
185
+ const times = task.repeat.times;
186
+ if (times !== null && times !== undefined && times > 0 && task.repeat.completed >= times) {
187
+ tasks.delete(id);
188
+ save();
189
+ logger.info(`[schedule-store] Task ${id} removed after completing ${times} runs`);
190
+ return;
191
+ }
192
+ }
193
+ // One-shot: disable after run. Otherwise next_run was already advanced by scheduler.
194
+ if (task.parsed.kind === 'once') {
195
+ task.enabled = false;
196
+ task.nextRunAt = undefined;
197
+ }
198
+ save();
199
+ }
85
200
  export function listTasks() {
86
201
  load();
87
202
  return [...tasks.values()];
88
203
  }
204
+ /** Ensure per-task output dir exists and return path to today's run log. */
205
+ export function appendOutputLog(taskId, content) {
206
+ const dir = getTaskOutputDir(taskId);
207
+ ensureDir(dir);
208
+ const fname = new Date().toISOString().replace(/[:.]/g, '-') + '.md';
209
+ const fp = join(dir, fname);
210
+ writeFileSync(fp, content, 'utf-8');
211
+ return fp;
212
+ }
89
213
  //# sourceMappingURL=schedule-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-store.js","sourceRoot":"","sources":["../../src/services/schedule-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-store.js","sourceRoot":"","sources":["../../src/services/schedule-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,IAAI,KAAK,GAA+B,IAAI,GAAG,EAAE,CAAC;AAClD,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB,SAAS,WAAW;IAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,GAAQ;IACvB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEjD,IAAI,MAAM,GAA+B,GAAG,CAAC,MAAM,CAAC;IACpD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,sEAAsE;QACtE,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvE,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxB,uBAAuB;YACvB,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,gDAAgD,GAAG,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACxF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM;QACN,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK;QAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;QACxC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,QAAQ;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,IAAI;IACX,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC;YAAC,YAAY,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IACpB,IAAI,MAAM,IAAI,YAAY,KAAK,WAAW;QAAE,OAAO;IAEnD,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IAClB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACnD,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACxB,IAAI,CAAE,GAAW,CAAC,MAAM;wBAAE,aAAa,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,yBAAyB,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,aAAa,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9H,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,IAAI,6BAA6B,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,aAAa,GAAG,CAAC;gBAAE,IAAI,EAAE,CAAC,CAAC,oBAAoB;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;YACjD,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IACD,WAAW,GAAG,YAAY,CAAC;IAC3B,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,IAAI;IACX,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAkC,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5D,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,IAAI,CAAC;QAAC,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAa1B;IACC,IAAI,EAAE,CAAC;IACP,MAAM,IAAI,GAAkB;QAC1B,EAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ;KACpC,CAAC;IACF,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC;IACP,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,IAAI,EAAE,CAAC;IACP,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAU;IACnC,IAAI,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,EAAE,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,EAAU,EACV,OAEE;IAEF,IAAI,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,OAAgB,EAAE,KAAc,EAAE,aAAsB;IAC1F,IAAI,EAAE,CAAC;IACP,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACrB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC;IAEvC,yBAAyB;IACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC;YACzF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjB,IAAI,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,6BAA6B,KAAK,OAAO,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,EAAE,CAAC;IACP,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,OAAe;IAC7D,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACrC,SAAS,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IACrE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Canonical skill definitions shipped with botmux.
3
+ *
4
+ * Each skill is a SKILL.md ready to drop into any CLI's skills directory.
5
+ * Skills here MUST:
6
+ * - use `botmux <subcmd>` shell commands (CLI is the canonical interface)
7
+ * - not depend on MCP tools (which may not be wired on every CLI)
8
+ * - keep frontmatter minimal — just `name` and `description` for discovery
9
+ */
10
+ export interface SkillDef {
11
+ /** Filesystem-safe name — becomes the directory name under {skillsDir}/ */
12
+ name: string;
13
+ /** Markdown content including YAML frontmatter */
14
+ content: string;
15
+ }
16
+ export declare const BUILTIN_SKILLS: SkillDef[];
17
+ //# sourceMappingURL=definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/skills/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,QAAQ;IACvB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAoPD,eAAO,MAAM,cAAc,EAAE,QAAQ,EAKpC,CAAC"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Canonical skill definitions shipped with botmux.
3
+ *
4
+ * Each skill is a SKILL.md ready to drop into any CLI's skills directory.
5
+ * Skills here MUST:
6
+ * - use `botmux <subcmd>` shell commands (CLI is the canonical interface)
7
+ * - not depend on MCP tools (which may not be wired on every CLI)
8
+ * - keep frontmatter minimal — just `name` and `description` for discovery
9
+ */
10
+ const SCHEDULE_SKILL = `---
11
+ name: botmux-schedule
12
+ description: 当用户要求创建定时任务/提醒("每天X点提醒"、"30分钟后"、"每周一"、"remind me"、"schedule")时触发。使用 botmux schedule 命令操作定时任务(增删查改),支持 Lark 话题内自动路由。
13
+ ---
14
+
15
+ # botmux-schedule — 定时任务
16
+
17
+ 当用户要求"定时"/"提醒"/"每天"/"每周"/"N 分钟后"等时间相关的自动化请求时,使用本技能创建/管理定时任务。
18
+
19
+ ## 核心原则
20
+
21
+ 1. **创建前必须跟用户确认** schedule 和 prompt 的具体内容,避免误加
22
+ 2. **默认不传 --chat-id / --root-msg-id** —— 在 Lark 话题的 CLI 会话内运行时 botmux 会自动推断
23
+ 3. 创建后把 task id 和下次执行时间回显给用户
24
+ 4. 如果用户是在编程会话里顺手说"以后每天X点都这样做",先问他:是否希望到点以后自动在当前话题里继续
25
+
26
+ ## 支持的 schedule 格式
27
+
28
+ | 格式 | 说明 | 示例 |
29
+ |---|---|---|
30
+ | cron 表达式 | 5 字段 | \`"0 9 * * *"\` 每天 09:00 |
31
+ | 英文 duration | 一次性 | \`"30m"\` 30 分钟后 / \`"2h"\` / \`"1d"\` |
32
+ | 英文 interval | 循环 | \`"every 30m"\` / \`"every 2h"\` |
33
+ | ISO 时间 | 一次性 | \`"2026-05-01T10:00"\` |
34
+ | 中文自然语言 | 推荐给中文用户 | \`"每日17:50"\` / \`"每周一10:00"\` / \`"30分钟后"\` / \`"明天9:00"\` |
35
+
36
+ ## 子命令
37
+
38
+ ### 创建
39
+
40
+ \`\`\`
41
+ botmux schedule add "<schedule>" "<prompt>" [--name <name>] [--deliver origin|local]
42
+ \`\`\`
43
+
44
+ prompt 是到点时会被执行的内容,就像用户新开一个话题向你发送这段 prompt 一样。
45
+ 可选 \`--deliver local\` 表示只记录不推送(适合"每小时检查一次,没事就别打扰我")。
46
+
47
+ ### 查看
48
+
49
+ \`\`\`
50
+ botmux schedule list
51
+ \`\`\`
52
+
53
+ ### 管理
54
+
55
+ \`\`\`
56
+ botmux schedule pause <id> # 暂停(不删除)
57
+ botmux schedule resume <id> # 恢复
58
+ botmux schedule remove <id> # 删除
59
+ botmux schedule run <id> # 标记立即执行(< 30 秒内 daemon 会触发)
60
+ \`\`\`
61
+
62
+ ## 典型用法
63
+
64
+ **用户**:"每天早上 9 点生成一下昨天的 PR 汇总"
65
+
66
+ 你先跟用户确认:我打算建一个每天 09:00 的定时任务,到点自动在本话题生成 PR 汇总,可以吗?
67
+
68
+ 用户确认后执行:
69
+
70
+ \`\`\`bash
71
+ botmux schedule add "每日9:00" "生成昨天的 GitHub PR 汇总(合并的 / 待 review 的),按 repo 分组"
72
+ \`\`\`
73
+
74
+ **用户**:"30 分钟后提醒我检查一下部署状态"
75
+
76
+ \`\`\`bash
77
+ botmux schedule add "30m" "检查部署状态(调用 kubectl get pods 看看有无 CrashLoop)"
78
+ \`\`\`
79
+
80
+ ## 到点会发生什么
81
+
82
+ - botmux daemon 每 30 秒 tick 一次,到点会在**原话题**里自动续一条消息并把 prompt 喂给一个新的 CLI 会话
83
+ - 工作目录与创建任务时一致
84
+ - 如果原话题的会话还活着,prompt 会直接注入现有会话(不会开新会话)
85
+ `;
86
+ const THREAD_MESSAGES_SKILL = `---
87
+ name: botmux-thread-messages
88
+ description: 需要查看当前 Lark 话题的历史消息时触发。适合"看看这个话题之前聊了什么"、"最近的消息"、"上下文"类请求。在 CLI 会话内自动推断 session-id。
89
+ ---
90
+
91
+ # botmux-thread-messages — 读取话题消息历史
92
+
93
+ 想回顾当前 Lark 话题里用户之前发过什么、别的机器人说了什么时使用。
94
+
95
+ ## 用法
96
+
97
+ \`\`\`bash
98
+ # 拉取最近 50 条(默认)
99
+ botmux thread messages
100
+
101
+ # 拉取最近 100 条
102
+ botmux thread messages --limit 100
103
+
104
+ # 指定 session-id(不在 CLI 会话内时用)
105
+ botmux thread messages --session-id <uuid>
106
+ \`\`\`
107
+
108
+ ## 输出
109
+
110
+ JSON 格式,字段:
111
+
112
+ \`\`\`json
113
+ {
114
+ "sessionId": "...",
115
+ "threadId": "...",
116
+ "messages": [
117
+ { "messageId": "...", "senderId": "...", "senderType": "user|app", "msgType": "text|post|interactive", "content": "...", "createTime": "..." }
118
+ ],
119
+ "total": 17
120
+ }
121
+ \`\`\`
122
+
123
+ ## 注意
124
+
125
+ - 只返回属于当前话题的消息(按 rootMessageId 过滤)
126
+ - senderType="app" 表示机器人发的消息(包括 Claude Code / Codex / 其它 bot),"user" 表示用户
127
+ - 需要先把 JSON 读进来再做总结,不要直接把 JSON 扔给用户
128
+ `;
129
+ const SEND_SKILL = `---
130
+ name: botmux-send
131
+ description: 向飞书话题发送消息。用户在飞书上阅读看不到终端输出,需要用户看到的内容(关键结论、方案、最终结果、进度更新)必须通过 botmux send 发送。支持文本、图片、文件附件和 @mention。
132
+ ---
133
+
134
+ # botmux-send — 向飞书话题发送消息
135
+
136
+ **核心规则**:用户在飞书上阅读,看不到你的终端输出。想让用户看到的内容**必须**通过 \`botmux send\` 发送。
137
+
138
+ ## 什么时候用
139
+
140
+ - 关键结论、方案(等用户确认再执行)
141
+ - 最终结果
142
+ - 进度更新(长任务的中途汇报)
143
+ - 需要用户回复的问题
144
+
145
+ ## 什么时候不用
146
+
147
+ - 中间过程的调试输出
148
+ - 给自己看的分析笔记
149
+ - 纯粹的代码操作(编辑/运行命令)
150
+
151
+ ## 用法
152
+
153
+ ### 纯文本(最常见)
154
+
155
+ \`\`\`bash
156
+ # 直接传参
157
+ botmux send "分析完成,核心问题是 X"
158
+
159
+ # heredoc(多行内容推荐)
160
+ botmux send <<'EOF'
161
+ ## 分析报告
162
+
163
+ 1. 发现问题 A
164
+ 2. 建议方案 B
165
+
166
+ 需要你确认后我再动手。
167
+ EOF
168
+
169
+ # 管道
170
+ echo "构建成功 ✅" | botmux send
171
+ \`\`\`
172
+
173
+ ### 带图片(内联显示)
174
+
175
+ \`\`\`bash
176
+ botmux send --images /tmp/screenshot.png <<'EOF'
177
+ 截图如上,红框部分是问题所在。
178
+ EOF
179
+ \`\`\`
180
+
181
+ ### 带文件附件
182
+
183
+ \`\`\`bash
184
+ botmux send --files /tmp/report.pdf "报告已生成,请查收附件。"
185
+ \`\`\`
186
+
187
+ ### @mention 其他机器人协作
188
+
189
+ \`\`\`bash
190
+ # 先查可用机器人
191
+ botmux bots list
192
+
193
+ # @mention 协作
194
+ botmux send --mention "ou_xxx:Aiden" "请 @Aiden 帮忙 review 这段代码"
195
+ \`\`\`
196
+
197
+ ## 参数
198
+
199
+ | 参数 | 说明 |
200
+ |---|---|
201
+ | (positional 或 stdin) | 消息文本(纯文本,格式自动处理) |
202
+ | \`--content-file <path>\` | 从文件读取内容(优先于 stdin/positional) |
203
+ | \`--images <path>\` | 内联图片,可重复多次 |
204
+ | \`--files <path>\` | 附件文件,可重复多次,每个单独发送 |
205
+ | \`--mention <open_id:name>\` | @mention,可重复。用 \`botmux bots list\` 查 open_id |
206
+ | \`--session-id <id>\` | 手动指定 session(通常自动推断,不需要传) |
207
+
208
+ ## 输出
209
+
210
+ 成功返回 JSON: \`{"success":true,"messageId":"om_xxx","sessionId":"..."}\`
211
+ 失败打印错误到 stderr 并 exit 1。
212
+ `;
213
+ const BOTS_SKILL = `---
214
+ name: botmux-bots
215
+ description: 列出当前飞书群聊中的机器人及其 open_id。在需要 @mention 其他机器人协作时使用。
216
+ ---
217
+
218
+ # botmux-bots — 查询可用机器人
219
+
220
+ ## 用法
221
+
222
+ \`\`\`bash
223
+ botmux bots list
224
+ \`\`\`
225
+
226
+ ## 输出
227
+
228
+ JSON 格式:
229
+ \`\`\`json
230
+ {
231
+ "sessionId": "...",
232
+ "chatId": "...",
233
+ "bots": [
234
+ { "name": "Claude", "openId": "ou_xxx", "isSelf": true },
235
+ { "name": "Aiden", "openId": "ou_yyy", "isSelf": false }
236
+ ],
237
+ "total": 2
238
+ }
239
+ \`\`\`
240
+
241
+ ## 配合 botmux send 使用
242
+
243
+ \`\`\`bash
244
+ # 查到 Aiden 的 open_id 后
245
+ botmux send --mention "ou_yyy:Aiden" "请 @Aiden 帮忙处理"
246
+ \`\`\`
247
+ `;
248
+ export const BUILTIN_SKILLS = [
249
+ { name: 'botmux-schedule', content: SCHEDULE_SKILL },
250
+ { name: 'botmux-thread-messages', content: THREAD_MESSAGES_SKILL },
251
+ { name: 'botmux-send', content: SEND_SKILL },
252
+ { name: 'botmux-bots', content: BOTS_SKILL },
253
+ ];
254
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/skills/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EtB,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C7B,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFlB,CAAC;AAEF,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkClB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE;IACpD,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAClE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE;CAC7C,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Install (or refresh) the built-in skill library into the given CLI's skills
3
+ * directory. Idempotent — only writes when content differs.
4
+ *
5
+ * Each skill becomes {skillsDir}/<name>/SKILL.md. Sub-directory layout
6
+ * matches Claude Code / Gemini / OpenCode convention.
7
+ */
8
+ export declare function ensureSkills(cliId: string, skillsDir: string | undefined): void;
9
+ //# sourceMappingURL=installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/skills/installer.ts"],"names":[],"mappings":"AAUA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAoB/E"}