botmux 2.61.0 → 2.63.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 (173) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/bot-registry.d.ts +15 -0
  4. package/dist/bot-registry.d.ts.map +1 -1
  5. package/dist/bot-registry.js +14 -0
  6. package/dist/bot-registry.js.map +1 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +28 -31
  9. package/dist/cli.js.map +1 -1
  10. package/dist/config.d.ts +12 -0
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +12 -0
  13. package/dist/config.js.map +1 -1
  14. package/dist/core/command-handler.d.ts.map +1 -1
  15. package/dist/core/command-handler.js +14 -8
  16. package/dist/core/command-handler.js.map +1 -1
  17. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  18. package/dist/core/dashboard-ipc-server.js +2 -1
  19. package/dist/core/dashboard-ipc-server.js.map +1 -1
  20. package/dist/core/dashboard-rows.d.ts +13 -1
  21. package/dist/core/dashboard-rows.d.ts.map +1 -1
  22. package/dist/core/dashboard-rows.js +10 -4
  23. package/dist/core/dashboard-rows.js.map +1 -1
  24. package/dist/core/session-activity.d.ts +16 -0
  25. package/dist/core/session-activity.d.ts.map +1 -1
  26. package/dist/core/session-activity.js +35 -0
  27. package/dist/core/session-activity.js.map +1 -1
  28. package/dist/core/trigger-session.d.ts.map +1 -1
  29. package/dist/core/trigger-session.js +9 -10
  30. package/dist/core/trigger-session.js.map +1 -1
  31. package/dist/core/worker-pool.d.ts.map +1 -1
  32. package/dist/core/worker-pool.js +6 -0
  33. package/dist/core/worker-pool.js.map +1 -1
  34. package/dist/daemon.d.ts.map +1 -1
  35. package/dist/daemon.js +10 -2
  36. package/dist/daemon.js.map +1 -1
  37. package/dist/dashboard/auth.d.ts +6 -0
  38. package/dist/dashboard/auth.d.ts.map +1 -1
  39. package/dist/dashboard/auth.js +33 -12
  40. package/dist/dashboard/auth.js.map +1 -1
  41. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  42. package/dist/dashboard/bot-onboarding.js +10 -13
  43. package/dist/dashboard/bot-onboarding.js.map +1 -1
  44. package/dist/dashboard/connector-api.d.ts.map +1 -1
  45. package/dist/dashboard/connector-api.js +22 -17
  46. package/dist/dashboard/connector-api.js.map +1 -1
  47. package/dist/dashboard/public-redact.d.ts +16 -0
  48. package/dist/dashboard/public-redact.d.ts.map +1 -0
  49. package/dist/dashboard/public-redact.js +62 -0
  50. package/dist/dashboard/public-redact.js.map +1 -0
  51. package/dist/dashboard/web/app.d.ts +1 -0
  52. package/dist/dashboard/web/app.d.ts.map +1 -1
  53. package/dist/dashboard/web/app.js +171 -25
  54. package/dist/dashboard/web/app.js.map +1 -1
  55. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  56. package/dist/dashboard/web/bot-defaults.js +136 -64
  57. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  58. package/dist/dashboard/web/connectors.d.ts.map +1 -1
  59. package/dist/dashboard/web/connectors.js +120 -25
  60. package/dist/dashboard/web/connectors.js.map +1 -1
  61. package/dist/dashboard/web/cyber-fx.d.ts +6 -0
  62. package/dist/dashboard/web/cyber-fx.d.ts.map +1 -0
  63. package/dist/dashboard/web/cyber-fx.js +289 -0
  64. package/dist/dashboard/web/cyber-fx.js.map +1 -0
  65. package/dist/dashboard/web/groups.d.ts.map +1 -1
  66. package/dist/dashboard/web/groups.js +6 -1
  67. package/dist/dashboard/web/groups.js.map +1 -1
  68. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  69. package/dist/dashboard/web/i18n.js +146 -8
  70. package/dist/dashboard/web/i18n.js.map +1 -1
  71. package/dist/dashboard/web/overview.d.ts.map +1 -1
  72. package/dist/dashboard/web/overview.js +206 -48
  73. package/dist/dashboard/web/overview.js.map +1 -1
  74. package/dist/dashboard/web/preferences.d.ts +16 -0
  75. package/dist/dashboard/web/preferences.d.ts.map +1 -1
  76. package/dist/dashboard/web/preferences.js +72 -1
  77. package/dist/dashboard/web/preferences.js.map +1 -1
  78. package/dist/dashboard/web/roles.js +3 -3
  79. package/dist/dashboard/web/roles.js.map +1 -1
  80. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  81. package/dist/dashboard/web/sessions.js +404 -64
  82. package/dist/dashboard/web/sessions.js.map +1 -1
  83. package/dist/dashboard/web/settings.d.ts +2 -0
  84. package/dist/dashboard/web/settings.d.ts.map +1 -0
  85. package/dist/dashboard/web/settings.js +135 -0
  86. package/dist/dashboard/web/settings.js.map +1 -0
  87. package/dist/dashboard/web/skin-intro.d.ts +4 -0
  88. package/dist/dashboard/web/skin-intro.d.ts.map +1 -0
  89. package/dist/dashboard/web/skin-intro.js +49 -0
  90. package/dist/dashboard/web/skin-intro.js.map +1 -0
  91. package/dist/dashboard/web/team-federation.js +4 -4
  92. package/dist/dashboard/web/team-federation.js.map +1 -1
  93. package/dist/dashboard/web/theme-menu.d.ts +3 -0
  94. package/dist/dashboard/web/theme-menu.d.ts.map +1 -0
  95. package/dist/dashboard/web/theme-menu.js +97 -0
  96. package/dist/dashboard/web/theme-menu.js.map +1 -0
  97. package/dist/dashboard/web/ui.d.ts +16 -2
  98. package/dist/dashboard/web/ui.d.ts.map +1 -1
  99. package/dist/dashboard/web/ui.js +137 -7
  100. package/dist/dashboard/web/ui.js.map +1 -1
  101. package/dist/dashboard/webhook-routes.d.ts +1 -5
  102. package/dist/dashboard/webhook-routes.d.ts.map +1 -1
  103. package/dist/dashboard/webhook-routes.js +127 -76
  104. package/dist/dashboard/webhook-routes.js.map +1 -1
  105. package/dist/dashboard-web/app.js +704 -512
  106. package/dist/dashboard-web/index.html +19 -14
  107. package/dist/dashboard-web/skins/bluearchive-hero.webp +0 -0
  108. package/dist/dashboard-web/skins/dragonball-goku.webp +0 -0
  109. package/dist/dashboard-web/skins/dragonball-wukong.webp +0 -0
  110. package/dist/dashboard-web/skins/fallout-vaultboy.webp +0 -0
  111. package/dist/dashboard-web/skins/genshin-breeze.webp +0 -0
  112. package/dist/dashboard-web/skins/ikun-hero.webp +0 -0
  113. package/dist/dashboard-web/skins/prts-priestess.webp +0 -0
  114. package/dist/dashboard-web/skins/zzz-hero.webp +0 -0
  115. package/dist/dashboard-web/skins/zzz-pattern.svg +25 -0
  116. package/dist/dashboard-web/style.css +2870 -16
  117. package/dist/dashboard.js +91 -31
  118. package/dist/dashboard.js.map +1 -1
  119. package/dist/global-config.d.ts +15 -0
  120. package/dist/global-config.d.ts.map +1 -1
  121. package/dist/global-config.js +51 -2
  122. package/dist/global-config.js.map +1 -1
  123. package/dist/im/lark/card-builder.d.ts.map +1 -1
  124. package/dist/im/lark/card-builder.js +17 -3
  125. package/dist/im/lark/card-builder.js.map +1 -1
  126. package/dist/im/lark/card-handler.d.ts.map +1 -1
  127. package/dist/im/lark/card-handler.js +5 -0
  128. package/dist/im/lark/card-handler.js.map +1 -1
  129. package/dist/im/lark/client.d.ts.map +1 -1
  130. package/dist/im/lark/client.js +7 -5
  131. package/dist/im/lark/client.js.map +1 -1
  132. package/dist/im/lark/event-dispatcher.d.ts +2 -1
  133. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  134. package/dist/im/lark/event-dispatcher.js +15 -9
  135. package/dist/im/lark/event-dispatcher.js.map +1 -1
  136. package/dist/im/lark/lark-hosts.d.ts +44 -0
  137. package/dist/im/lark/lark-hosts.d.ts.map +1 -0
  138. package/dist/im/lark/lark-hosts.js +49 -0
  139. package/dist/im/lark/lark-hosts.js.map +1 -0
  140. package/dist/services/connector-store.d.ts +2 -3
  141. package/dist/services/connector-store.d.ts.map +1 -1
  142. package/dist/services/connector-store.js.map +1 -1
  143. package/dist/services/trigger-types.d.ts +1 -0
  144. package/dist/services/trigger-types.d.ts.map +1 -1
  145. package/dist/services/trigger-types.js.map +1 -1
  146. package/dist/services/webhook-lifecycle-extractors.d.ts +4 -13
  147. package/dist/services/webhook-lifecycle-extractors.d.ts.map +1 -1
  148. package/dist/services/webhook-lifecycle-extractors.js +8 -23
  149. package/dist/services/webhook-lifecycle-extractors.js.map +1 -1
  150. package/dist/setup/verify-permissions.d.ts +2 -1
  151. package/dist/setup/verify-permissions.d.ts.map +1 -1
  152. package/dist/setup/verify-permissions.js +5 -8
  153. package/dist/setup/verify-permissions.js.map +1 -1
  154. package/dist/types.d.ts +1 -0
  155. package/dist/types.d.ts.map +1 -1
  156. package/dist/utils/lark-upload.d.ts +2 -1
  157. package/dist/utils/lark-upload.d.ts.map +1 -1
  158. package/dist/utils/lark-upload.js +11 -7
  159. package/dist/utils/lark-upload.js.map +1 -1
  160. package/dist/utils/screen-analyzer.d.ts +8 -0
  161. package/dist/utils/screen-analyzer.d.ts.map +1 -1
  162. package/dist/utils/screen-analyzer.js +32 -11
  163. package/dist/utils/screen-analyzer.js.map +1 -1
  164. package/dist/utils/user-token.d.ts +12 -4
  165. package/dist/utils/user-token.d.ts.map +1 -1
  166. package/dist/utils/user-token.js +64 -25
  167. package/dist/utils/user-token.js.map +1 -1
  168. package/dist/worker.js +4 -1
  169. package/dist/worker.js.map +1 -1
  170. package/dist/workflows/trigger-from-envelope.d.ts.map +1 -1
  171. package/dist/workflows/trigger-from-envelope.js +1 -0
  172. package/dist/workflows/trigger-from-envelope.js.map +1 -1
  173. package/package.json +2 -2
