koishi-plugin-comic 1.0.3 → 1.0.4

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.d.ts CHANGED
@@ -1,22 +1,60 @@
1
1
  import { Context, Schema } from 'koishi';
2
- export declare const inject: string[];
3
- export declare const usage = "\n<h2>\u805A\u5408\u6F2B\u753B\u641C\u7D22\u4E0E\u4E0B\u8F7D\u63D2\u4EF6</h2>\n<p>\u4F7F\u7528\u524D\u8BF7\u5148\u90E8\u7F72 <a href=\"https://github.com/lumia1998/comic-api\">comic-api</a> \u540E\u7AEF\u670D\u52A1</p>\n<p>\u652F\u6301\u7981\u6F2B\u5929\u5802(JM)\u548C\u54D4\u5494\u6F2B\u753B(Bika)\u53CC\u5E73\u53F0\u805A\u5408\u641C\u7D22</p>\n<h3>\u547D\u4EE4\u5217\u8868</h3>\n<ul>\n <li><code>comic [\u5173\u952E\u8BCD]</code> - \u805A\u5408\u641C\u7D22/\u76F4\u63A5\u4E0B\u8F7D\u6F2B\u753B</li>\n <li><code>comic search &lt;\u5173\u952E\u8BCD&gt;</code> - \u805A\u5408\u641C\u7D22\u6F2B\u753B</li>\n <li><code>comic download &lt;ID&gt; [\u7AE0\u8282ID]</code> - \u4E0B\u8F7D\u6F2B\u753BPDF</li>\n <li><code>comic detail &lt;ID&gt;</code> - \u67E5\u770B\u6F2B\u753B\u8BE6\u60C5</li>\n <li><code>comic leaderboard [\u7C7B\u578B]</code> - \u6392\u884C\u699C</li>\n <li><code>comic category &lt;\u5206\u7C7B\u540D&gt;</code> - \u5206\u7C7B\u6D4F\u89C8</li>\n <li><code>comic latest</code> - \u6700\u8FD1\u66F4\u65B0</li>\n <li><code>comic random</code> - \u968F\u673A\u63A8\u8350</li>\n</ul>\n";
2
+ declare module 'koishi' {
3
+ interface Context {
4
+ chatluna?: {
5
+ platform: {
6
+ registerTool(name: string, options: any): void;
7
+ };
8
+ };
9
+ }
10
+ }
11
+ export declare const inject: {
12
+ required: string[];
13
+ optional: string[];
14
+ };
15
+ export declare const usage = "\n<h2>\u805A\u5408\u6F2B\u753B\u641C\u7D22\u4E0E\u4E0B\u8F7D\u63D2\u4EF6</h2>\n<p>\u4F7F\u7528\u524D\u8BF7\u5148\u90E8\u7F72 <a href=\"https://github.com/lumia1998/comic-api\">comic-api</a> \u540E\u7AEF\u670D\u52A1</p>\n<p>\u652F\u6301\u7981\u6F2B\u5929\u5802(JM)\u548C\u54D4\u5494\u6F2B\u753B(Bika)\u53CC\u5E73\u53F0\u805A\u5408\u641C\u7D22</p>\n<h3>\u547D\u4EE4\u5217\u8868</h3>\n<ul>\n <li><code>comic [\u5173\u952E\u8BCD]</code> - \u805A\u5408\u641C\u7D22/\u76F4\u63A5\u4E0B\u8F7D\u6F2B\u753B</li>\n <li><code>comic search &lt;\u5173\u952E\u8BCD&gt;</code> - \u805A\u5408\u641C\u7D22\u6F2B\u753B</li>\n <li><code>comic download &lt;ID&gt; [\u7AE0\u8282ID]</code> - \u4E0B\u8F7D\u6F2B\u753BPDF</li>\n <li><code>comic detail &lt;\u5173\u952E\u8BCD/ID&gt;</code> - \u67E5\u770B\u6F2B\u753B\u8BE6\u60C5</li>\n <li><code>comic leaderboard [\u7C7B\u578B]</code> - \u6392\u884C\u699C</li>\n <li><code>comic latest</code> - \u6700\u8FD1\u66F4\u65B0</li>\n <li><code>comic random</code> - \u968F\u673A\u63A8\u8350</li>\n</ul>\n";
4
16
  export interface Config {
5
17
  apiBase: string;
18
+ defaultSource: 'jm' | 'bika';
6
19
  concurrency: number;
7
20
  logInfo: boolean;
8
21
  pdfPassword?: string;
22
+ tool: {
23
+ enabled: boolean;
24
+ name: string;
25
+ description: string;
26
+ };
9
27
  }
10
28
  export declare const Config: Schema<Schemastery.ObjectS<{
11
29
  apiBase: Schema<string, string>;
30
+ defaultSource: Schema<"jm" | "bika", "jm" | "bika">;
12
31
  concurrency: Schema<number, number>;
13
32
  logInfo: Schema<boolean, boolean>;
14
33
  pdfPassword: Schema<string, string>;
34
+ tool: Schema<Schemastery.ObjectS<{
35
+ enabled: Schema<boolean, boolean>;
36
+ name: Schema<string, string>;
37
+ description: Schema<string, string>;
38
+ }>, Schemastery.ObjectT<{
39
+ enabled: Schema<boolean, boolean>;
40
+ name: Schema<string, string>;
41
+ description: Schema<string, string>;
42
+ }>>;
15
43
  }>, Schemastery.ObjectT<{
16
44
  apiBase: Schema<string, string>;
45
+ defaultSource: Schema<"jm" | "bika", "jm" | "bika">;
17
46
  concurrency: Schema<number, number>;
18
47
  logInfo: Schema<boolean, boolean>;
19
48
  pdfPassword: Schema<string, string>;
49
+ tool: Schema<Schemastery.ObjectS<{
50
+ enabled: Schema<boolean, boolean>;
51
+ name: Schema<string, string>;
52
+ description: Schema<string, string>;
53
+ }>, Schemastery.ObjectT<{
54
+ enabled: Schema<boolean, boolean>;
55
+ name: Schema<string, string>;
56
+ description: Schema<string, string>;
57
+ }>>;
20
58
  }>>;
