@zhin.js/plugin-group-daily-analysis 0.0.9 → 0.0.12

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.
package/lib/index.js CHANGED
@@ -69,24 +69,15 @@ function getChannelFromMessage(message) {
69
69
  }
70
70
  useContext("database", (db) => {
71
71
  _db = db;
72
- // 收件箱表由主包在 inbox.enabled 时注册,此处仅只读使用
73
- const inboxModel = db.models?.get(INBOX_TABLE);
74
- if (!inboxModel) {
75
- logger.warn("[group-daily-analysis] 未检测到收件箱表,请在主配置中启用 inbox.enabled 与 database");
76
- }
77
- // 本插件仅新增:群分析开关表(用于 /分析设置)
78
- if (typeof db.define === "function") {
79
- db.define(SETTINGS_TABLE, {
80
- id: { type: "integer", primary: true, autoIncrement: true },
81
- channel_id: { type: "text", nullable: false },
82
- channel_type: { type: "text", nullable: false },
83
- adapter: { type: "text", default: "" },
84
- bot_id: { type: "text", default: "" },
85
- enabled: { type: "integer", default: 1 },
86
- updated_at: { type: "text", default: "" },
87
- });
88
- logger.info("[group-daily-analysis] 分析设置表已注册");
89
- }
72
+ db.define(SETTINGS_TABLE, {
73
+ id: { type: "integer", primary: true, autoIncrement: true },
74
+ channel_id: { type: "text", nullable: false },
75
+ channel_type: { type: "text", nullable: false },
76
+ adapter: { type: "text", default: "" },
77
+ bot_id: { type: "text", default: "" },
78
+ enabled: { type: "integer", default: 1 },
79
+ updated_at: { type: "text", default: "" },
80
+ });
90
81
  });
91
82
  // ─── 群组是否参与分析(白名单/黑名单 + 分析设置)──────────────────────────────