@@ -1,5 +1,7 @@
1
+ // 工作台首页:AI 团队(数字员工卡)→ 需要你处理 → 活跃会话 / 此刻概览。
2
+ // 第一屏顺序固定(codex 产品护栏):团队状态做品牌,attention 做主任务入口。
1
3
  import { store } from './store.js';
2
- import { escapeHtml, relTime, t } from './ui.js';
4
+ import { attentionReason, botDisplayName, botOrbStyle, chatDisplayTitle, escapeHtml, loadNameMaps, relTime, stripMentionPrefix, t, } from './ui.js';
3
5
  let groupsSnapshot = { chats: [], bots: [] };
4
6
  async function loadGroupsSnapshot() {
5
7
  try {
@@ -12,16 +14,121 @@ async function loadGroupsSnapshot() {
12
14
  // Overview stays useful even when Lark group APIs are unavailable.
13
15
  }
14
16
  }
15
- function statusClass(status) {
16
- return `status status-${escapeHtml(status || 'unknown')}`;
17
+ const BUSY_STATUSES = new Set(['working', 'analyzing', 'active', 'starting']);
18
+ /** 把会话按 bot 聚合成"数字员工"卡片数据;在线 bot 没会话也要出现(待命)。
19
+ * 以 larkAppId 为身份键(部分会话缺 botName,按名字聚会裂成两张卡);
20
+ * 显示名优先 daemon 注册表,其次会话上的 botName。只剩历史 closed 会话、
21
+ * 又不在注册表里的 bot 不出卡(避免一排灰色离线噪音)。 */
22
+ function buildBotCards(sessions) {
23
+ const byKey = new Map();
24
+ const ensure = (key) => {
25
+ let card = byKey.get(key);
26
+ if (!card) {
27
+ card = {
28
+ botName: key, larkAppId: key, cliId: 'unknown', online: false,
29
+ sessions: [], active: [], busy: [], attention: [], lastActiveAt: 0,
30
+ };
31
+ byKey.set(key, card);
32
+ }
33
+ return card;
34
+ };
35
+ for (const b of groupsSnapshot.bots ?? []) {
36
+ const card = ensure(b.larkAppId ?? b.botName ?? '-');
37
+ card.online = true;
38
+ if (b.botName)
39
+ card.botName = b.botName;
40
+ }
41
+ // 两遍:先 active 建卡,再让 closed 会话只补充已有卡(不为其单独出卡)
42
+ const ordered = [...sessions].sort((a, b) => Number(a.status === 'closed') - Number(b.status === 'closed'));
43
+ for (const s of ordered) {
44
+ const key = s.larkAppId ?? s.botName ?? '-';
45
+ if (s.status === 'closed' && !byKey.has(key))
46
+ continue;
47
+ const card = ensure(key);
48
+ if (s.botName && (card.botName === card.larkAppId || !card.botName))
49
+ card.botName = s.botName;
50
+ card.sessions.push(s);
51
+ if (s.cliId && card.cliId === 'unknown')
52
+ card.cliId = s.cliId;
53
+ card.lastActiveAt = Math.max(card.lastActiveAt, Number(s.lastMessageAt ?? 0));
54
+ if (s.status !== 'closed') {
55
+ card.active.push(s);
56
+ if (BUSY_STATUSES.has(s.status))
57
+ card.busy.push(s);
58
+ if (attentionReason(s))
59
+ card.attention.push(s);
60
+ }
61
+ }
62
+ return [...byKey.values()].sort((a, b) => {
63
+ // 等你的排最前,其次干活中,再按最近活跃
64
+ const rank = (c) => (c.attention.length ? 0 : c.busy.length ? 1 : c.online || c.active.length ? 2 : 3);
65
+ if (rank(a) !== rank(b))
66
+ return rank(a) - rank(b);
67
+ return b.lastActiveAt - a.lastActiveAt;
68
+ });
17
69
  }
18
- function renderSessionMini(s) {
19
- return `<li class="overview-list-row">
20
- <div>
21
- <strong>${escapeHtml(s.title ?? s.sessionId)}</strong>
22
- <span>${escapeHtml(s.botName ?? '')} · ${escapeHtml(s.cliId ?? 'unknown')}</span>
70
+ function mateCardHtml(card) {
71
+ const offline = !card.online && card.active.length === 0;
72
+ const needsYou = card.attention.length > 0;
73
+ const busy = card.busy.length > 0;
74
+ const dotClass = needsYou ? 'warn' : busy ? 'busy' : offline ? 'off' : 'ok';
75
+ let taskHtml;
76
+ if (needsYou) {
77
+ const a = card.attention[0];
78
+ taskHtml = `<b>${escapeHtml((stripMentionPrefix(a.title) || a.sessionId).slice(0, 60))}</b> · ${escapeHtml(attentionReason(a) ?? '')}`;
79
+ }
80
+ else if (busy) {
81
+ const w = [...card.busy].sort((x, y) => Number(y.lastMessageAt ?? 0) - Number(x.lastMessageAt ?? 0))[0];
82
+ taskHtml = `<b>${escapeHtml((stripMentionPrefix(w.title) || w.sessionId).slice(0, 60))}</b>`;
83
+ }
84
+ else if (offline) {
85
+ taskHtml = escapeHtml(t('overview.botOffline'));
86
+ }
87
+ else {
88
+ taskHtml = escapeHtml(t('overview.botIdle'));
89
+ }
90
+ const tag = needsYou
91
+ ? `<span class="tag tag-warn">${escapeHtml(t('overview.botNeedsYou'))}</span>`
92
+ : busy
93
+ ? `<span class="tag tag-run">${escapeHtml(t('overview.botBusy', { count: card.busy.length }))}</span>`
94
+ : offline
95
+ ? `<span class="tag tag-off">${escapeHtml(t('overview.botOff'))}</span>`
96
+ : `<span class="tag tag-ok">${escapeHtml(t('overview.botReady'))}</span>`;
97
+ return `<article class="mate${needsYou ? ' mate-attn' : ''}${offline ? ' mate-off' : ''}">
98
+ <div class="mate-top">
99
+ <span class="orb-avatar" style="${botOrbStyle(card.botName)}"><i class="orb-dot orb-dot-${dotClass}"></i></span>
100
+ <div class="mate-id">
101
+ <b>${escapeHtml(card.botName)}</b>
102
+ <span class="mate-role">${escapeHtml(card.cliId)}</span>
103
+ </div>
104
+ </div>
105
+ <div class="mate-task">${taskHtml}</div>
106
+ <div class="mate-foot">
107
+ ${tag}
108
+ <span>${card.lastActiveAt ? escapeHtml(t('overview.lastActive', { time: relTime(card.lastActiveAt) })) : escapeHtml(t('common.never'))}</span>
23
109
  </div>
24
- <span class="${statusClass(s.status)}">${escapeHtml(s.status ?? 'unknown')}</span>
110
+ </article>`;
111
+ }
112
+ function attentionCardHtml(s) {
113
+ const botName = botDisplayName(s);
114
+ return `<article class="qcard" data-id="${escapeHtml(s.sessionId)}">
115
+ <span class="orb-avatar orb-avatar-sm" style="${botOrbStyle(botName)}"></span>
116
+ <div class="qcard-tx">
117
+ <b>${escapeHtml(botName)} · ${escapeHtml((stripMentionPrefix(s.title) || s.sessionId).slice(0, 56))}</b>
118
+ <span>${escapeHtml(attentionReason(s) ?? '')} · ${relTime(s.lastMessageAt)}</span>
119
+ </div>
120
+ <a class="qcard-go" href="#/sessions">${escapeHtml(t('strip.handle'))}</a>
121
+ </article>`;
122
+ }
123
+ function activeSessionHtml(s) {
124
+ const botName = botDisplayName(s);
125
+ return `<li class="sess-row">
126
+ <span class="orb-avatar orb-avatar-sm" style="${botOrbStyle(botName)}"></span>
127
+ <div class="sess-tx">
128
+ <b>${escapeHtml((stripMentionPrefix(s.title) || s.sessionId).slice(0, 64))}</b>
129
+ <span>${escapeHtml(botName)} · ${escapeHtml(chatDisplayTitle(s) ?? s.cliId ?? 'unknown')} · ${relTime(s.lastMessageAt)}</span>
130
+ </div>
131
+ <span class="status status-${escapeHtml(s.status ?? 'unknown')}">${escapeHtml(s.status ?? 'unknown')}</span>
25
132
  </li>`;
26
133
  }
27
134
  function renderScheduleMini(s) {
@@ -29,76 +136,125 @@ function renderScheduleMini(s) {
29
136
  return `<li class="overview-list-row">
30
137
  <div>
31
138
  <strong>${escapeHtml(s.name ?? s.id)}</strong>
32
- <span>${escapeHtml(s.botName ?? s.larkAppId ?? '')} · ${escapeHtml(s.parsed?.display ?? '')}</span>
139
+ <span>${escapeHtml(botDisplayName(s))} · ${escapeHtml(s.parsed?.display ?? '')}</span>
33
140
  </div>
34
141
  <span>${escapeHtml(next)}</span>
35
142
  </li>`;
36
143
  }
144
+ /** 此刻概览圆环:working / needs-you / idle 三段 conic-gradient。 */
145
+ function donutHtml(workingN, attnN, idleN) {
146
+ const total = workingN + attnN + idleN;
147
+ if (total === 0) {
148
+ return `<div class="donut-wrap"><div class="donut" style="background:conic-gradient(var(--border) 0 360deg)"></div>
149
+ <div class="donut-center"><b>0</b><span>${escapeHtml(t('overview.openSessions'))}</span></div></div>`;
150
+ }
151
+ const wDeg = (workingN / total) * 360;
152
+ const aDeg = wDeg + (attnN / total) * 360;
153
+ return `<div class="donut-wrap">
154
+ <div class="donut" style="background:conic-gradient(var(--accent) 0 ${wDeg}deg, var(--warning) ${wDeg}deg ${aDeg}deg, var(--success) ${aDeg}deg 360deg)"></div>
155
+ <div class="donut-center"><b>${total}</b><span>${escapeHtml(t('overview.openSessions'))}</span></div>
156
+ </div>`;
157
+ }
37
158
  export async function renderOverviewPage(root) {
38
159
  root.innerHTML = `<section class="page hero-page">
39
160
  <div class="page-heading">
40
161
  <div>
41
162
  <p class="eyebrow">${t('app.subtitle')}</p>
42
163
  <h1>${t('overview.title')}</h1>
43
- <p>${t('overview.subtitle')}</p>
164
+ <p id="overview-sub">${t('overview.subtitle')}</p>
44
165
  </div>
166
+ <div class="hero-pills" id="overview-pills"></div>
45
167
  </div>
46
- <div class="metric-grid" id="overview-metrics"></div>
47
- <div class="overview-grid">
168
+
169
+ <div class="sect-head">
170
+ <h2>${t('overview.team')}</h2><span>${t('overview.teamHint')}</span>
171
+ <a href="#/bot-defaults">${t('overview.viewAll')}</a>
172
+ </div>
173
+ <div class="team-grid" id="team-grid"></div>
174
+
175
+ <div class="sect-head" id="attention-head">
176
+ <h2>${t('overview.attention')}</h2><span>${t('overview.attentionHint')}</span>
177
+ </div>
178
+ <div class="qgrid" id="attention-list"></div>
179
+
180
+ <div class="overview-cols">
48
181
  <section class="panel">
49
182
  <header class="panel-header">
50
183
  <div>
51
- <h2>${t('overview.recentSessions')}</h2>
52
- <p>${t('sessions.subtitle')}</p>
184
+ <h2>${t('overview.activeSessions')}</h2>
185
+ <p>${t('overview.activeSessionsHint')}</p>
53
186
  </div>
54
- <a class="btn-link" href="#/sessions">${t('nav.sessions')}</a>
187
+ <a class="btn-link" href="#/sessions">${t('overview.viewAll')}</a>
55
188
  </header>
56
189
  <ul class="overview-list" id="recent-sessions"></ul>
57
190
  </section>
58
- <section class="panel">
59
- <header class="panel-header">
60
- <div>
61
- <h2>${t('overview.nextSchedules')}</h2>
62
- <p>${t('schedules.subtitle')}</p>
63
- </div>
64
- <a class="btn-link" href="#/schedules">${t('nav.schedules')}</a>
65
- </header>
66
- <ul class="overview-list" id="next-schedules"></ul>
67
- </section>
191
+ <div class="overview-side">
192
+ <section class="panel">
193
+ <header class="panel-header">
194
+ <div>
195
+ <h2>${t('overview.today')}</h2>
196
+ <p>${t('overview.todayHint')}</p>
197
+ </div>
198
+ </header>
199
+ <div class="donut-row" id="today-donut"></div>
200
+ </section>
201
+ <section class="panel">
202
+ <header class="panel-header">
203
+ <div>
204
+ <h2>${t('overview.nextSchedules')}</h2>
205
+ <p>${t('schedules.subtitle')}</p>
206
+ </div>
207
+ <a class="btn-link" href="#/schedules">${t('overview.viewAll')}</a>
208
+ </header>
209
+ <ul class="overview-list" id="next-schedules"></ul>
210
+ </section>
211
+ </div>
68
212
  </div>
69
213
  </section>`;
70
- const metricsEl = root.querySelector('#overview-metrics');
214
+ const pillsEl = root.querySelector('#overview-pills');
215
+ const teamEl = root.querySelector('#team-grid');
216
+ const attentionEl = root.querySelector('#attention-list');
71
217
  const sessionsEl = root.querySelector('#recent-sessions');
218
+ const donutEl = root.querySelector('#today-donut');
72
219
  const schedulesEl = root.querySelector('#next-schedules');
73
220
  function rerender() {
74
221
  const sessions = [...store.sessions.values()];
75
- const schedules = [...store.schedules.values()];
76
222
  const active = sessions.filter(s => s.status !== 'closed');
77
- const working = sessions.filter(s => s.status === 'working' || s.status === 'analyzing' || s.status === 'starting');
78
- const enabledSchedules = schedules.filter(s => s.enabled);
79
- const onlineBots = groupsSnapshot.bots?.length || new Set(sessions.map(s => s.larkAppId).filter(Boolean)).size;
80
- const cards = [
81
- { label: t('overview.openSessions'), value: active.length, meta: `${sessions.length} ${t('overview.total')}` },
82
- { label: t('overview.workingSessions'), value: working.length, meta: `${active.length} ${t('overview.active')}` },
83
- { label: t('overview.onlineBots'), value: onlineBots, meta: t('overview.daemonRegistry') },
84
- { label: t('overview.schedules'), value: schedules.length, meta: `${enabledSchedules.length} ${t('overview.enabledSchedules')}` },
85
- { label: t('overview.groups'), value: groupsSnapshot.chats?.length ?? 0, meta: t('overview.chatMatrix') },
86
- ];
87
- metricsEl.innerHTML = cards.map(card => `<article class="metric-card">
88
- <span>${escapeHtml(card.label)}</span>
89
- <strong>${card.value}</strong>
90
- <small>${escapeHtml(card.meta)}</small>
91
- </article>`).join('');
92
- const recent = sessions
223
+ const attention = active
224
+ .filter(s => attentionReason(s))
225
+ .sort((a, b) => Number(a.lastMessageAt ?? 0) - Number(b.lastMessageAt ?? 0));
226
+ const busy = active.filter(s => BUSY_STATUSES.has(s.status) && !attentionReason(s));
227
+ const idle = active.length - attention.length - busy.length;
228
+ // 顶部胶囊:执行中 / 需要你 / 在线 bot
229
+ const cards = buildBotCards(sessions);
230
+ const onlineBots = cards.filter(c => c.online || c.active.length > 0).length;
231
+ pillsEl.innerHTML = `
232
+ <span class="pill">${escapeHtml(t('overview.workingSessions'))} <b>${busy.length}</b></span>
233
+ <span class="pill${attention.length ? ' pill-hot' : ''}">${escapeHtml(t('overview.attention'))} <b>${attention.length}</b></span>
234
+ <span class="pill">${escapeHtml(t('overview.onlineBots'))} <b>${onlineBots}</b></span>`;
235
+ teamEl.innerHTML = cards.length
236
+ ? cards.map(mateCardHtml).join('')
237
+ : `<div class="empty">${t('overview.noSessions')}</div>`;
238
+ attentionEl.innerHTML = attention.length
239
+ ? attention.map(attentionCardHtml).join('')
240
+ : `<div class="qcard qcard-empty">${t('overview.noAttention')}</div>`;
241
+ const recent = active
242
+ .filter(s => BUSY_STATUSES.has(s.status) || s.status === 'idle')
93
243
  .sort((a, b) => Number(b.lastMessageAt ?? 0) - Number(a.lastMessageAt ?? 0))
94
- .slice(0, 6);
244
+ .slice(0, 7);
95
245
  sessionsEl.innerHTML = recent.length
96
- ? recent.map(s => renderSessionMini({ ...s, title: s.title ?? `${relTime(s.lastMessageAt)} · ${s.sessionId}` })).join('')
246
+ ? recent.map(activeSessionHtml).join('')
97
247
  : `<li class="empty">${t('overview.noSessions')}</li>`;
98
- const upcoming = schedules
248
+ donutEl.innerHTML = `${donutHtml(busy.length, attention.length, Math.max(0, idle))}
249
+ <div class="donut-legend">
250
+ <span><i style="background:var(--accent)"></i>${escapeHtml(t('overview.workingSessions'))} ${busy.length}</span>
251
+ <span><i style="background:var(--warning)"></i>${escapeHtml(t('overview.attention'))} ${attention.length}</span>
252
+ <span><i style="background:var(--success)"></i>${escapeHtml(t('sessions.board.idle'))} ${Math.max(0, idle)}</span>
253
+ </div>`;
254
+ const upcoming = [...store.schedules.values()]
99
255
  .filter(s => s.nextRunAt)
100
256
  .sort((a, b) => Date.parse(a.nextRunAt) - Date.parse(b.nextRunAt))
101
- .slice(0, 6);
257
+ .slice(0, 5);
102
258
  schedulesEl.innerHTML = upcoming.length
103
259
  ? upcoming.map(renderScheduleMini).join('')
104
260
  : `<li class="empty">${t('overview.noSchedules')}</li>`;
@@ -106,5 +262,7 @@ export async function renderOverviewPage(root) {
106
262
  store.on(rerender);
107
263
  rerender();
108
264
  void loadGroupsSnapshot().then(rerender);
265
+ // 共享名字映射(bot 友好名 / 群聊标题)就绪后再补一次重绘
266
+ void loadNameMaps().then(rerender);
109
267
  }
110
268
  //# sourceMappingURL=overview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overview.js","sourceRoot":"","sources":["../../../src/dashboard/web/overview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overview.js","sourceRoot":"","sources":["../../../src/dashboard/web/overview.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,23 @@
1
1
  export type ThemeMode = 'system' | 'light' | 'dark';
2
2
  export type ResolvedTheme = 'light' | 'dark';
3
+ export type SessionsViewMode = 'board' | 'table';
3
4
  export declare const THEME_STORAGE_KEY = "botmux.dashboard.theme";
5
+ export declare const SESSIONS_VIEW_STORAGE_KEY = "botmux.dashboard.sessions.view";
4
6
  export declare function normalizeThemeMode(value: unknown): ThemeMode | null;
7
+ export declare function normalizeSessionsViewMode(value: unknown): SessionsViewMode | null;
5
8
  export declare function resolveThemeMode(mode: ThemeMode, systemPrefersDark: boolean): ResolvedTheme;
6
9
  export declare function readStoredThemeMode(storage: Storage | undefined): ThemeMode;
10
+ export declare function readStoredSessionsViewMode(storage: Storage | undefined): SessionsViewMode;
11
+ export declare const SESSIONS_BOARD_ORDER_STORAGE_KEY = "botmux.dashboard.sessions.boardOrder";
12
+ export declare const DEFAULT_BOARD_ORDER: readonly ["needs-you", "starting", "working", "idle"];
13
+ /** 必须是默认四列的一个排列(防旧版本残留/手改 localStorage 的脏值)。 */
14
+ export declare function normalizeBoardOrder(value: unknown): string[] | null;
15
+ export declare function readStoredBoardOrder(storage: Storage | undefined): string[];
16
+ export declare function writeStoredBoardOrder(storage: Storage | undefined, order: string[]): void;
17
+ export declare function writeStoredSessionsViewMode(storage: Storage | undefined, mode: SessionsViewMode): void;
18
+ export type SkinId = 'default' | 'cyber' | 'genshin' | 'fallout' | 'prts' | 'bluearchive' | 'zzz' | 'dragonball' | 'ikun';
19
+ export declare const SKIN_IDS: readonly SkinId[];
20
+ export declare const SKIN_STORAGE_KEY = "botmux.dashboard.skin";
21
+ export declare function normalizeSkin(value: unknown): SkinId | null;
22
+ export declare function readStoredSkin(storage: Storage | undefined): SkinId;
7
23
  //# sourceMappingURL=preferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/preferences.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAEnE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,GAAG,aAAa,CAG3F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAE3E"}
1
+ {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/preferences.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjD,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAC1D,eAAO,MAAM,yBAAyB,mCAAmC,CAAC;AAE1E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAEnE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAEjF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,GAAG,aAAa,CAG3F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAI3E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAEzF;AAGD,eAAO,MAAM,gCAAgC,yCAAyC,CAAC;AACvF,eAAO,MAAM,mBAAmB,uDAAwD,CAAC;AAEzF,gDAAgD;AAChD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAMnE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,EAAE,CAQ3E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAMzF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAMtG;AAOD,MAAM,MAAM,MAAM,GACd,SAAS,GACT,OAAO,GACP,SAAS,GACT,SAAS,GACT,MAAM,GACN,aAAa,GACb,KAAK,GACL,YAAY,GACZ,MAAM,CAAC;AAEX,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAUrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AAExD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAEnE"}
@@ -1,13 +1,84 @@
1
1
  export const THEME_STORAGE_KEY = 'botmux.dashboard.theme';
2
+ export const SESSIONS_VIEW_STORAGE_KEY = 'botmux.dashboard.sessions.view';
2
3
  export function normalizeThemeMode(value) {
3
4
  return value === 'system' || value === 'light' || value === 'dark' ? value : null;
4
5
  }
6
+ export function normalizeSessionsViewMode(value) {
7
+ return value === 'board' || value === 'table' ? value : null;
8
+ }
5
9
  export function resolveThemeMode(mode, systemPrefersDark) {
6
10
  if (mode === 'system')
7
11
  return systemPrefersDark ? 'dark' : 'light';
8
12
  return mode;
9
13
  }
10
14
  export function readStoredThemeMode(storage) {
11
- return normalizeThemeMode(storage?.getItem(THEME_STORAGE_KEY)) ?? 'system';
15
+ // 数字员工工作台视觉以 dark 为第一公民 — 未显式选择过主题时默认深色,
16
+ // light / system 仍可在顶栏切换(保留原有功能入口)。
17
+ return normalizeThemeMode(storage?.getItem(THEME_STORAGE_KEY)) ?? 'dark';
18
+ }
19
+ export function readStoredSessionsViewMode(storage) {
20
+ return normalizeSessionsViewMode(storage?.getItem(SESSIONS_VIEW_STORAGE_KEY)) ?? 'board';
21
+ }
22
+ // ── 看板列顺序(用户可拖拽/按钮自定义,从左到右)─────────────────────────────
23
+ export const SESSIONS_BOARD_ORDER_STORAGE_KEY = 'botmux.dashboard.sessions.boardOrder';
24
+ export const DEFAULT_BOARD_ORDER = ['needs-you', 'starting', 'working', 'idle'];
25
+ /** 必须是默认四列的一个排列(防旧版本残留/手改 localStorage 的脏值)。 */
26
+ export function normalizeBoardOrder(value) {
27
+ if (!Array.isArray(value) || value.length !== DEFAULT_BOARD_ORDER.length)
28
+ return null;
29
+ const seen = new Set(value);
30
+ if (seen.size !== value.length)
31
+ return null;
32
+ for (const id of DEFAULT_BOARD_ORDER)
33
+ if (!seen.has(id))
34
+ return null;
35
+ return value.slice();
36
+ }
37
+ export function readStoredBoardOrder(storage) {
38
+ try {
39
+ const raw = storage?.getItem(SESSIONS_BOARD_ORDER_STORAGE_KEY);
40
+ if (!raw)
41
+ return [...DEFAULT_BOARD_ORDER];
42
+ return normalizeBoardOrder(JSON.parse(raw)) ?? [...DEFAULT_BOARD_ORDER];
43
+ }
44
+ catch {
45
+ return [...DEFAULT_BOARD_ORDER];
46
+ }
47
+ }
48
+ export function writeStoredBoardOrder(storage, order) {
49
+ try {
50
+ storage?.setItem(SESSIONS_BOARD_ORDER_STORAGE_KEY, JSON.stringify(order));
51
+ }
52
+ catch {
53
+ // localStorage 不可用时顺序只在当前页生效
54
+ }
55
+ }
56
+ export function writeStoredSessionsViewMode(storage, mode) {
57
+ try {
58
+ storage?.setItem(SESSIONS_VIEW_STORAGE_KEY, mode);
59
+ }
60
+ catch {
61
+ // Some embedded browsers deny localStorage. The current page still updates.
62
+ }
63
+ }
64
+ export const SKIN_IDS = [
65
+ 'default',
66
+ 'cyber',
67
+ 'genshin',
68
+ 'fallout',
69
+ 'prts',
70
+ 'bluearchive',
71
+ 'zzz',
72
+ 'dragonball',
73
+ 'ikun',
74
+ ];
75
+ export const SKIN_STORAGE_KEY = 'botmux.dashboard.skin';
76
+ export function normalizeSkin(value) {
77
+ return typeof value === 'string' && SKIN_IDS.includes(value)
78
+ ? value
79
+ : null;
80
+ }
81
+ export function readStoredSkin(storage) {
82
+ return normalizeSkin(storage?.getItem(SKIN_STORAGE_KEY)) ?? 'default';
12
83
  }
13
84
  //# sourceMappingURL=preferences.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../src/dashboard/web/preferences.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAE1D,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAe,EAAE,iBAA0B;IAC1E,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA4B;IAC9D,OAAO,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,QAAQ,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../src/dashboard/web/preferences.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // Roles page: hierarchical group → bot role editor.
2
2
  // Displays groups as collapsible sections with bots nested inside.
3
3
  // Each bot has its own per-group role definition selectable for editing.
4
- import { escapeHtml, t } from './ui.js';
4
+ import { botOrbStyle, escapeHtml, t } from './ui.js';
5
5
  const MAX_ROLE_BYTES = 4096;
6
6
  let cache = [];
7
7
  let selectedGroupId = null;
@@ -117,7 +117,7 @@ function renderTree(filter = '') {
117
117
  data-group-id="${escapeHtml(g.chatId)}"
118
118
  data-bot-id="${escapeHtml(b.larkAppId)}">
119
119
  <span class="roles-bot-indent"></span>
120
- <span class="roles-bot-icon">🤖</span>
120
+ <span class="orb-avatar orb-avatar-sm" style="${botOrbStyle(b.botName)}" aria-hidden="true"></span>
121
121
  <div class="roles-bot-info">
122
122
  <div class="roles-bot-name">${escapeHtml(b.botName)}</div>
123
123
  <div class="roles-bot-id">${escapeHtml(b.larkAppId)}</div>
@@ -133,7 +133,7 @@ function renderTree(filter = '') {
133
133
  <div class="roles-group-row ${expanded ? 'expanded' : ''} ${selectedGroupId === g.chatId && !selectedBotId ? 'selected' : ''}"
134
134
  data-group-id="${escapeHtml(g.chatId)}">
135
135
  <span class="roles-group-arrow">${arrow}</span>
136
- <span class="roles-group-icon">📁</span>
136
+ <span class="roles-group-icon" aria-hidden="true"><svg viewBox="0 0 16 16"><circle cx="5.6" cy="5.8" r="2.4"/><path d="M1.8 13.2c.5-2.4 2-3.6 3.8-3.6s3.3 1.2 3.8 3.6"/><circle cx="11" cy="6.8" r="1.9"/><path d="M9.8 12.6c.4-1.7 1.5-2.6 2.8-2.6 1 0 1.9.5 2.4 1.6"/></svg></span>
137
137
  <div class="roles-group-info">
138
138
  <div class="roles-group-name">${escapeHtml(g.name ?? g.chatId)}</div>
139
139
  <div class="roles-group-meta">
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/dashboard/web/roles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/dashboard/web/roles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/sessions.ts"],"names":[],"mappings":"AA0BA,wBAAgB,oBAAoB,IAAI,MAAM,CAU7C;AAkDD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,QAkSnD"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/dashboard/web/sessions.ts"],"names":[],"mappings":"AA+EA,wBAAgB,oBAAoB,IAAI,MAAM,CAY7C;AAuDD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,QA0jBnD"}