21
59
  export declare function apply(ctx: Context, config: Config): void;
22
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAA;AAOpD,eAAO,MAAM,MAAM,UAAW,CAAA;AAE9B,eAAO,MAAM,KAAK,qlCAejB,CAAA;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,MAAM;;;;;;;;;;GAYjB,CAAA;AAsEF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAibjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAA;AASpD,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,OAAO;QACf,QAAQ,CAAC,EAAE;YACT,QAAQ,EAAE;gBACR,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAA;aAC/C,CAAA;SACF,CAAA;KACF;CACF;AAED,eAAO,MAAM,MAAM;;;CAGlB,CAAA;AAED,eAAO,MAAM,KAAK,0gCAcjB,CAAA;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,IAAI,GAAG,MAAM,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsBjB,CAAA;AAsEF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAqhBjD"}
package/lib/index.js CHANGED
@@ -41,7 +41,12 @@ const path = __importStar(require("path"));
41
41
  const os = __importStar(require("os"));
42
42
  const url_1 = require("url");
43
43
  const crypto_1 = require("crypto");
44
- exports.inject = ['http'];
44
+ const tools_1 = require("@langchain/core/tools");
45
+ const zod_1 = require("zod");
46
+ exports.inject = {
47
+ required: ['http'],
48
+ optional: ['chatluna'],
49
+ };
45
50
  exports.usage = `
46
51
  <h2>聚合漫画搜索与下载插件</h2>
47
52
  <p>使用前请先部署 <a href="https://github.com/lumia1998/comic-api">comic-api</a> 后端服务</p>
@@ -51,9 +56,8 @@ exports.usage = `
51
56
  <li><code>comic [关键词]</code> - 聚合搜索/直接下载漫画</li>
52
57
  <li><code>comic search &lt;关键词&gt;</code> - 聚合搜索漫画</li>
53
58
  <li><code>comic download &lt;ID&gt; [章节ID]</code> - 下载漫画PDF</li>
54
- <li><code>comic detail &lt;ID&gt;</code> - 查看漫画详情</li>
59
+ <li><code>comic detail &lt;关键词/ID&gt;</code> - 查看漫画详情</li>
55
60
  <li><code>comic leaderboard [类型]</code> - 排行榜</li>
56
- <li><code>comic category &lt;分类名&gt;</code> - 分类浏览</li>
57
61
  <li><code>comic latest</code> - 最近更新</li>
58
62
  <li><code>comic random</code> - 随机推荐</li>
59
63
  </ul>