92
83
  function isGroupInList(groupId, list) {
@@ -95,9 +86,11 @@ function isGroupInList(groupId, list) {
95
86
  async function isAnalysisEnabledForChannel(channelId, channelType, adapter) {
96
87
  if (channelType !== "group")
97
88
  return false;
98
- if (config.disabledGroups.length > 0 && isGroupInList(channelId, config.disabledGroups))
89
+ if (config.disabledGroups.length > 0 &&
90
+ isGroupInList(channelId, config.disabledGroups))
99
91
  return false;
100
- if (config.enabledGroups.length > 0 && !isGroupInList(channelId, config.enabledGroups))
92
+ if (config.enabledGroups.length > 0 &&
93
+ !isGroupInList(channelId, config.enabledGroups))
101
94
  return false;
102
95
  const Settings = getSettingsModel();
103
96
  if (!Settings)
@@ -172,8 +165,12 @@ async function queryInboxMessages(channelId, adapter, botId, startTs, endTs, lim
172
165
  .limit(limit);
173
166
  }
174
167
  catch {
175
- rows = await Inbox.select()
176
- .where({ channel_id: channelId, channel_type: "group", adapter: adapter || "", bot_id: botId || "" });
168
+ rows = await Inbox.select().where({
169
+ channel_id: channelId,
170
+ channel_type: "group",
171
+ adapter: adapter || "",
172
+ bot_id: botId || "",
173
+ });
177
174
  rows = (rows || [])
178
175
  .filter((r) => r.created_at >= startTs && r.created_at <= endTs)
179
176
  .sort((a, b) => a.created_at - b.created_at)
@@ -182,7 +179,7 @@ async function queryInboxMessages(channelId, adapter, botId, startTs, endTs, lim
182
179
  return rows;
183
180
  }
184
181
  catch (e) {
185
- logger.warn("[group-daily-analysis] 查询收件箱失败", e?.message);
182
+ logger.warn("查询收件箱失败", e?.message);
186
183
  return [];
187
184
  }
188
185
  }
@@ -220,13 +217,15 @@ async function runAnalysis(channelId, channelName, adapter, botId, days) {
220
217
  const answer = await ai.ask(`请分析以下群聊片段并返回 JSON:\n\n${conversation.slice(0, 6000)}`, { systemPrompt });
221
218
  if (answer && answer.trim()) {
222
219
  const llm = parseLLMResponse(answer);
223
- if (llm.topics?.length || llm.quotes?.length || llm.userTitles?.length) {
220
+ if (llm.topics?.length ||
221
+ llm.quotes?.length ||
222
+ llm.userTitles?.length) {
224
223
  textReport = appendLLMReport(textReport, llm);
225
224
  }
226
225
  }
227
226
  }
228
227
  catch (e) {
229
- logger.debug("[group-daily-analysis] LLM 分析跳过", e?.message);
228
+ logger.debug("[LLM 分析跳过", e?.message);
230
229
  }
231
230
  }
232
231
  return { stats, textReport };
@@ -257,10 +256,15 @@ addCommand(new MessageCommand("群分析 [天数:number]")
257
256
  const resultImg = await renderer.render(html);
258
257
  const base64 = resultImg.data.toString("base64");
259
258
  const dataUrl = `base64://${base64}`;
260
- return [segment("image", { url: dataUrl, name: "group-daily-analysis.png" })];
259
+ return [
260
+ segment("image", {
261
+ url: dataUrl,
262
+ name: "group-daily-analysis.png",
263
+ }),
264
+ ];
261
265
  }
262
266
  catch (e) {
263
- logger.debug("[group-daily-analysis] 图片渲染失败,回退文本", e?.message);
267
+ logger.debug("图片渲染失败,回退文本", e?.message);
264
268
  }
265
269
  }
266
270
  }
@@ -306,7 +310,10 @@ useContext("database", () => {
306
310
  const targets = [];
307
311
  const Settings = getSettingsModel();
308
312
  if (Settings) {
309
- const rows = await Settings.select().where({ channel_type: "group", enabled: 1 });
313
+ const rows = await Settings.select().where({
314
+ channel_type: "group",
315
+ enabled: 1,
316
+ });
310
317
  for (const r of rows) {
311
318
  if (r.channel_id && r.adapter)
312
319
  targets.push({
@@ -322,10 +329,15 @@ useContext("database", () => {
322
329
  const adapters = root.adapters;
323
330
  const adapterName = Array.isArray(adapters) && adapters[0] ? adapters[0] : "";
324
331
  if (adapterName)
325
- targets.push({ channelId: String(gid), adapter: adapterName, botId: "" });
332
+ targets.push({
333
+ channelId: String(gid),
334
+ adapter: adapterName,
335
+ botId: "",
336
+ });
326
337
  }
327
338
  for (const t of targets) {
328
- if (config.disabledGroups.length && isGroupInList(t.channelId, config.disabledGroups))
339
+ if (config.disabledGroups.length &&
340
+ isGroupInList(t.channelId, config.disabledGroups))
329
341
  continue;
330
342
  try {
331
343
  const report = await runAnalysis(t.channelId, "", t.adapter, t.botId, config.analysisDays);
@@ -338,24 +350,25 @@ useContext("database", () => {
338
350
  const first = adapter.bots.values().next().value;
339
351
  botId = first?.$id ?? first?.selfId ?? "";
340
352
  }
341
- await adapter.sendMessage({
353
+ await adapter
354
+ .sendMessage({
342
355
  context: t.adapter,
343
356
  bot: botId,
344
357
  type: "group",
345
358
  id: t.channelId,
346
359
  content: report.textReport,
347
- }).catch(() => { });
360
+ })
361
+ .catch(() => { });
348
362
  }
349
363
  }
350
364
  catch (e) {
351
- logger.warn("[group-daily-analysis] 定时分析发送失败", t.channelId, e?.message);
365
+ logger.warn("定时分析发送失败", t.channelId, e?.message);
352
366
  }
353
367
  }
354
368
  }));
355
- logger.info("[group-daily-analysis] 定时分析已注册: " + config.autoAnalysisCron);
356
369
  }
357
370
  catch (e) {
358
- logger.warn("[group-daily-analysis] 注册定时任务失败", e?.message);
371
+ logger.warn("注册定时任务失败", e?.message);
359
372
  }
360
373
  });
361
374
  onDispose(() => {
@@ -364,5 +377,4 @@ onDispose(() => {
364
377
  cronDispose = null;
365
378
  }
366
379
  });
367
- logger.info(`[group-daily-analysis] 已加载 (分析天数=${config.analysisDays}, 定时=${config.autoAnalysisEnabled ? config.autoAnalysisCron : "关"})`);
368
380
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG3E,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,WAAW,GAEZ,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,UAAU,EACV,UAAU,EACV,OAAO,EACP,SAAS,EACT,aAAa,GACd,GAAG,MAAM,CAAC;AAEX,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAC5C,MAAM,cAAc,GAAG,+BAA+B,CAAC;AAEvD,+EAA+E;AAE/E,MAAM,MAAM,GAAG,aAAa,CAC1B,sBAAsB,EACtB,MAAM,CAAC,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;SAC1B,OAAO,CAAC,CAAC,CAAC;SACV,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,WAAW,CAAC,UAAU,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE;SAClC,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,YAAY,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;SAC9B,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,qBAAqB,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SACxC,OAAO,CAAC,EAAE,CAAC;SACX,WAAW,CAAC,uBAAuB,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SACzC,OAAO,CAAC,EAAE,CAAC;SACX,WAAW,CAAC,eAAe,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;SAC1B,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sCAAsC,CAAC;IACtD,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE;SACpC,OAAO,CAAC,GAAG,CAAC;SACZ,GAAG,CAAC,GAAG,CAAC;SACR,GAAG,CAAC,IAAI,CAAC;SACT,WAAW,CAAC,eAAe,CAAC;CAChC,CAAC,CACH,CAAC;AAEF,0EAA0E;AAE1E,IAAI,GAAG,GAAQ,IAAI,CAAC;AACpB,IAAI,cAAc,GAAQ,IAAI,CAAC;AAE/B,SAAS,aAAa;IACpB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAiB,CAAQ,CAAC;QACvD,IAAI,QAAQ;YAAE,GAAG,GAAG,QAAQ,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAY;IAOZ,MAAM,EAAE,GAAG,OAAO,EAAE,QAAQ,CAAC;IAC7B,IAAI,CAAC,EAAE,EAAE,EAAE;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,SAAS,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,QAAQ;QAC1B,KAAK,EAAE,OAAO,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC;AAED,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;IAC5B,GAAG,GAAG,EAAE,CAAC;IACT,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE;QACxB,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;QAC3D,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC7C,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/C,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QACrC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;QACxC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,6DAA6D;AAE7D,SAAS,aAAa,CAAC,OAAe,EAAE,IAAc;IACpD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,SAAiB,EACjB,WAAmB,EACnB,OAAe;IAEf,IAAI,WAAW,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC1C,IACE,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAChC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;QAE/C,OAAO,KAAK,CAAC;IACf,IACE,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QAC/B,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC;QAE/C,OAAO,KAAK,CAAC;IACf,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,IAAI,GAAU,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;YAChD,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,OAAO,IAAI,EAAE;SACvB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,SAAiB,EACjB,WAAmB,EACnB,OAAe,EACf,KAAa,EACb,OAAgB;IAEhB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,IAAI,GAAU,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QAChD,UAAU,EAAE,SAAS;QACrB,YAAY,EAAE,WAAW;QACzB,OAAO,EAAE,OAAO,IAAI,EAAE;KACvB,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,QAAQ,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE;SACtC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,MAAM,EAAE,KAAK,IAAI,EAAE;YACnB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,sEAAsE;AAEtE,SAAS,gBAAgB,CAAC,IAAY;IAMpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,CAAC,CAAO,EAAE,EAAE,CACtB,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CACvE,CAAC,CAAC,OAAO,EAAE,CACZ,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACvB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,SAAiB,EACjB,OAAe,EACf,KAAa,EACb,OAAe,EACf,KAAa,EACb,KAAa;IAEb,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC;QACH,IAAI,IAAW,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;iBACxB,KAAK,CAAC;gBACL,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,OAAO;gBACrB,OAAO,EAAE,OAAO,IAAI,EAAE;gBACtB,MAAM,EAAE,KAAK,IAAI,EAAE;gBACnB,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;aAC3C,CAAC;iBACD,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;iBAC5B,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;gBAChC,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,OAAO;gBACrB,OAAO,EAAE,OAAO,IAAI,EAAE;gBACtB,MAAM,EAAE,KAAK,IAAI,EAAE;aACpB,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;iBAChB,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC;iBACpE,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;iBACrD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,IAAyB,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,SAAS,EAAG,CAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,SAAiB,EACjB,WAAmB,EACnB,OAAe,EACf,KAAa,EACb,IAAY;IAEZ,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,+CAA+C,CAAC;IACzD,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,kBAAkB,CACnC,SAAS,EACT,OAAO,EACP,KAAK,EACL,KAAK,EACL,GAAG,EACH,MAAM,CAAC,sBAAsB,CAC9B,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,QAAQ,MAAM,MAAM,iCAAiC,CAAC;IACpE,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE;QACvC,WAAW,EAAE,WAAW,IAAI,SAAS;QACrC,IAAI;QACJ,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,iEAAiE;IACjE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAW,CAErB,CAAC;IACd,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,MAAM;iBACxB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CACxD,CAAC,EACD,GAAG,CACJ,EAAE,CACN;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,YAAY,GAAG;;;;kBAIT,CAAC;YACb,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CACzB,yBAAyB,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EACtD,EAAE,YAAY,EAAE,CACjB,CAAC;YACF,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACrC,IACE,GAAG,CAAC,MAAM,EAAE,MAAM;oBAClB,GAAG,CAAC,MAAM,EAAE,MAAM;oBAClB,GAAG,CAAC,UAAU,EAAE,MAAM,EACtB,CAAC;oBACD,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,WAAW,EAAG,CAAW,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,2EAA2E;AAE3E,UAAU,CACR,IAAI,cAAc,CAAC,iBAAiB,CAAC;KAClC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,MAAW,EAAE,EAAE;IAC1C,MAAM,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACnB,EAAE,EACF,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAC9D,CAAC;IACF,MAAM,WAAW,GAAI,OAAO,EAAE,QAA8B,EAAE,IAAI,IAAI,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,EAAE,CAAC,SAAS,EACZ,WAAW,EACX,EAAE,CAAC,OAAO,IAAI,EAAE,EAChB,EAAE,CAAC,KAAK,IAAI,EAAE,EACd,IAAI,CACL,CAAC;IACF,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,MAAM,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU;qBAC9B,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;qBACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;qBACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;qBACrB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC3B,MAAM,IAAI,GAAG,uHAAuH,OAAO,QAAQ,CAAC;gBACpJ,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAI,SAAS,CAAC,IAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG,YAAY,MAAM,EAAE,CAAC;gBACrC,OAAO;oBACL,OAAO,CAAC,OAAO,EAAE;wBACf,GAAG,EAAE,OAAO;wBACZ,IAAI,EAAE,0BAA0B;qBACjC,CAAC;iBACH,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,aAAa,EAAG,CAAW,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,UAAU,CAAC;AAC3B,CAAC,CAAC,CACL,CAAC;AAEF,0EAA0E;AAE1E,UAAU,CACR,IAAI,cAAc,CAAC,gBAAgB,CAAC;KACjC,IAAI,CAAC,MAAM,EAAE,0CAA0C,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,MAAW,EAAE,EAAE;IAC1C,MAAM,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;IAC7B,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,4BAA4B,CAChC,EAAE,CAAC,SAAS,EACZ,EAAE,CAAC,WAAW,EACd,OAAO,EACP,KAAK,EACL,IAAI,CACL,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,4BAA4B,CAChC,EAAE,CAAC,SAAS,EACZ,EAAE,CAAC,WAAW,EACd,OAAO,EACP,KAAK,EACL,KAAK,CACN,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAC/C,EAAE,CAAC,SAAS,EACZ,EAAE,CAAC,WAAW,EACd,OAAO,CACR,CAAC;QACF,OAAO,UAAU,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,mCAAmC,CAAC;AAC7C,CAAC,CAAC,CACL,CAAC;AAEF,0EAA0E;AAE1E,IAAI,WAAW,GAAwB,IAAI,CAAC;AAE5C,UAAU,CAAC,UAAU,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,WAAW;QAAE,OAAO;IACvD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO;IAC1C,IAAI,CAAC;QACH,WAAW,GAAG,OAAO,CACnB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAyB,CAAC;YAC/D,IAAI,OAAO,MAAM,KAAK,UAAU;gBAAE,OAAO;YACzC,MAAM,OAAO,GACX,EAAE,CAAC;YACL,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YACpC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,GAAU,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;oBAChD,YAAY,EAAE,OAAO;oBACrB,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO;wBAC3B,OAAO,CAAC,IAAI,CAAC;4BACX,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;4BAC/B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;4BAC1B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;yBAC9B,CAAC,CAAC;gBACP,CAAC;YACH,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC;oBAAE,SAAS;gBACvD,MAAM,QAAQ,GAAI,IAAY,CAAC,QAAgC,CAAC;gBAChE,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,IAAI,WAAW;oBACb,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC;wBACtB,OAAO,EAAE,WAAW;wBACpB,KAAK,EAAE,EAAE;qBACV,CAAC,CAAC;YACP,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IACE,MAAM,CAAC,cAAc,CAAC,MAAM;oBAC5B,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC;oBAEjD,SAAS;gBACX,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,CAAC,CAAC,SAAS,EACX,EAAE,EACF,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,KAAK,EACP,MAAM,CAAC,YAAY,CACpB,CAAC;oBACF,IAAI,OAAO,MAAM,KAAK,QAAQ;wBAAE,SAAS;oBACzC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;wBACzB,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;wBACpB,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;4BACjC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;4BACjD,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;wBAC5C,CAAC;wBACD,MAAM,OAAO;6BACV,WAAW,CAAC;4BACX,OAAO,EAAE,CAAC,CAAC,OAAO;4BAClB,GAAG,EAAE,KAAK;4BACV,IAAI,EAAE,OAAO;4BACb,EAAE,EAAE,CAAC,CAAC,SAAS;4BACf,OAAO,EAAE,MAAM,CAAC,UAAU;yBAC3B,CAAC;6BACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,EAAG,CAAW,EAAE,OAAO,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,UAAU,EAAG,CAAW,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/plugin-group-daily-analysis",
3
- "version": "0.0.9",
3
+ "version": "0.0.12",
4
4
  "description": "Group daily analysis plugin for Zhin.js — stats, LLM topics/quotes/user titles, reuse unified inbox",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -40,13 +40,13 @@
40
40
  "license": "MIT",
41
41
  "dependencies": {},
42
42
  "devDependencies": {
43
- "typescript": "^5.3.3",
44
- "zhin.js": "1.0.58",
45
- "@zhin.js/plugin-html-renderer": "0.0.38"
43
+ "typescript": "^5.9.3",
44
+ "zhin.js": "1.0.61",
45
+ "@zhin.js/plugin-html-renderer": "0.0.41"
46
46
  },
47
47
  "peerDependencies": {
48
- "zhin.js": "1.0.58",
49
- "@zhin.js/plugin-html-renderer": "0.0.38"
48
+ "zhin.js": "1.0.61",
49
+ "@zhin.js/plugin-html-renderer": "0.0.41"
50
50
  },
51
51
  "peerDependenciesMeta": {
52
52
  "@zhin.js/plugin-html-renderer": {
package/src/index.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  * 依赖:主配置中启用 inbox.enabled 与 database。
9
9
  * 命令:/群分析 [天数]、/分析设置 enable|disable|status
10
10
  */
11
- import { usePlugin, MessageCommand, Schema, Cron,segment } from "zhin.js";
11
+ import { usePlugin, MessageCommand, Schema, Cron, segment } from "zhin.js";
12
12
  import type { InboxMessageRow } from "./analysis.js";
13
13
  import type {} from "@zhin.js/plugin-html-renderer";
14
14
  import {
@@ -64,7 +64,7 @@ const config = declareConfig(
64
64
  .min(100)
65
65
  .max(5000)
66
66
  .description("单次分析使用的最大消息条数"),
67
- })
67
+ }),
68
68
  );
69
69
 
70
70
  // ─── 数据库与收件箱 ───────────────────────────────────────────────────────────
@@ -84,7 +84,14 @@ function getSettingsModel(): any {
84
84
  return _db?.models?.get(SETTINGS_TABLE) ?? null;
85
85
  }
86
86
 
87
- function getChannelFromMessage(message: any): { channelId: string; channelType: string; adapter?: string; botId?: string } | null {
87
+ function getChannelFromMessage(
88
+ message: any,
89
+ ): {
90
+ channelId: string;
91
+ channelType: string;
92
+ adapter?: string;
93
+ botId?: string;
94
+ } | null {
88
95
  const ch = message?.$channel;
89
96
  if (!ch?.id) return null;
90
97
  return {
@@ -95,26 +102,17 @@ function getChannelFromMessage(message: any): { channelId: string; channelType:
95
102
  };
96
103
  }
97
104
 
98
- useContext("database", (db: any) => {
105
+ useContext("database", (db) => {
99
106
  _db = db;
100
- // 收件箱表由主包在 inbox.enabled 时注册,此处仅只读使用
101
- const inboxModel = db.models?.get(INBOX_TABLE);
102
- if (!inboxModel) {
103
- logger.warn("[group-daily-analysis] 未检测到收件箱表,请在主配置中启用 inbox.enabled 与 database");
104
- }
105
- // 本插件仅新增:群分析开关表(用于 /分析设置)
106
- if (typeof db.define === "function") {
107
- db.define(SETTINGS_TABLE, {
108
- id: { type: "integer", primary: true, autoIncrement: true },
109
- channel_id: { type: "text", nullable: false },
110
- channel_type: { type: "text", nullable: false },
111
- adapter: { type: "text", default: "" },
112
- bot_id: { type: "text", default: "" },
113
- enabled: { type: "integer", default: 1 },
114
- updated_at: { type: "text", default: "" },
115
- });
116
- logger.info("[group-daily-analysis] 分析设置表已注册");
117
- }
107
+ db.define(SETTINGS_TABLE, {
108
+ id: { type: "integer", primary: true, autoIncrement: true },
109
+ channel_id: { type: "text", nullable: false },
110
+ channel_type: { type: "text", nullable: false },
111
+ adapter: { type: "text", default: "" },
112
+ bot_id: { type: "text", default: "" },
113
+ enabled: { type: "integer", default: 1 },
114
+ updated_at: { type: "text", default: "" },
115
+ });
118
116
  });
119
117
 
120
118
  // ─── 群组是否参与分析(白名单/黑名单 + 分析设置)──────────────────────────────
@@ -126,11 +124,19 @@ function isGroupInList(groupId: string, list: string[]): boolean {
126
124
  async function isAnalysisEnabledForChannel(
127
125
  channelId: string,
128
126
  channelType: string,
129
- adapter: string
127
+ adapter: string,
130
128
  ): Promise<boolean> {
131
129
  if (channelType !== "group") return false;
132
- if (config.disabledGroups.length > 0 && isGroupInList(channelId, config.disabledGroups)) return false;
133
- if (config.enabledGroups.length > 0 && !isGroupInList(channelId, config.enabledGroups)) return false;
130
+ if (
131
+ config.disabledGroups.length > 0 &&
132
+ isGroupInList(channelId, config.disabledGroups)
133
+ )
134
+ return false;
135
+ if (
136
+ config.enabledGroups.length > 0 &&
137
+ !isGroupInList(channelId, config.enabledGroups)
138
+ )
139
+ return false;
134
140
  const Settings = getSettingsModel();
135
141
  if (!Settings) return true;
136
142
  try {
@@ -151,7 +157,7 @@ async function setAnalysisEnabledForChannel(
151
157
  channelType: string,
152
158
  adapter: string,
153
159
  botId: string,
154
- enabled: boolean
160
+ enabled: boolean,
155
161
  ): Promise<void> {
156
162
  const Settings = getSettingsModel();
157
163
  if (!Settings) return;
@@ -181,13 +187,20 @@ async function setAnalysisEnabledForChannel(
181
187
 
182
188
  // ─── 从收件箱查询消息并执行分析 ─────────────────────────────────────────────────
183
189
 
184
- function getTimeRangeDays(days: number): { start: number; end: number; startStr: string; endStr: string } {
190
+ function getTimeRangeDays(days: number): {
191
+ start: number;
192
+ end: number;
193
+ startStr: string;
194
+ endStr: string;
195
+ } {
185
196
  const end = Date.now();
186
197
  const start = end - days * 24 * 60 * 60 * 1000;
187
198
  const dStart = new Date(start);
188
199
  const dEnd = new Date(end);
189
200
  const fmt = (d: Date) =>
190
- `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`;
201
+ `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(
202
+ d.getDate(),
203
+ ).padStart(2, "0")}`;
191
204
  return { start, end, startStr: fmt(dStart), endStr: fmt(dEnd) };
192
205
  }
193
206
 
@@ -197,7 +210,7 @@ async function queryInboxMessages(
197
210
  botId: string,
198
211
  startTs: number,
199
212
  endTs: number,
200
- limit: number
213
+ limit: number,
201
214
  ): Promise<InboxMessageRow[]> {
202
215
  const Inbox = getInboxModel();
203
216
  if (!Inbox) return [];
@@ -215,8 +228,12 @@ async function queryInboxMessages(
215
228
  .orderBy("created_at", "ASC")
216
229
  .limit(limit);
217
230
  } catch {
218
- rows = await Inbox.select()
219
- .where({ channel_id: channelId, channel_type: "group", adapter: adapter || "", bot_id: botId || "" });
231
+ rows = await Inbox.select().where({
232
+ channel_id: channelId,
233
+ channel_type: "group",
234
+ adapter: adapter || "",
235
+ bot_id: botId || "",
236
+ });
220
237
  rows = (rows || [])
221
238
  .filter((r: any) => r.created_at >= startTs && r.created_at <= endTs)
222
239
  .sort((a: any, b: any) => a.created_at - b.created_at)
@@ -224,7 +241,7 @@ async function queryInboxMessages(
224
241
  }
225
242
  return rows as InboxMessageRow[];
226
243
  } catch (e) {
227
- logger.warn("[group-daily-analysis] 查询收件箱失败", (e as Error)?.message);
244
+ logger.warn("查询收件箱失败", (e as Error)?.message);
228
245
  return [];
229
246
  }
230
247
  }
@@ -234,7 +251,7 @@ async function runAnalysis(
234
251
  channelName: string,
235
252
  adapter: string,
236
253
  botId: string,
237
- days: number
254
+ days: number,
238
255
  ): Promise<AnalysisResult | string> {
239
256
  const Inbox = getInboxModel();
240
257
  if (!Inbox) {
@@ -247,7 +264,7 @@ async function runAnalysis(
247
264
  botId,
248
265
  start,
249
266
  end,
250
- config.maxMessagesPerAnalysis
267
+ config.maxMessagesPerAnalysis,
251
268
  );
252
269
  if (rows.length === 0) {
253
270
  return `在 ${startStr} 至 ${endStr} 区间内没有找到本群消息记录,请确认收件箱已启用并有过群消息。`;
@@ -261,13 +278,21 @@ async function runAnalysis(
261
278
  });
262
279
 
263
280
  // 可选:LLM 话题/金句/用户画像(灵感来自 astrbot_plugin_qq_group_daily_analysis)
264
- const ai = root.inject("ai" as any) as { ask?: (q: string, opts?: { systemPrompt?: string }) => Promise<string> } | undefined;
281
+ const ai = root.inject("ai" as any) as
282
+ | { ask?: (q: string, opts?: { systemPrompt?: string }) => Promise<string> }
283
+ | undefined;
265
284
  if (ai?.ask) {
266
285
  try {
267
286
  const sampleSize = Math.min(rows.length, 150);
268
287
  const sample = rows.slice(-sampleSize);
269
288
  const conversation = sample
270
- .map((r) => `[${r.sender_name || r.sender_id}]: ${extractText(r).slice(0, 200)}`)
289
+ .map(
290
+ (r) =>
291
+ `[${r.sender_name || r.sender_id}]: ${extractText(r).slice(
292
+ 0,
293
+ 200,
294
+ )}`,
295
+ )
271
296
  .join("\n");
272
297
  const systemPrompt = `你是一个群聊分析助手。根据下面的群聊消息摘要,提取并仅返回一个 JSON 对象,包含以下三个数组(均为中文):
273
298
  - topics: 数组,每项 { "topic": "话题关键词", "summary": "简短说明" }
@@ -276,16 +301,20 @@ async function runAnalysis(
276
301
  不要输出除 JSON 以外的内容。`;
277
302
  const answer = await ai.ask(
278
303
  `请分析以下群聊片段并返回 JSON:\n\n${conversation.slice(0, 6000)}`,
279
- { systemPrompt }
304
+ { systemPrompt },
280
305
  );
281
306
  if (answer && answer.trim()) {
282
307
  const llm = parseLLMResponse(answer);
283
- if (llm.topics?.length || llm.quotes?.length || llm.userTitles?.length) {
308
+ if (
309
+ llm.topics?.length ||
310
+ llm.quotes?.length ||
311
+ llm.userTitles?.length
312
+ ) {
284
313
  textReport = appendLLMReport(textReport, llm);
285
314
  }
286
315
  }
287
316
  } catch (e) {
288
- logger.debug("[group-daily-analysis] LLM 分析跳过", (e as Error)?.message);
317
+ logger.debug("[LLM 分析跳过", (e as Error)?.message);
289
318
  }
290
319
  }
291
320
 
@@ -302,18 +331,21 @@ addCommand(
302
331
  if (!ch || ch.channelType !== "group") {
303
332
  return "请在群聊中使用本命令。";
304
333
  }
305
- const days = Math.min(30, Math.max(1, Number(result.params?.天数) || config.analysisDays));
334
+ const days = Math.min(
335
+ 30,
336
+ Math.max(1, Number(result.params?.天数) || config.analysisDays),
337
+ );
306
338
  const channelName = (message?.$channel as { name?: string })?.name || "";
307
339
  const report = await runAnalysis(
308
340
  ch.channelId,
309
341
  channelName,
310
342
  ch.adapter || "",
311
343
  ch.botId || "",
312
- days
344
+ days,
313
345
  );
314
346
  if (typeof report === "string") return report;
315
347
  if (config.outputFormat === "image") {
316
- const renderer = root.inject("html-renderer")
348
+ const renderer = root.inject("html-renderer");
317
349
  if (renderer) {
318
350
  try {
319
351
  const escaped = report.textReport
@@ -325,14 +357,19 @@ addCommand(
325
357
  const resultImg = await renderer.render(html);
326
358
  const base64 = (resultImg.data as Buffer).toString("base64");
327
359
  const dataUrl = `base64://${base64}`;
328
- return [segment("image", { url: dataUrl,name: "group-daily-analysis.png" })];
360
+ return [
361
+ segment("image", {
362
+ url: dataUrl,
363
+ name: "group-daily-analysis.png",
364
+ }),
365
+ ];
329
366
  } catch (e) {
330
- logger.debug("[group-daily-analysis] 图片渲染失败,回退文本", (e as Error)?.message);
367
+ logger.debug("图片渲染失败,回退文本", (e as Error)?.message);
331
368
  }
332
369
  }
333
370
  }
334
371
  return report.textReport;
335
- })
372
+ }),
336
373
  );
337
374
 
338
375
  // ─── 命令:分析设置 ───────────────────────────────────────────────────────────
@@ -349,19 +386,35 @@ addCommand(
349
386
  const adapter = ch.adapter || "";
350
387
  const botId = ch.botId || "";
351
388
  if (op === "enable") {
352
- await setAnalysisEnabledForChannel(ch.channelId, ch.channelType, adapter, botId, true);
389
+ await setAnalysisEnabledForChannel(
390
+ ch.channelId,
391
+ ch.channelType,
392
+ adapter,
393
+ botId,
394
+ true,
395
+ );
353
396
  return "已为本群启用日常分析。";
354
397
  }
355
398
  if (op === "disable") {
356
- await setAnalysisEnabledForChannel(ch.channelId, ch.channelType, adapter, botId, false);
399
+ await setAnalysisEnabledForChannel(
400
+ ch.channelId,
401
+ ch.channelType,
402
+ adapter,
403
+ botId,
404
+ false,
405
+ );
357
406
  return "已为本群关闭日常分析。";
358
407
  }
359
408
  if (op === "status") {
360
- const enabled = await isAnalysisEnabledForChannel(ch.channelId, ch.channelType, adapter);
409
+ const enabled = await isAnalysisEnabledForChannel(
410
+ ch.channelId,
411
+ ch.channelType,
412
+ adapter,
413
+ );
361
414
  return `本群日常分析:${enabled ? "已启用" : "已关闭"}`;
362
415
  }
363
416
  return "用法:分析设置 enable | disable | status";
364
- })
417
+ }),
365
418
  );
366
419
 
367
420
  // ─── 定时任务(可选)───────────────────────────────────────────────────────────
@@ -376,28 +429,49 @@ useContext("database", () => {
376
429
  new Cron(config.autoAnalysisCron, async () => {
377
430
  const inject = root.inject?.bind(root) as (key: string) => any;
378
431
  if (typeof inject !== "function") return;
379
- const targets: { channelId: string; adapter: string; botId: string }[] = [];
432
+ const targets: { channelId: string; adapter: string; botId: string }[] =
433
+ [];
380
434
  const Settings = getSettingsModel();
381
435
  if (Settings) {
382
- const rows: any[] = await Settings.select().where({ channel_type: "group", enabled: 1 });
436
+ const rows: any[] = await Settings.select().where({
437
+ channel_type: "group",
438
+ enabled: 1,
439
+ });
383
440
  for (const r of rows) {
384
- if (r.channel_id && r.adapter) targets.push({
385
- channelId: String(r.channel_id),
386
- adapter: String(r.adapter),
387
- botId: String(r.bot_id || ""),
388
- });
441
+ if (r.channel_id && r.adapter)
442
+ targets.push({
443
+ channelId: String(r.channel_id),
444
+ adapter: String(r.adapter),
445
+ botId: String(r.bot_id || ""),
446
+ });
389
447
  }
390
448
  }
391
449
  for (const gid of config.enabledGroups) {
392
450
  if (targets.some((t) => t.channelId === gid)) continue;
393
451
  const adapters = (root as any).adapters as string[] | undefined;
394
- const adapterName = Array.isArray(adapters) && adapters[0] ? adapters[0] : "";
395
- if (adapterName) targets.push({ channelId: String(gid), adapter: adapterName, botId: "" });
452
+ const adapterName =
453
+ Array.isArray(adapters) && adapters[0] ? adapters[0] : "";
454
+ if (adapterName)
455
+ targets.push({
456
+ channelId: String(gid),
457
+ adapter: adapterName,
458
+ botId: "",
459
+ });
396
460
  }
397
461
  for (const t of targets) {
398
- if (config.disabledGroups.length && isGroupInList(t.channelId, config.disabledGroups)) continue;
462
+ if (
463
+ config.disabledGroups.length &&
464
+ isGroupInList(t.channelId, config.disabledGroups)
465
+ )
466
+ continue;
399
467
  try {
400
- const report = await runAnalysis(t.channelId, "", t.adapter, t.botId, config.analysisDays);
468
+ const report = await runAnalysis(
469
+ t.channelId,
470
+ "",
471
+ t.adapter,
472
+ t.botId,
473
+ config.analysisDays,
474
+ );
401
475
  if (typeof report === "string") continue;
402
476
  const adapter = inject(t.adapter);
403
477
  if (adapter?.sendMessage) {
@@ -406,23 +480,24 @@ useContext("database", () => {
406
480
  const first = adapter.bots.values().next().value;
407
481
  botId = first?.$id ?? first?.selfId ?? "";
408
482
  }
409
- await adapter.sendMessage({
410
- context: t.adapter,
411
- bot: botId,
412
- type: "group",
413
- id: t.channelId,
414
- content: report.textReport,
415
- }).catch(() => {});
483
+ await adapter
484
+ .sendMessage({
485
+ context: t.adapter,
486
+ bot: botId,
487
+ type: "group",
488
+ id: t.channelId,
489
+ content: report.textReport,
490
+ })
491
+ .catch(() => {});
416
492
  }
417
493
  } catch (e) {
418
- logger.warn("[group-daily-analysis] 定时分析发送失败", t.channelId, (e as Error)?.message);
494
+ logger.warn("定时分析发送失败", t.channelId, (e as Error)?.message);
419
495
  }
420
496
  }
421
- })
497
+ }),
422
498
  );
423
- logger.info("[group-daily-analysis] 定时分析已注册: " + config.autoAnalysisCron);
424
499
  } catch (e) {
425
- logger.warn("[group-daily-analysis] 注册定时任务失败", (e as Error)?.message);
500
+ logger.warn("注册定时任务失败", (e as Error)?.message);
426
501
  }
427
502
  });
428
503
 
@@ -432,7 +507,3 @@ onDispose(() => {
432
507
  cronDispose = null;
433
508
  }
434
509
  });
435
-
436
- logger.info(
437
- `[group-daily-analysis] 已加载 (分析天数=${config.analysisDays}, 定时=${config.autoAnalysisEnabled ? config.autoAnalysisCron : "关"})`
438
- );