@@ -62,6 +66,9 @@ exports.Config = koishi_1.Schema.object({
62
66
  apiBase: koishi_1.Schema.string()
63
67
  .description('comic-api 后端地址')
64
68
  .default('http://127.0.0.1:8699'),
69
+ defaultSource: koishi_1.Schema.union(['jm', 'bika'])
70
+ .description('默认漫画源')
71
+ .default('jm'),
65
72
  concurrency: koishi_1.Schema.number()
66
73
  .description('下载并发数')
67
74
  .default(4),
@@ -70,6 +77,13 @@ exports.Config = koishi_1.Schema.object({
70
77
  .default(false),
71
78
  pdfPassword: koishi_1.Schema.string()
72
79
  .description('PDF 统一加密密码 (留空则使用动态生成的6位密码并自动提示)'),
80
+ tool: koishi_1.Schema.object({
81
+ enabled: koishi_1.Schema.boolean().default(true).description('开启后自动注册 ChatLuna 工具'),
82
+ name: koishi_1.Schema.string().default('comic').description('工具名称'),
83
+ description: koishi_1.Schema.string()
84
+ .default('漫画搜索与下载工具。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。包含动作:search (搜索), detail (查看详情), leaderboard (排行榜), latest (最近更新), random (随机推荐)。提示:如果用户给出的本子名、角色名或关键词模糊、包含缩写或拼写不够精确,或者使用该工具搜索未返回结果,你必须先调用联网搜索工具检索获取该本子的准确正式名称、画师/作者或完整标题,然后再用精准的关键词调用此工具。')
85
+ .description('工具描述'),
86
+ }).description('ChatLuna 工具设置'),
73
87
  });
74
88
  function getPdfPassword(source, comicId, chapterId) {
75
89
  const src = source.trim().toLowerCase();
@@ -100,8 +114,8 @@ function formatComics(comics, sourceLabel = '') {
100
114
  if (!comics || comics.length === 0)
101
115
  return '没有找到相关漫画。';
102
116
  return comics.map((c, i) => {
103
- const src = c.source === 'jm' ? '禁漫' : c.source === 'bika' ? '哔咔' : sourceLabel;
104
- return `${i + 1}. [${src}|${c.id}] ${c.title} 作者:${c.author || '佚名'}`;
117
+ const src = c.source === 'jm' ? '禁漫天堂' : c.source === 'bika' ? '哔咔漫画' : sourceLabel;
118
+ return `${i + 1}. [${src}] ${c.title} 作者:${c.author || '佚名'}`;
105
119
  }).join('\n');
106
120
  }
107
121
  function apply(ctx, config) {
@@ -130,25 +144,87 @@ function apply(ctx, config) {
130
144
  const resolved = determineSource(clean);
131
145
  if (resolved) {
132
146
  if (resolved.source === 'jm' && parseInt(resolved.id, 10) <= 100) {
133
- return session.execute(`comic search ${keyword}`);
147
+ return session.execute(`comic.search ${keyword}`);
134
148
  }
135
- return session.execute(`comic download ${resolved.id}`);
149
+ return session.execute(`comic.download ${resolved.id}`);
136
150
  }
137
151
  // Fallback to search
138
- return session.execute(`comic search ${keyword}`);
152
+ return session.execute(`comic.search ${keyword}`);
139
153
  });
140
- // comic search <keyword>
141
- ctx.command('comic search <keyword:text>', '聚合搜索漫画(禁漫+哔咔)。若漫画名称模糊、拼写错误或搜不到,请先调用联网工具搜索获取其准确别名、正式标题或作者后,再重试搜索。')
154
+ async function fetchAndShowDetail(session, source, id) {
155
+ try {
156
+ await session.send('正在获取详情...');
157
+ const detail = await apiGet(`/api/comic/${source}/${id}`);
158
+ if (!detail?.title)
159
+ return '未找到该漫画';
160
+ const srcLabel = source === 'jm' ? '禁漫天堂' : '哔咔漫画';
161
+ const parts = [
162
+ `📖 ${detail.title}`,
163
+ `来源: ${srcLabel} | ID: ${id}`,
164
+ `作者: ${detail.author || '佚名'}`,
165
+ `简介: ${(detail.description || '无描述').slice(0, 200)}`,
166
+ `章节数: ${detail.chapters?.length || 0}`,
167
+ ];
168
+ if (detail.chapters?.length > 0) {
169
+ const first = detail.chapters[0];
170
+ parts.push(`\n第一话: [${first.id}] ${first.name}`);
171
+ if (detail.chapters.length > 1) {
172
+ parts.push(`共 ${detail.chapters.length} 话,如需下载请使用 comic.download <ID> [章节ID]`);
173
+ }
174
+ }
175
+ return parts.join('\n');
176
+ }
177
+ catch (err) {
178
+ logger.error('获取详情失败:', err.message);
179
+ return `获取详情失败: ${err.message}`;
180
+ }
181
+ }
182
+ // comic.search <keyword>
183
+ ctx.command('comic.search <keyword:text>', '聚合搜索漫画(禁漫+哔咔)。若漫画名称模糊、拼写错误或搜不到,请先调用联网工具搜索获取其准确别名、正式标题或作者后,再重试搜索。')
184
+ .alias('搜漫画')
185
+ .alias('漫画搜索')
142
186
  .action(async ({ session }, keyword) => {
143
187
  if (!keyword)
144
188
  return '请输入搜索关键词';
145
189
  try {
146
- const result = await apiGet('/api/search', { keyword });
190
+ let result;
191
+ const resolved = determineSource(keyword);
192
+ if (resolved) {
193
+ try {
194
+ const detail = await apiGet(`/api/comic/${resolved.source}/${resolved.id}`);
195
+ if (detail?.title) {
196
+ const mockItem = {
197
+ id: resolved.id,
198
+ title: detail.title,
199
+ author: detail.author,
200
+ source: resolved.source,
201
+ cover: detail.cover
202
+ };
203
+ result = {
204
+ keyword,
205
+ best_match: mockItem,
206
+ all_results: {
207
+ jm: resolved.source === 'jm' ? [mockItem] : [],
208
+ bika: resolved.source === 'bika' ? [mockItem] : []
209
+ }
210
+ };
211
+ }
212
+ else {
213
+ result = await apiGet('/api/search', { keyword });
214
+ }
215
+ }
216
+ catch {
217
+ result = await apiGet('/api/search', { keyword });
218
+ }
219
+ }
220
+ else {
221
+ result = await apiGet('/api/search', { keyword });
222
+ }
147
223
  const parts = [];
148
224
  if (result.best_match?.title) {
149
225
  const bm = result.best_match;
150
- const srcLabel = bm.source === 'jm' ? '禁漫' : '哔咔';
151
- parts.push(`🏆 最佳匹配 [${srcLabel}|${bm.id}]:`);
226
+ const srcLabel = bm.source === 'jm' ? '禁漫天堂' : '哔咔漫画';
227
+ parts.push(`🏆 最佳匹配 [${srcLabel}]:`);
152
228
  parts.push(` ${bm.title} 作者:${bm.author || '佚名'}`);
153
229
  parts.push('');
154
230
  }
@@ -157,30 +233,70 @@ function apply(ctx, config) {
157
233
  const all = [];
158
234
  const jmItems = jmList.map(c => ({ ...c, source: 'jm' }));
159
235
  const bikaItems = bikaList.map(c => ({ ...c, source: 'bika' }));
160
- if (jmItems.length > 0 || bikaItems.length > 0) {
161
- parts.push(`共找到 ${jmItems.length + bikaItems.length} 个结果:\n`);
162
- let currentIndex = 1;
163
- if (jmItems.length > 0) {
164
- parts.push('【 禁漫天堂 (JMComic) 】');
165
- for (const item of jmItems) {
166
- all.push(item);
167
- parts.push(` ${currentIndex}. [禁漫|${item.id}] ${item.title} 作者:${item.author || '佚名'}`);
168
- currentIndex++;
236
+ const totalResults = jmItems.length + bikaItems.length;
237
+ if (totalResults > 0) {
238
+ if (totalResults > 5) {
239
+ parts.push(`共找到 ${totalResults} 个结果,已生成合并转发记录:`);
240
+ if (session) {
241
+ await session.send(parts.join('\n'));
242
+ const msgElements = [];
243
+ let currentIndex = 1;
244
+ if (jmItems.length > 0) {
245
+ msgElements.push((0, koishi_1.h)('message', '【 禁漫天堂 (JMComic) 】'));
246
+ for (const item of jmItems) {
247
+ all.push(item);
248
+ msgElements.push((0, koishi_1.h)('message', ` ${currentIndex}. [禁漫天堂] ${item.title} 作者:${item.author || '佚名'}`));
249
+ currentIndex++;
250
+ }
251
+ }
252
+ if (bikaItems.length > 0) {
253
+ msgElements.push((0, koishi_1.h)('message', '【 哔咔漫画 (Bika) 】'));
254
+ for (const item of bikaItems) {
255
+ all.push(item);
256
+ msgElements.push((0, koishi_1.h)('message', ` ${currentIndex}. [哔咔漫画] ${item.title} 作者:${item.author || '佚名'}`));
257
+ currentIndex++;
258
+ }
259
+ }
260
+ msgElements.push((0, koishi_1.h)('message', '💡 请查看上述列表后,在当前会话直接回复序号进行下载,回复其他内容退出。'));
261
+ await session.send((0, koishi_1.h)('message', { forward: true }, msgElements));
262
+ }
263
+ else {
264
+ parts.push(formatComics(jmItems, '禁漫天堂'));
265
+ parts.push('');
266
+ parts.push(formatComics(bikaItems, '哔咔漫画'));
267
+ return parts.join('\n');
169
268
  }
170
- parts.push('');
171
269
  }
172
- if (bikaItems.length > 0) {
173
- parts.push('【 哔咔漫画 (Bika) 】');
174
- for (const item of bikaItems) {
175
- all.push(item);
176
- parts.push(` ${currentIndex}. [哔咔|${item.id}] ${item.title} 作者:${item.author || '佚名'}`);
177
- currentIndex++;
270
+ else {
271
+ parts.push(`共找到 ${totalResults} 个结果:\n`);
272
+ let currentIndex = 1;
273
+ if (jmItems.length > 0) {
274
+ parts.push('【 禁漫天堂 (JMComic) ');
275
+ for (const item of jmItems) {
276
+ all.push(item);
277
+ parts.push(` ${currentIndex}. [禁漫天堂] ${item.title} 作者:${item.author || '佚名'}`);
278
+ currentIndex++;
279
+ }
280
+ parts.push('');
281
+ }
282
+ if (bikaItems.length > 0) {
283
+ parts.push('【 哔咔漫画 (Bika) 】');
284
+ for (const item of bikaItems) {
285
+ all.push(item);
286
+ parts.push(` ${currentIndex}. [哔咔漫画] ${item.title} 作者:${item.author || '佚名'}`);
287
+ currentIndex++;
288
+ }
289
+ parts.push('');
290
+ }
291
+ parts.push('输入序号(例如:1)或「源|ID」(例如:禁漫天堂|12345)进行下载');
292
+ if (session) {
293
+ await session.send(parts.join('\n'));
294
+ }
295
+ else {
296
+ return parts.join('\n');
178
297
  }
179
- parts.push('');
180
298
  }
181
- parts.push('输入序号(例如:1)或「源|ID」(例如:禁漫|12345)进行下载');
182
299
  if (session) {
183
- await session.send(parts.join('\n'));
184
300
  const answer = await session.prompt(30000);
185
301
  if (!answer)
186
302
  return;
@@ -192,7 +308,7 @@ function apply(ctx, config) {
192
308
  targetId = selected.id;
193
309
  }
194
310
  else {
195
- const match = cleanAnswer.match(/^(?:禁漫|哔咔|jm|bika)[||](.+)$/i);
311
+ const match = cleanAnswer.match(/^(?:禁漫天堂|哔咔漫画|禁漫|哔咔|jm|bika)[||](.+)$/i);
196
312
  if (match) {
197
313
  targetId = match[1].trim();
198
314
  }
@@ -201,13 +317,10 @@ function apply(ctx, config) {
201
317
  }
202
318
  }
203
319
  if (targetId) {
204
- return session.execute(`comic download ${targetId}`);
320
+ return session.execute(`comic.download ${targetId}`);
205
321
  }
206
322
  return;
207
323
  }
208
- else {
209
- return parts.join('\n');
210
- }
211
324
  }
212
325
  else {
213
326
  return '没有找到任何结果';
@@ -218,8 +331,11 @@ function apply(ctx, config) {
218
331
  return `搜索失败: ${err.message}`;
219
332
  }
220
333
  });
221
- // comic download <id> [chapterId]
222
- ctx.command('comic download <id:string> [chapterId:string]', '下载漫画PDF。可接受漫画ID或本子名字。提示:若名字不准确、带有缩写或搜不到,可先调用联网工具搜索获取准确本子名、角色或关联画师,再进行下载。')
334
+ // comic.download <id> [chapterId]
335
+ ctx.command('comic.download <id:string> [chapterId:string]', '下载漫画PDF。可接受漫画ID或本子名字。提示:若名字不准确、带有缩写或搜不到,可先调用联网工具搜索获取准确本子名、角色或关联画师,再进行下载。')
336
+ .alias('下载漫画')
337
+ .alias('漫画下载')
338
+ .alias('comic dl')
223
339
  .action(async ({ session }, id, chapterId) => {
224
340
  if (!id)
225
341
  return '用法: comic download <ID> [章节ID]';
@@ -310,44 +426,77 @@ function apply(ctx, config) {
310
426
  return `下载失败: ${err.message}`;
311
427
  }
312
428
  });
313
- // comic detail <id>
314
- ctx.command('comic detail <id:string>', '查看漫画详情和章节列表')
315
- .action(async ({ session }, id) => {
316
- if (!id)
317
- return '用法: comic detail <ID>';
318
- const resolved = determineSource(id);
319
- if (!resolved) {
320
- return '无效的 ID 格式。禁漫 ID 应为纯数字,哔咔 ID 应为 24 位十六进制字符。';
429
+ // comic.detail <query>
430
+ ctx.command('comic.detail <query:text>', '查看漫画详情和章节列表(支持关键词搜索或 ID 直接查询)')
431
+ .alias('漫画详情')
432
+ .action(async ({ session }, query) => {
433
+ if (!query)
434
+ return '用法: comic detail <关键词> 或 comic detail <ID>';
435
+ if (!session)
436
+ return '此命令仅支持在会话中使用';
437
+ const resolved = determineSource(query);
438
+ if (resolved) {
439
+ return fetchAndShowDetail(session, resolved.source, resolved.id);
321
440
  }
322
- const { source, id: targetId } = resolved;
323
441
  try {
324
- const detail = await apiGet(`/api/comic/${source}/${targetId}`);
325
- if (!detail?.title)
326
- return '未找到该漫画';
327
- const srcLabel = source === 'jm' ? '禁漫' : '哔咔';
328
- const parts = [
329
- `📖 ${detail.title}`,
330
- `来源: ${srcLabel} | ID: ${id}`,
331
- `作者: ${detail.author || '佚名'}`,
332
- `简介: ${(detail.description || '无描述').slice(0, 200)}`,
333
- `章节数: ${detail.chapters?.length || 0}`,
442
+ const result = await apiGet('/api/search', { keyword: query });
443
+ const jmList = result.all_results?.jm || [];
444
+ const bikaList = result.all_results?.bika || [];
445
+ const all = [
446
+ ...jmList.map(c => ({ ...c, source: 'jm' })),
447
+ ...bikaList.map(c => ({ ...c, source: 'bika' })),
334
448
  ];
335
- if (detail.chapters?.length > 0) {
336
- const first = detail.chapters[0];
337
- parts.push(`\n第一话: [${first.id}] ${first.name}`);
338
- if (detail.chapters.length > 1) {
339
- parts.push(`共 ${detail.chapters.length} 话,如需下载请使用 comic download <ID> [章节ID]`);
340
- }
449
+ if (all.length === 0) {
450
+ return `没有找到关于「${query}」的漫画。`;
451
+ }
452
+ if (all.length === 1) {
453
+ const chosen = all[0];
454
+ return fetchAndShowDetail(session, chosen.source, chosen.id);
455
+ }
456
+ const parts = [];
457
+ if (result.best_match?.title) {
458
+ const bm = result.best_match;
459
+ const srcLabel = bm.source === 'jm' ? '禁漫天堂' : '哔咔漫画';
460
+ parts.push(`🏆 最佳匹配 [${srcLabel}]: ${bm.title}`);
461
+ parts.push('');
462
+ }
463
+ if (all.length > 5) {
464
+ parts.push(`找到 ${all.length} 个结果,已生成合并转发记录:`);
465
+ await session.send(parts.join('\n'));
466
+ const msgElements = all.map((c, i) => {
467
+ const src = c.source === 'jm' ? '禁漫天堂' : '哔咔漫画';
468
+ return (0, koishi_1.h)('message', `${i + 1}. [${src}] ${c.title} 作者:${c.author || '佚名'}`);
469
+ });
470
+ msgElements.push((0, koishi_1.h)('message', `💡 请回复序号(1-${all.length})查看详情,或回复其他任意内容退出。`));
471
+ await session.send((0, koishi_1.h)('message', { forward: true }, msgElements));
472
+ }
473
+ else {
474
+ parts.push(`找到以下多个结果,请回复序号(1-${all.length})查看详情,或回复其他任意内容退出:`);
475
+ parts.push(formatComics(all));
476
+ await session.send(parts.join('\n'));
477
+ }
478
+ const answer = await session.prompt(30000);
479
+ if (!answer)
480
+ return;
481
+ const trimmed = answer.trim();
482
+ const index = parseInt(trimmed, 10);
483
+ if (!isNaN(index) && index >= 1 && index <= all.length) {
484
+ const chosen = all[index - 1];
485
+ return fetchAndShowDetail(session, chosen.source, chosen.id);
486
+ }
487
+ else {
488
+ return '输入无效,已退出。';
341
489
  }
342
- return parts.join('\n');
343
490
  }
344
491
  catch (err) {
345
- logger.error('获取详情失败:', err.message);
346
- return `获取详情失败: ${err.message}`;
492
+ logger.error('详情搜索失败:', err.message);
493
+ return `查询失败: ${err.message}`;
347
494
  }
348
495
  });
349
- // comic leaderboard [mode]
350
- ctx.command('comic leaderboard [mode:string]', '查看排行榜')
496
+ // comic.leaderboard [mode]
497
+ ctx.command('comic.leaderboard [mode:string]', '查看排行榜')
498
+ .alias('漫画榜单')
499
+ .alias('漫画排行')
351
500
  .action(async ({ session }, mode) => {
352
501
  const targetMode = (mode || 'day').toLowerCase();
353
502
  if (!['day', 'week', 'month', 'total'].includes(targetMode)) {
@@ -360,27 +509,27 @@ function apply(ctx, config) {
360
509
  ]);
361
510
  const modeMap = { day: '日榜', week: '周榜', month: '月榜', total: '总榜' };
362
511
  const parts = [];
512
+ const formatLeaderboard = (comics) => {
513
+ if (!comics || comics.length === 0)
514
+ return '暂无数据或获取失败';
515
+ return comics.map((c, i) => {
516
+ return `${i + 1}. ${c.title} 作者:${c.author || '佚名'} (ID: ${c.id})`;
517
+ }).join('\n');
518
+ };
519
+ parts.push(`【 禁漫天堂 (JMComic) ${modeMap[targetMode]} 】`);
363
520
  if (jmResult && jmResult.success !== false && jmResult.data?.length) {
364
- const comics = jmResult.data.map(c => ({ ...c, source: 'jm' }));
365
- parts.push(`【 禁漫天堂 (JMComic) ${modeMap[targetMode]} 】`);
366
- parts.push(formatComics(comics, '禁漫'));
367
- parts.push('');
521
+ parts.push(formatLeaderboard(jmResult.data));
368
522
  }
369
523
  else {
370
- parts.push(`【 禁漫天堂 (JMComic) ${modeMap[targetMode]} 】`);
371
524
  parts.push('暂无数据或获取失败');
372
- parts.push('');
373
525
  }
526
+ parts.push('');
527
+ parts.push(`【 哔咔漫画 (Bika) ${modeMap[targetMode]} 】`);
374
528
  if (bikaResult && bikaResult.success !== false && bikaResult.data?.length) {
375
- const comics = bikaResult.data.map(c => ({ ...c, source: 'bika' }));
376
- parts.push(`【 哔咔漫画 (Bika) ${modeMap[targetMode]} 】`);
377
- parts.push(formatComics(comics, '哔咔'));
378
- parts.push('');
529
+ parts.push(formatLeaderboard(bikaResult.data));
379
530
  }
380
531
  else {
381
- parts.push(`【 哔咔漫画 (Bika) ${modeMap[targetMode]} 】`);
382
532
  parts.push('暂无数据或获取失败');
383
- parts.push('');
384
533
  }
385
534
  return parts.join('\n');
386
535
  }
@@ -389,118 +538,202 @@ function apply(ctx, config) {
389
538
  return `获取排行榜失败: ${err.message}`;
390
539
  }
391
540
  });
392
- // comic category <name>
393
- ctx.command('comic category <name:string>', '按分类浏览漫画')
394
- .action(async ({ session }, name) => {
395
- if (!name)
396
- return '用法: comic category <分类名>';
397
- try {
398
- const [jmResult, bikaResult] = await Promise.all([
399
- apiGet('/api/jm/category', { name }).catch(() => null),
400
- apiGet('/api/bika/category', { name }).catch(() => null),
401
- ]);
402
- const parts = [];
403
- let hasResults = false;
404
- if (jmResult && jmResult.success !== false && jmResult.data?.length) {
405
- const comics = jmResult.data.map(c => ({ ...c, source: 'jm' }));
406
- parts.push(`【 禁漫天堂 (JMComic) 分类「${name}」 】`);
407
- parts.push(formatComics(comics, '禁漫'));
408
- parts.push('');
409
- hasResults = true;
410
- }
411
- if (bikaResult && bikaResult.success !== false && bikaResult.data?.length) {
412
- const comics = bikaResult.data.map(c => ({ ...c, source: 'bika' }));
413
- parts.push(`【 哔咔漫画 (Bika) 分类「${name}」 】`);
414
- parts.push(formatComics(comics, '哔咔'));
415
- parts.push('');
416
- hasResults = true;
417
- }
418
- if (!hasResults) {
419
- return `两平台分类「${name}」均暂无数据或获取失败`;
420
- }
421
- return parts.join('\n');
422
- }
423
- catch (err) {
424
- logger.error('获取分类失败:', err.message);
425
- return `获取分类失败: ${err.message}`;
426
- }
427
- });
428
- // comic latest
429
- ctx.command('comic latest', '查看最近更新')
541
+ // comic.latest
542
+ ctx.command('comic.latest', '查看最近更新')
543
+ .alias('最新漫画')
544
+ .alias('漫画更新')
430
545
  .action(async ({ session }) => {
546
+ if (!session)
547
+ return '此命令仅支持在会话中使用';
431
548
  try {
432
549
  const [jmResult, bikaResult] = await Promise.all([
433
550
  apiGet('/api/jm/latest').catch(() => null),
434
551
  apiGet('/api/bika/latest').catch(() => null),
435
552
  ]);
436
- const parts = [];
437
- if (jmResult && jmResult.success !== false && jmResult.data?.length) {
438
- const comics = jmResult.data.map(c => ({ ...c, source: 'jm' }));
439
- parts.push('【 禁漫天堂 (JMComic) 最近更新 】');
440
- parts.push(formatComics(comics, '禁漫'));
441
- parts.push('');
442
- }
443
- else {
444
- parts.push('【 禁漫天堂 (JMComic) 最近更新 ');
445
- parts.push('暂无数据或获取失败');
446
- parts.push('');
447
- }
448
- if (bikaResult && bikaResult.success !== false && bikaResult.data?.length) {
449
- const comics = bikaResult.data.map(c => ({ ...c, source: 'bika' }));
450
- parts.push(' 哔咔漫画 (Bika) 最近更新 】');
451
- parts.push(formatComics(comics, '哔咔'));
452
- parts.push('');
453
- }
454
- else {
455
- parts.push('【 哔咔漫画 (Bika) 最近更新 】');
456
- parts.push('暂无数据或获取失败');
457
- parts.push('');
458
- }
459
- return parts.join('\n');
553
+ const formatLatest = (comics) => {
554
+ if (!comics || comics.length === 0)
555
+ return '暂无数据或获取失败';
556
+ const list = comics.slice(0, 20);
557
+ return list.map((c, i) => {
558
+ return `${i + 1}. ${c.title} 作者:${c.author || '佚名'} (ID: ${c.id})`;
559
+ }).join('\n');
560
+ };
561
+ const jmText = `【 禁漫天堂 (JMComic) 最近更新 】\n` + (jmResult && jmResult.success !== false && jmResult.data?.length ? formatLatest(jmResult.data) : '暂无数据或获取失败');
562
+ const bikaText = `【 哔咔漫画 (Bika) 最近更新 】\n` + (bikaResult && bikaResult.success !== false && bikaResult.data?.length ? formatLatest(bikaResult.data) : '暂无数据或获取失败');
563
+ const msgElements = [
564
+ (0, koishi_1.h)('message', jmText),
565
+ (0, koishi_1.h)('message', bikaText)
566
+ ];
567
+ await session.send((0, koishi_1.h)('message', { forward: true }, msgElements));
568
+ return;
460
569
  }
461
570
  catch (err) {
462
571
  logger.error('获取最近更新失败:', err.message);
463
572
  return `获取最近更新失败: ${err.message}`;
464
573
  }
465
574
  });
466
- // comic random
467
- ctx.command('comic random', '随机推荐漫画')
575
+ // comic.random
576
+ ctx.command('comic.random', '随机推荐漫画')
577
+ .alias('随机漫画')
468
578
  .action(async ({ session }) => {
579
+ const source = Math.random() < 0.5 ? 'jm' : 'bika';
469
580
  try {
470
- const [jmResult, bikaResult] = await Promise.all([
471
- apiGet('/api/jm/random').catch(() => null),
472
- apiGet('/api/bika/random').catch(() => null),
473
- ]);
474
- const parts = [];
475
- if (jmResult && jmResult.success !== false && jmResult.data?.length) {
476
- const comics = jmResult.data;
477
- const comic = comics[Math.floor(Math.random() * comics.length)];
581
+ const result = await apiGet(`/api/${source}/random`);
582
+ const srcLabel = source === 'jm' ? '禁漫天堂' : '哔咔漫画';
583
+ if (result && result.success !== false && result.data?.length) {
584
+ const comic = result.data[Math.floor(Math.random() * result.data.length)];
478
585
  if (comic?.title) {
479
- const item = { ...comic, source: 'jm' };
480
- parts.push('【 禁漫天堂 (JMComic) 随机推荐 】');
481
- parts.push(formatComics([item], '禁漫'));
482
- parts.push('');
586
+ return `🎲 随机推荐 [${srcLabel}]\n书名: ${comic.title}\n作者: ${comic.author || '佚名'}\nID: ${comic.id}\n(如需下载,请输入 comic.download ${comic.id})`;
483
587
  }
484
588
  }
485
- if (bikaResult && bikaResult.success !== false && bikaResult.data?.length) {
486
- const comics = bikaResult.data;
487
- const comic = comics[Math.floor(Math.random() * comics.length)];
488
- if (comic?.title) {
489
- const item = { ...comic, source: 'bika' };
490
- parts.push('【 哔咔漫画 (Bika) 随机推荐 】');
491
- parts.push(formatComics([item], '哔咔'));
492
- parts.push('');
493
- }
589
+ return `${srcLabel} 随机推荐暂无数据`;
590
+ }
591
+ catch (err) {
592
+ const srcLabel = source === 'jm' ? '禁漫天堂' : '哔咔漫画';
593
+ logger.error(`获取${srcLabel}随机推荐失败:`, err.message);
594
+ return `获取随机推荐失败: ${err.message}`;
595
+ }
596
+ });
597
+ // ========== ChatLuna 工具注册 ==========
598
+ ctx.on('ready', async () => {
599
+ if (!config.tool.enabled)
600
+ return;
601
+ if (!ctx.chatluna) {
602
+ logger.info('chatluna 未安装,跳过注册 ChatLuna 工具');
603
+ return;
604
+ }
605
+ const toolName = (config.tool.name || 'comic').trim() || 'comic';
606
+ ctx.chatluna.platform.registerTool(toolName, {
607
+ description: config.tool.description || '漫画搜索与下载工具',
608
+ selector() {
609
+ return true;
610
+ },
611
+ createTool() {
612
+ return createComicTool(ctx, config);
613
+ },
614
+ meta: {
615
+ source: 'extension',
616
+ group: 'comic',
617
+ tags: ['comic', 'manga', 'jmcomic', 'bika'],
618
+ defaultAvailability: {
619
+ enabled: true,
620
+ main: true,
621
+ chatluna: true,
622
+ characterScope: 'all',
623
+ },
624
+ },
625
+ });
626
+ logger.info(`ChatLuna 工具「${toolName}」已注册`);
627
+ });
628
+ }
629
+ const comicToolSchema = zod_1.z.object({
630
+ action: zod_1.z.enum(['search', 'detail', 'leaderboard', 'latest', 'random'])
631
+ .describe('操作类型:search=搜索, detail=详情, leaderboard=排行榜, latest=最近更新, random=随机推荐'),
632
+ keyword: zod_1.z.string().optional()
633
+ .describe('搜索关键词(action=search 时必填)'),
634
+ source: zod_1.z.enum(['jm', 'bika']).optional()
635
+ .describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。不填则根据需要自动检测或使用默认源'),
636
+ comic_id: zod_1.z.string().optional()
637
+ .describe('漫画ID(action=detail 时必填)'),
638
+ mode: zod_1.z.enum(['day', 'week', 'month', 'total']).optional()
639
+ .describe('排行榜时间维度(action=leaderboard 时使用):day=日榜, week=周榜, month=月榜, total=总榜'),
640
+ page: zod_1.z.number().int().min(1).optional()
641
+ .describe('页码,默认1'),
642
+ });
643
+ function createComicTool(ctx, cfg) {
644
+ const description = (cfg.tool.description || '').trim() || '漫画搜索与下载工具。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。包含动作:search (搜索), detail (查看详情), leaderboard (排行榜), latest (最近更新), random (随机推荐)。提示:如果用户给出的本子名、角色名或关键词模糊、包含缩写或拼写不够精确,或者使用该工具搜索未返回结果,你必须先调用联网搜索工具检索获取该本子的准确正式名称、画师/作者或完整标题,然后再用精准的关键词调用此工具。';
645
+ const name = (cfg.tool.name || 'comic').trim() || 'comic';
646
+ return (0, tools_1.tool)(async (input) => {
647
+ const logger = ctx.logger('comic');
648
+ const source = input.source || cfg.defaultSource || 'jm';
649
+ const apiBase = cfg.apiBase.replace(/\/+$/, '');
650
+ const apiGet = async (path, params) => {
651
+ let url = apiBase + path;
652
+ if (params) {
653
+ const qs = new URLSearchParams(params).toString();
654
+ if (qs)
655
+ url += '?' + qs;
494
656
  }
495
- if (parts.length === 0) {
496
- return '两平台随机推荐均暂无数据或获取失败';
657
+ return ctx.http.get(url);
658
+ };
659
+ try {
660
+ switch (input.action) {
661
+ case 'search': {
662
+ if (!input.keyword) {
663
+ return JSON.stringify({ error: '搜索时 keyword 不能为空' });
664
+ }
665
+ const result = await apiGet('/api/search', { keyword: input.keyword });
666
+ const jmList = result.all_results?.jm || [];
667
+ const bikaList = result.all_results?.bika || [];
668
+ const all = [
669
+ ...jmList.map(c => ({ ...c, source: 'jm' })),
670
+ ...bikaList.map(c => ({ ...c, source: 'bika' })),
671
+ ];
672
+ return JSON.stringify({
673
+ keyword: input.keyword,
674
+ best_match: result.best_match,
675
+ total: all.length,
676
+ results: all.slice(0, 20),
677
+ });
678
+ }
679
+ case 'detail': {
680
+ if (!input.comic_id) {
681
+ return JSON.stringify({ error: '查看详情时 comic_id 不能为空' });
682
+ }
683
+ const detail = await apiGet(`/api/comic/${source}/${input.comic_id}`);
684
+ if (!detail?.title) {
685
+ return JSON.stringify({ error: '未找到该漫画' });
686
+ }
687
+ return JSON.stringify({
688
+ title: detail.title,
689
+ author: detail.author,
690
+ description: detail.description,
691
+ source: detail.source || source,
692
+ chapter_count: detail.chapters?.length || 0,
693
+ chapters: detail.chapters?.slice(0, 30) || [],
694
+ });
695
+ }
696
+ case 'leaderboard': {
697
+ const mode = input.mode || 'day';
698
+ const page = String(input.page || 1);
699
+ const result = await apiGet(`/api/${source}/leaderboard`, { mode, page });
700
+ return JSON.stringify({
701
+ source,
702
+ mode,
703
+ page: Number(page),
704
+ total: result.data?.length || 0,
705
+ results: result.data || [],
706
+ });
707
+ }
708
+ case 'latest': {
709
+ const page = String(input.page || 1);
710
+ const result = await apiGet(`/api/${source}/latest`, { page });
711
+ return JSON.stringify({
712
+ source,
713
+ page: Number(page),
714
+ total: result.data?.length || 0,
715
+ results: result.data || [],
716
+ });
717
+ }
718
+ case 'random': {
719
+ const result = await apiGet(`/api/${source}/random`);
720
+ return JSON.stringify({
721
+ source,
722
+ result: result.data || null,
723
+ });
724
+ }
725
+ default:
726
+ return JSON.stringify({ error: '未知操作类型' });
497
727
  }
498
- return parts.join('\n');
499
728
  }
500
729
  catch (err) {
501
- logger.error('获取随机推荐失败:', err.message);
502
- return `获取随机推荐失败: ${err.message}`;
730
+ logger.error('工具调用失败:', err.message);
731
+ return JSON.stringify({ error: err.message || '请求失败' });
503
732
  }
733
+ }, {
734
+ name,
735
+ description,
736
+ schema: comicToolSchema,
504
737
  });
505
738
  }
506
739
  //# 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":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-comic",
3
- "description": "聚合漫画搜索与下载插件,支持禁漫天堂和哔咔漫画,需要自部署 comic-api 后端",
4
- "version": "1.0.3",
3
+ "description": "聚合漫画搜索与下载插件,支持禁漫天堂和哔咔漫画,需要自部署 comic-api 后端。支持 ChatLuna 工具调用。",
4
+ "version": "1.0.4",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [
@@ -26,15 +26,25 @@
26
26
  "plugin",
27
27
  "comic",
28
28
  "jmcomic",
29
- "bika"
29
+ "bika",
30
+ "chatluna"
30
31
  ],
31
32
  "peerDependencies": {
32
- "koishi": "^4.0.0"
33
+ "koishi": "^4.18.0",
34
+ "koishi-plugin-chatluna": "^1.0.3"
35
+ },
36
+ "peerDependenciesMeta": {
37
+ "koishi-plugin-chatluna": {
38
+ "optional": true
39
+ }
33
40
  },
34
41
  "koishi": {
35
42
  "service": {
36
43
  "required": [
37
44
  "http"
45
+ ],
46
+ "optional": [
47
+ "chatluna"
38
48
  ]
39
49
  }
40
50
  },
@@ -42,7 +52,9 @@
42
52
  "@koishijs/plugin-http": "^0.6.0"
43
53
  },
44
54
  "devDependencies": {
45
- "koishi": "^4.0.0",
46
- "typescript": "^5.0.0"
55
+ "@langchain/core": "^0.3.80",
56
+ "koishi": "^4.18.0",
57
+ "typescript": "^5.0.0",
58
+ "zod": "3.25.76"
47
59
  }
48
60
  }