koishi-plugin-comic 1.0.8 → 1.0.10

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.
@@ -0,0 +1,70 @@
1
+ import { Context } from 'koishi';
2
+ export interface Config {
3
+ apiBase: string;
4
+ concurrency: number;
5
+ logInfo: boolean;
6
+ pdfPassword?: string;
7
+ }
8
+ export interface ComicItem {
9
+ id: string;
10
+ title: string;
11
+ author?: string;
12
+ source?: string;
13
+ cover?: string;
14
+ }
15
+ export interface SearchResult {
16
+ keyword: string;
17
+ best_match: ComicItem | null;
18
+ all_results: {
19
+ jm: ComicItem[];
20
+ bika: ComicItem[];
21
+ };
22
+ }
23
+ export interface ComicDetail {
24
+ title: string;
25
+ author?: string;
26
+ description?: string;
27
+ cover?: string;
28
+ source?: string;
29
+ chapters: {
30
+ id: string;
31
+ name: string;
32
+ }[];
33
+ }
34
+ export interface ApiResponse<T = any> {
35
+ success: boolean;
36
+ data?: T;
37
+ error?: string;
38
+ }
39
+ export declare function getPdfPassword(source: string, comicId: string, chapterId: string): string;
40
+ export declare function sanitizeFilename(name: string): string;
41
+ export declare function determineSource(id: string): {
42
+ source: 'jm' | 'bika';
43
+ id: string;
44
+ } | null;
45
+ export declare function formatComics(comics: ComicItem[], sourceLabel?: string): string;
46
+ /**
47
+ * 封装 comic-api 后端的 HTTP 访问,命令与 ChatLuna 工具共用。
48
+ */
49
+ export declare class ComicAPI {
50
+ private ctx;
51
+ private config;
52
+ constructor(ctx: Context, config: Config);
53
+ get apiBase(): string;
54
+ get concurrency(): number;
55
+ resolvePassword(source: string, comicId: string, chapterId: string): string;
56
+ get<T = any>(path: string, params?: Record<string, string>): Promise<T>;
57
+ search(keyword: string): Promise<SearchResult>;
58
+ detail(source: 'jm' | 'bika', id: string): Promise<ComicDetail>;
59
+ /**
60
+ * 解析用户输入:可能是 ID(jm/bika),也可能是名字(需搜索)。
61
+ * 返回确定的 source 与 id,解析失败返回 null。
62
+ */
63
+ resolveTarget(input: string): Promise<{
64
+ source: 'jm' | 'bika';
65
+ id: string;
66
+ } | null>;
67
+ buildDownloadUrl(source: 'jm' | 'bika', id: string, chapterId: string, title: string, chapterName: string, password: string): string;
68
+ downloadPdf(url: string): Promise<Buffer>;
69
+ }
70
+ //# sourceMappingURL=comic-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comic-api.d.ts","sourceRoot":"","sources":["../src/comic-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComicAPI = void 0;
4
+ exports.getPdfPassword = getPdfPassword;
5
+ exports.sanitizeFilename = sanitizeFilename;
6
+ exports.determineSource = determineSource;
7
+ exports.formatComics = formatComics;
8
+ const crypto_1 = require("crypto");
9
+ function getPdfPassword(source, comicId, chapterId) {
10
+ const src = source.trim().toLowerCase();
11
+ const seed = `${src}:${comicId}:${chapterId}`;
12
+ const hash = (0, crypto_1.createHash)('sha256').update(seed).digest('hex');
13
+ const value = parseInt(hash.slice(0, 12), 16) % 1000000;
14
+ return value.toString().padStart(6, '0');
15
+ }
16
+ function sanitizeFilename(name) {
17
+ return name.replace(/[\\/:*?"<>|]/g, '_').replace(/\s+/g, '').replace(/_+/g, '_').replace(/^_+|_+$/g, '') || 'comic';
18
+ }
19
+ function determineSource(id) {
20
+ const clean = id.trim();
21
+ const hasJm = /jm/i.test(clean) || /禁漫/i.test(clean);
22
+ const digitMatch = clean.match(/\d+/);
23
+ if (hasJm && digitMatch) {
24
+ return { source: 'jm', id: digitMatch[0] };
25
+ }
26
+ if (/^\d+$/.test(clean)) {
27
+ return { source: 'jm', id: clean };
28
+ }
29
+ if (/^[0-9a-fA-F]{24}$/.test(clean)) {
30
+ return { source: 'bika', id: clean };
31
+ }
32
+ return null;
33
+ }
34
+ function formatComics(comics, sourceLabel = '') {
35
+ if (!comics || comics.length === 0)
36
+ return '没有找到相关漫画。';
37
+ return comics.map((c, i) => {
38
+ const src = c.source === 'jm' ? '禁漫' : c.source === 'bika' ? '哔咔' : sourceLabel;
39
+ return `${i + 1}. [${src}|${c.id}] ${c.title} 作者:${c.author || '佚名'}`;
40
+ }).join('\n');
41
+ }
42
+ /**
43
+ * 封装 comic-api 后端的 HTTP 访问,命令与 ChatLuna 工具共用。
44
+ */
45
+ class ComicAPI {
46
+ constructor(ctx, config) {
47
+ this.ctx = ctx;
48
+ this.config = config;
49
+ }
50
+ get apiBase() {
51
+ return this.config.apiBase.replace(/\/+$/, '');
52
+ }
53
+ get concurrency() {
54
+ return this.config.concurrency;
55
+ }
56
+ resolvePassword(source, comicId, chapterId) {
57
+ return this.config.pdfPassword || getPdfPassword(source, comicId, chapterId);
58
+ }
59
+ async get(path, params) {
60
+ let url = this.apiBase + path;
61
+ if (params) {
62
+ const qs = new URLSearchParams(params).toString();
63
+ if (qs)
64
+ url += '?' + qs;
65
+ }
66
+ if (this.config.logInfo)
67
+ this.ctx.logger('comic').info(`GET ${url}`);
68
+ const res = await this.ctx.http.get(url);
69
+ return res;
70
+ }
71
+ search(keyword) {
72
+ return this.get('/api/search', { keyword });
73
+ }
74
+ detail(source, id) {
75
+ return this.get(`/api/comic/${source}/${id}`);
76
+ }
77
+ /**
78
+ * 解析用户输入:可能是 ID(jm/bika),也可能是名字(需搜索)。
79
+ * 返回确定的 source 与 id,解析失败返回 null。
80
+ */
81
+ async resolveTarget(input) {
82
+ const resolved = determineSource(input);
83
+ if (resolved)
84
+ return resolved;
85
+ const searchResult = await this.search(input);
86
+ const jmList = searchResult.all_results?.jm || [];
87
+ const bikaList = searchResult.all_results?.bika || [];
88
+ if (jmList.length > 0)
89
+ return { source: 'jm', id: jmList[0].id };
90
+ if (bikaList.length > 0)
91
+ return { source: 'bika', id: bikaList[0].id };
92
+ return null;
93
+ }
94
+ buildDownloadUrl(source, id, chapterId, title, chapterName, password) {
95
+ return this.apiBase
96
+ + `/api/download/${source}/${id}/${chapterId}`
97
+ + `?title=${encodeURIComponent(title)}`
98
+ + `&chapter=${encodeURIComponent(chapterName)}`
99
+ + `&password=${encodeURIComponent(password)}`
100
+ + `&concurrency=${this.config.concurrency}`;
101
+ }
102
+ async downloadPdf(url) {
103
+ if (this.config.logInfo)
104
+ this.ctx.logger('comic').info(`Downloading: ${url}`);
105
+ const response = await this.ctx.http.get(url, { responseType: 'arraybuffer' });
106
+ return Buffer.from(response);
107
+ }
108
+ }
109
+ exports.ComicAPI = ComicAPI;
110
+ //# sourceMappingURL=comic-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comic-api.js","sourceRoot":"","sources":["../src/comic-api.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -3,7 +3,7 @@ declare module 'koishi' {
3
3
  interface Context {
4
4
  chatluna?: {
5
5
  platform: {
6
- registerTool(name: string, options: any): void;
6
+ registerTool(name: string, options: any): () => void;
7
7
  };
8
8
  };
9
9
  }
@@ -20,11 +20,6 @@ export interface Config {
20
20
  pdfPassword?: string;
21
21
  pdfSendMethod: 'buffer' | 'file';
22
22
  fileSendPath: string;
23
- tool: {
24
- enabled: boolean;
25
- name: string;
26
- description: string;
27
- };
28
23
  }
29
24
  export declare const Config: Schema<Schemastery.ObjectS<{
30
25
  apiBase: Schema<string, string>;
@@ -33,15 +28,6 @@ export declare const Config: Schema<Schemastery.ObjectS<{
33
28
  pdfPassword: Schema<string, string>;
34
29
  pdfSendMethod: Schema<"buffer" | "file", "buffer" | "file">;
35
30
  fileSendPath: Schema<string, string>;
36
- tool: Schema<Schemastery.ObjectS<{
37
- enabled: Schema<boolean, boolean>;
38
- name: Schema<string, string>;
39
- description: Schema<string, string>;
40
- }>, Schemastery.ObjectT<{
41
- enabled: Schema<boolean, boolean>;
42
- name: Schema<string, string>;
43
- description: Schema<string, string>;
44
- }>>;
45
31
  }>, Schemastery.ObjectT<{
46
32
  apiBase: Schema<string, string>;
47
33
  concurrency: Schema<number, number>;
@@ -49,15 +35,6 @@ export declare const Config: Schema<Schemastery.ObjectS<{
49
35
  pdfPassword: Schema<string, string>;
50
36
  pdfSendMethod: Schema<"buffer" | "file", "buffer" | "file">;
51
37
  fileSendPath: Schema<string, string>;
52
- tool: Schema<Schemastery.ObjectS<{
53
- enabled: Schema<boolean, boolean>;
54
- name: Schema<string, string>;
55
- description: Schema<string, string>;
56
- }>, Schemastery.ObjectT<{
57
- enabled: Schema<boolean, boolean>;
58
- name: Schema<string, string>;
59
- description: Schema<string, string>;
60
- }>>;
61
38
  }>>;
62
39
  export declare function apply(ctx: Context, config: Config): void;
63
40
  //# 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;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,slDAcjB,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;IACpB,aAAa,EAAE,QAAQ,GAAG,MAAM,CAAA;IAChC,YAAY,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BjB,CAAA;AA8DF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QA2hBjD"}
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,MAAM,IAAI,CAAA;aACrD,CAAA;SACF,CAAA;KACF;CACF;AAED,eAAO,MAAM,MAAM;;;CAGlB,CAAA;AAED,eAAO,MAAM,KAAK,slDAcjB,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;IACpB,aAAa,EAAE,QAAQ,GAAG,MAAM,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;GAmBjB,CAAA;AA8DF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QA2rBjD"}
package/lib/index.js CHANGED
@@ -80,13 +80,6 @@ exports.Config = koishi_1.Schema.object({
80
80
  fileSendPath: koishi_1.Schema.string()
81
81
  .description('PDF 发送方式为 file 时的本地中转保存目录')
82
82
  .default('/koishi/temp'),
83
- tool: koishi_1.Schema.object({
84
- enabled: koishi_1.Schema.boolean().default(true).description('开启后自动注册 ChatLuna 工具'),
85
- name: koishi_1.Schema.string().default('comic').description('工具名称'),
86
- description: koishi_1.Schema.string()
87
- .default('漫画搜索与下载工具。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。包含动作:search (搜索), detail (查看详情), leaderboard (排行榜), latest (最近更新), random (随机推荐), download (下载本子并发送)。提示:如果用户给出的本子名、角色名或关键词模糊、包含缩写或拼写不够精确,或者使用该工具搜索未返回结果,你必须先调用联网搜索工具检索获取该本子的准确正式名称、画师/作者或完整标题,然后再用精准的关键词调用此工具。')
88
- .description('工具描述'),
89
- }).description('ChatLuna 工具设置'),
90
83
  });
91
84
  function getPdfPassword(source, comicId, chapterId) {
92
85
  const src = source.trim().toLowerCase();
@@ -598,159 +591,161 @@ function apply(ctx, config) {
598
591
  return [jmText, '', bikaText].join('\n');
599
592
  });
600
593
  // ========== ChatLuna 工具注册 ==========
601
- ctx.on('ready', async () => {
602
- if (!config.tool.enabled)
603
- return;
604
- if (!ctx.chatluna) {
605
- logger.info('chatluna 未安装,跳过注册 ChatLuna 工具');
606
- return;
607
- }
608
- const toolName = (config.tool.name || 'comic').trim() || 'comic';
609
- ctx.chatluna.platform.registerTool(toolName, {
610
- description: config.tool.description || '漫画搜索与下载工具',
611
- selector() {
612
- return true;
613
- },
614
- createTool() {
615
- return createComicTool(ctx, config);
616
- },
617
- meta: {
618
- source: 'extension',
619
- group: 'comic',
620
- tags: ['comic', 'manga', 'jmcomic', 'bika'],
621
- defaultAvailability: {
622
- enabled: true,
623
- main: true,
624
- chatluna: true,
625
- characterScope: 'all',
594
+ ctx.inject(['chatluna'], (ctx) => {
595
+ const chatluna = ctx.chatluna;
596
+ const registerSingleTool = (name, description, schema, run) => {
597
+ ctx.effect(() => chatluna.platform.registerTool(name, {
598
+ description,
599
+ selector() {
600
+ return true;
626
601
  },
627
- },
628
- });
629
- logger.info(`ChatLuna 工具「${toolName}」已注册`);
630
- });
631
- }
632
- const comicToolSchema = zod_1.z.object({
633
- action: zod_1.z.enum(['search', 'detail', 'leaderboard', 'latest', 'random', 'download'])
634
- .describe('操作类型:search=搜索, detail=详情, leaderboard=排行榜, latest=最近更新, random=随机推荐, download=下载漫画/本子并发送给用户'),
635
- keyword: zod_1.z.string().optional()
636
- .describe('搜索关键词(action=search 时必填)'),
637
- source: zod_1.z.enum(['jm', 'bika']).optional()
638
- .describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。不填则根据需要自动检测或使用默认源'),
639
- comic_id: zod_1.z.string().optional()
640
- .describe('漫画ID(action=detail 或 action=download 时必填)'),
641
- chapter_id: zod_1.z.string().optional()
642
- .describe('章节ID(action=download 时选填,不填默认下载第一话)'),
643
- mode: zod_1.z.enum(['day', 'week', 'month', 'total']).optional()
644
- .describe('排行榜时间维度(action=leaderboard 时使用):day=日榜, week=周榜, month=月榜, total=总榜'),
645
- page: zod_1.z.number().int().min(1).optional()
646
- .describe('页码,默认1'),
647
- });
648
- function createComicTool(ctx, cfg) {
649
- const description = (cfg.tool.description || '').trim() || '漫画搜索与下载工具。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。包含动作:search (搜索), detail (查看详情), leaderboard (排行榜), latest (最近更新), random (随机推荐), download (下载本子并发送)。提示:如果用户给出的本子名、角色名或关键词模糊、包含缩写或拼写不够精确,或者使用该工具搜索未返回结果,你必须先调用联网搜索工具检索获取该本子的准确正式名称、画师/作者或完整标题,然后再用精准的关键词调用此工具。';
650
- const name = (cfg.tool.name || 'comic').trim() || 'comic';
651
- return (0, tools_1.tool)(async (input, runConfig) => {
652
- const logger = ctx.logger('comic');
653
- const source = input.source || 'jm';
654
- const apiBase = cfg.apiBase.replace(/\/+$/, '');
655
- const apiGet = async (path, params) => {
656
- let url = apiBase + path;
657
- if (params) {
658
- const qs = new URLSearchParams(params).toString();
659
- if (qs)
660
- url += '?' + qs;
661
- }
662
- return ctx.http.get(url);
602
+ createTool() {
603
+ return (0, tools_1.tool)(run, { name, description, schema });
604
+ },
605
+ meta: {
606
+ source: 'extension',
607
+ group: 'comic',
608
+ tags: ['comic', 'manga', 'jmcomic', 'bika'],
609
+ defaultAvailability: {
610
+ enabled: true,
611
+ main: true,
612
+ chatluna: true,
613
+ characterScope: 'all',
614
+ },
615
+ },
616
+ }));
617
+ logger.info(`ChatLuna 工具「${name}」已注册`);
663
618
  };
664
- try {
665
- switch (input.action) {
666
- case 'download': {
667
- if (!input.comic_id) {
668
- return JSON.stringify({ error: '下载漫画时 comic_id 不能为空' });
669
- }
670
- const session = runConfig?.configurable?.session;
671
- if (!session) {
672
- return JSON.stringify({ error: '无法获取当前会话,不支持下载操作。请让用户在聊天界面直接使用 comic 命令或 comic.download 命令手动下载。' });
673
- }
674
- const cmd = input.chapter_id ? `comic.download ${input.comic_id} ${input.chapter_id}` : `comic.download ${input.comic_id}`;
675
- session.execute(cmd);
676
- return JSON.stringify({ success: true, message: `已在后台启动漫画下载,命令为: ${cmd}。请告知用户正在下载,并让其留意后续接收的 PDF 文件与密码。` });
677
- }
678
- case 'search': {
679
- if (!input.keyword) {
680
- return JSON.stringify({ error: '搜索时 keyword 不能为空' });
681
- }
682
- const result = await apiGet('/api/search', { keyword: input.keyword });
683
- const jmList = result.all_results?.jm || [];
684
- const bikaList = result.all_results?.bika || [];
685
- const all = [
686
- ...jmList.map(c => ({ ...c, source: 'jm' })),
687
- ...bikaList.map(c => ({ ...c, source: 'bika' })),
688
- ];
689
- return JSON.stringify({
690
- keyword: input.keyword,
691
- best_match: result.best_match,
692
- total: all.length,
693
- results: all.slice(0, 20),
694
- });
695
- }
696
- case 'detail': {
697
- if (!input.comic_id) {
698
- return JSON.stringify({ error: '查看详情时 comic_id 不能为空' });
699
- }
700
- const detail = await apiGet(`/api/comic/${source}/${input.comic_id}`);
701
- if (!detail?.title) {
702
- return JSON.stringify({ error: '未找到该漫画' });
703
- }
704
- return JSON.stringify({
705
- title: detail.title,
706
- author: detail.author,
707
- description: detail.description,
708
- source: detail.source || source,
709
- chapter_count: detail.chapters?.length || 0,
710
- chapters: detail.chapters?.slice(0, 30) || [],
711
- });
712
- }
713
- case 'leaderboard': {
714
- const mode = input.mode || 'day';
715
- const page = String(input.page || 1);
716
- const result = await apiGet(`/api/${source}/leaderboard`, { mode, page });
717
- return JSON.stringify({
718
- source,
719
- mode,
720
- page: Number(page),
721
- total: result.data?.length || 0,
722
- results: result.data || [],
723
- });
724
- }
725
- case 'latest': {
726
- const page = String(input.page || 1);
727
- const result = await apiGet(`/api/${source}/latest`, { page });
728
- return JSON.stringify({
729
- source,
730
- page: Number(page),
731
- total: result.data?.length || 0,
732
- results: result.data || [],
733
- });
619
+ // 1. comic_search
620
+ registerSingleTool('comic_search', '搜索漫画,支持禁漫天堂(JM)和哔咔漫画(Bika)双平台聚合搜索。提示:如果用户给出的本子名、角色名或关键词模糊,或搜索未返回结果,必须先调用联网搜索工具检索获取该本子的准确正式名称或完整标题,然后再用精准的关键词调用此工具。', zod_1.z.object({
621
+ keyword: zod_1.z.string().describe('搜索关键词'),
622
+ }), async (input) => {
623
+ try {
624
+ const result = await apiGet('/api/search', { keyword: input.keyword });
625
+ const jmList = result.all_results?.jm || [];
626
+ const bikaList = result.all_results?.bika || [];
627
+ const all = [
628
+ ...jmList.map(c => ({ ...c, source: 'jm' })),
629
+ ...bikaList.map(c => ({ ...c, source: 'bika' })),
630
+ ];
631
+ return JSON.stringify({
632
+ keyword: input.keyword,
633
+ best_match: result.best_match,
634
+ total: all.length,
635
+ results: all.slice(0, 20),
636
+ });
637
+ }
638
+ catch (err) {
639
+ logger.error('工具 comic_search 调用失败:', err.message);
640
+ return JSON.stringify({ error: err.message || '请求失败' });
641
+ }
642
+ });
643
+ // 2. comic_detail
644
+ registerSingleTool('comic_detail', '查看指定来源和ID的漫画详情,包括标题、作者、简介以及可下载的章节列表。', zod_1.z.object({
645
+ comic_id: zod_1.z.string().describe('漫画ID'),
646
+ source: zod_1.z.enum(['jm', 'bika']).optional().default('jm').describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。默认jm。'),
647
+ }), async (input) => {
648
+ try {
649
+ const source = input.source || 'jm';
650
+ const detail = await apiGet(`/api/comic/${source}/${input.comic_id}`);
651
+ if (!detail?.title) {
652
+ return JSON.stringify({ error: '未找到该漫画' });
734
653
  }
735
- case 'random': {
736
- const result = await apiGet(`/api/${source}/random`);
737
- return JSON.stringify({
738
- source,
739
- result: result.data || null,
740
- });
654
+ return JSON.stringify({
655
+ title: detail.title,
656
+ author: detail.author,
657
+ description: detail.description,
658
+ source: detail.source || source,
659
+ chapter_count: detail.chapters?.length || 0,
660
+ chapters: detail.chapters?.slice(0, 30) || [],
661
+ });
662
+ }
663
+ catch (err) {
664
+ logger.error('工具 comic_detail 调用失败:', err.message);
665
+ return JSON.stringify({ error: err.message || '请求失败' });
666
+ }
667
+ });
668
+ // 3. comic_leaderboard
669
+ registerSingleTool('comic_leaderboard', '查看指定漫画源的排行榜。', zod_1.z.object({
670
+ source: zod_1.z.enum(['jm', 'bika']).optional().default('jm').describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。默认jm。'),
671
+ mode: zod_1.z.enum(['day', 'week', 'month', 'total']).optional().default('day').describe('排行榜时间维度:day=日榜, week=周榜, month=月榜, total=总榜。默认day。'),
672
+ page: zod_1.z.number().int().min(1).optional().default(1).describe('页码,默认1。'),
673
+ }), async (input) => {
674
+ try {
675
+ const source = input.source || 'jm';
676
+ const mode = input.mode || 'day';
677
+ const page = String(input.page || 1);
678
+ const result = await apiGet(`/api/${source}/leaderboard`, { mode, page });
679
+ return JSON.stringify({
680
+ source,
681
+ mode,
682
+ page: Number(page),
683
+ total: result.data?.length || 0,
684
+ results: result.data || [],
685
+ });
686
+ }
687
+ catch (err) {
688
+ logger.error('工具 comic_leaderboard 调用失败:', err.message);
689
+ return JSON.stringify({ error: err.message || '请求失败' });
690
+ }
691
+ });
692
+ // 4. comic_latest
693
+ registerSingleTool('comic_latest', '查看指定漫画源的最近更新列表。', zod_1.z.object({
694
+ source: zod_1.z.enum(['jm', 'bika']).optional().default('jm').describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。默认jm。'),
695
+ page: zod_1.z.number().int().min(1).optional().default(1).describe('页码,默认1。'),
696
+ }), async (input) => {
697
+ try {
698
+ const source = input.source || 'jm';
699
+ const page = String(input.page || 1);
700
+ const result = await apiGet(`/api/${source}/latest`, { page });
701
+ return JSON.stringify({
702
+ source,
703
+ page: Number(page),
704
+ total: result.data?.length || 0,
705
+ results: result.data || [],
706
+ });
707
+ }
708
+ catch (err) {
709
+ logger.error('工具 comic_latest 调用失败:', err.message);
710
+ return JSON.stringify({ error: err.message || '请求失败' });
711
+ }
712
+ });
713
+ // 5. comic_random
714
+ registerSingleTool('comic_random', '随机推荐指定漫画源的漫画。', zod_1.z.object({
715
+ source: zod_1.z.enum(['jm', 'bika']).optional().default('jm').describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。默认jm。'),
716
+ }), async (input) => {
717
+ try {
718
+ const source = input.source || 'jm';
719
+ const result = await apiGet(`/api/${source}/random`);
720
+ return JSON.stringify({
721
+ source,
722
+ result: result.data || null,
723
+ });
724
+ }
725
+ catch (err) {
726
+ logger.error('工具 comic_random 调用失败:', err.message);
727
+ return JSON.stringify({ error: err.message || '请求失败' });
728
+ }
729
+ });
730
+ // 6. comic_download
731
+ registerSingleTool('comic_download', '下载指定ID的漫画并发送给用户。会自动启动后台下载并向用户发送PDF文件及解密密码。', zod_1.z.object({
732
+ comic_id: zod_1.z.string().describe('漫画ID'),
733
+ chapter_id: zod_1.z.string().optional().describe('章节ID(选填,不填默认下载第一话)'),
734
+ }), async (input, runConfig) => {
735
+ try {
736
+ const session = runConfig?.configurable?.session;
737
+ if (!session) {
738
+ return JSON.stringify({ error: '无法获取当前会话,不支持下载操作。请让用户在聊天界面直接使用 comic 命令或 comic.download 命令手动下载。' });
741
739
  }
742
- default:
743
- return JSON.stringify({ error: '未知操作类型' });
740
+ const cmd = input.chapter_id ? `comic.download ${input.comic_id} ${input.chapter_id}` : `comic.download ${input.comic_id}`;
741
+ session.execute(cmd);
742
+ return JSON.stringify({ success: true, message: `已在后台启动漫画下载,命令为: ${cmd}。请告知用户正在下载,并让其留意后续接收的 PDF 文件与密码。` });
744
743
  }
745
- }
746
- catch (err) {
747
- logger.error('工具调用失败:', err.message);
748
- return JSON.stringify({ error: err.message || '请求失败' });
749
- }
750
- }, {
751
- name,
752
- description,
753
- schema: comicToolSchema,
744
+ catch (err) {
745
+ logger.error('工具 comic_download 调用失败:', err.message);
746
+ return JSON.stringify({ error: err.message || '请求失败' });
747
+ }
748
+ });
754
749
  });
755
750
  }
756
751
  //# 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/lib/tools.d.ts ADDED
@@ -0,0 +1,112 @@
1
+ import { Context } from 'koishi';
2
+ import { z } from 'zod';
3
+ import { ComicAPI } from './comic-api';
4
+ declare const StructuredToolBase: any;
5
+ export declare class ComicSearchTool extends StructuredToolBase {
6
+ private api;
7
+ name: string;
8
+ description: string;
9
+ schema: z.ZodObject<{
10
+ keyword: z.ZodString;
11
+ }, "strip", z.ZodTypeAny, {
12
+ keyword: string;
13
+ }, {
14
+ keyword: string;
15
+ }>;
16
+ constructor(api: ComicAPI);
17
+ _call(input: {
18
+ keyword: string;
19
+ }): Promise<string>;
20
+ }
21
+ export declare class ComicDetailTool extends StructuredToolBase {
22
+ private api;
23
+ name: string;
24
+ description: string;
25
+ schema: z.ZodObject<{
26
+ source: z.ZodEnum<["jm", "bika"]>;
27
+ id: z.ZodString;
28
+ }, "strip", z.ZodTypeAny, {
29
+ source: "jm" | "bika";
30
+ id: string;
31
+ }, {
32
+ source: "jm" | "bika";
33
+ id: string;
34
+ }>;
35
+ constructor(api: ComicAPI);
36
+ _call(input: {
37
+ source: 'jm' | 'bika';
38
+ id: string;
39
+ }): Promise<string>;
40
+ }
41
+ export declare class ComicDownloadTool extends StructuredToolBase {
42
+ private api;
43
+ name: string;
44
+ description: string;
45
+ schema: z.ZodObject<{
46
+ id: z.ZodString;
47
+ chapterId: z.ZodOptional<z.ZodString>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ id: string;
50
+ chapterId?: string | undefined;
51
+ }, {
52
+ id: string;
53
+ chapterId?: string | undefined;
54
+ }>;
55
+ constructor(api: ComicAPI);
56
+ _call(input: {
57
+ id: string;
58
+ chapterId?: string;
59
+ }, _runManager?: any, config?: any): Promise<string>;
60
+ }
61
+ export declare class ComicLeaderboardTool extends StructuredToolBase {
62
+ private api;
63
+ name: string;
64
+ description: string;
65
+ schema: z.ZodObject<{
66
+ mode: z.ZodOptional<z.ZodEnum<["day", "week", "month", "total"]>>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ mode?: "day" | "week" | "month" | "total" | undefined;
69
+ }, {
70
+ mode?: "day" | "week" | "month" | "total" | undefined;
71
+ }>;
72
+ constructor(api: ComicAPI);
73
+ _call(input: {
74
+ mode?: 'day' | 'week' | 'month' | 'total';
75
+ }): Promise<string>;
76
+ }
77
+ export declare class ComicCategoryTool extends StructuredToolBase {
78
+ private api;
79
+ name: string;
80
+ description: string;
81
+ schema: z.ZodObject<{
82
+ name: z.ZodString;
83
+ }, "strip", z.ZodTypeAny, {
84
+ name: string;
85
+ }, {
86
+ name: string;
87
+ }>;
88
+ constructor(api: ComicAPI);
89
+ _call(input: {
90
+ name: string;
91
+ }): Promise<string>;
92
+ }
93
+ export declare class ComicBrowseTool extends StructuredToolBase {
94
+ private api;
95
+ name: string;
96
+ description: string;
97
+ schema: z.ZodObject<{
98
+ mode: z.ZodOptional<z.ZodEnum<["latest", "random"]>>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ mode?: "latest" | "random" | undefined;
101
+ }, {
102
+ mode?: "latest" | "random" | undefined;
103
+ }>;
104
+ constructor(api: ComicAPI);
105
+ _call(input: {
106
+ mode?: 'latest' | 'random';
107
+ }): Promise<string>;
108
+ }
109
+ export declare const TOOL_CLASSES: readonly [typeof ComicSearchTool, typeof ComicDetailTool, typeof ComicDownloadTool, typeof ComicLeaderboardTool, typeof ComicCategoryTool, typeof ComicBrowseTool];
110
+ export declare function registerComicTools(ctx: Context, api: ComicAPI): number;
111
+ export {};
112
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAK,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAAE,QAAQ,EAA+B,MAAM,aAAa,CAAA;AAKnE,QAAA,MAAM,kBAAkB,EAAE,GAAqD,CAAA;AAQ/E,qBAAa,eAAgB,SAAQ,kBAAkB;IAOzC,OAAO,CAAC,GAAG;IANvB,IAAI,SAAiB;IACrB,WAAW,SAAkJ;IAC7J,MAAM;;;;;;OAEJ;gBAEkB,GAAG,EAAE,QAAQ;IAI3B,KAAK,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAwBzD;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IAQzC,OAAO,CAAC,GAAG;IAPvB,IAAI,SAAiB;IACrB,WAAW,SAAsF;IACjG,MAAM;;;;;;;;;OAGJ;gBAEkB,GAAG,EAAE,QAAQ;IAI3B,KAAK,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAkB3E;AAED,qBAAa,iBAAkB,SAAQ,kBAAkB;IAQ3C,OAAO,CAAC,GAAG;IAPvB,IAAI,SAAmB;IACvB,WAAW,SAAgH;IAC3H,MAAM;;;;;;;;;OAGJ;gBAEkB,GAAG,EAAE,QAAQ;IAI3B,KAAK,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CA8CzG;AAED,qBAAa,oBAAqB,SAAQ,kBAAkB;IAO9C,OAAO,CAAC,GAAG;IANvB,IAAI,SAAsB;IAC1B,WAAW,SAA+E;IAC1F,MAAM;;;;;;OAEJ;gBAEkB,GAAG,EAAE,QAAQ;IAI3B,KAAK,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAgBnF;AAED,qBAAa,iBAAkB,SAAQ,kBAAkB;IAO3C,OAAO,CAAC,GAAG;IANvB,IAAI,SAAmB;IACvB,WAAW,SAAwD;IACnE,MAAM;;;;;;OAEJ;gBAEkB,GAAG,EAAE,QAAQ;IAI3B,KAAK,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAoBtD;AAED,qBAAa,eAAgB,SAAQ,kBAAkB;IAOzC,OAAO,CAAC,GAAG;IANvB,IAAI,SAAiB;IACrB,WAAW,SAA4E;IACvF,MAAM;;;;;;OAEJ;gBAEkB,GAAG,EAAE,QAAQ;IAI3B,KAAK,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAuBpE;AAED,eAAO,MAAM,YAAY,oKAOf,CAAA;AAEV,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CA4BtE"}
package/lib/tools.js ADDED
@@ -0,0 +1,317 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TOOL_CLASSES = exports.ComicBrowseTool = exports.ComicCategoryTool = exports.ComicLeaderboardTool = exports.ComicDownloadTool = exports.ComicDetailTool = exports.ComicSearchTool = void 0;
37
+ exports.registerComicTools = registerComicTools;
38
+ const koishi_1 = require("koishi");
39
+ const zod_1 = require("zod");
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const os = __importStar(require("os"));
43
+ const url_1 = require("url");
44
+ const comic_api_1 = require("./comic-api");
45
+ // StructuredTool is provided at runtime by chatluna's @langchain/core dependency.
46
+ // Using require() avoids TypeScript's deep generic recursion on @langchain/core 0.3.x types.
47
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
48
+ const StructuredToolBase = require('@langchain/core/tools').StructuredTool;
49
+ const srcLabel = (s) => (s === 'jm' ? '禁漫' : s === 'bika' ? '哔咔' : '');
50
+ function getSession(config) {
51
+ return config?.configurable?.session;
52
+ }
53
+ class ComicSearchTool extends StructuredToolBase {
54
+ constructor(api) {
55
+ super({});
56
+ this.api = api;
57
+ this.name = 'comic_search';
58
+ this.description = '聚合搜索漫画(禁漫天堂 JM + 哔咔 Bika 双平台),返回匹配的漫画列表,含来源、ID、标题、作者。若漫画名称模糊、含缩写或拼写错误,请先用联网搜索工具确认其准确标题/别名/作者后再调用本工具。返回的 ID 可用于 comic_detail 或 comic_download。';
59
+ this.schema = zod_1.z.object({
60
+ keyword: zod_1.z.string().describe('搜索关键词,漫画名称、作者或角色名。'),
61
+ });
62
+ }
63
+ async _call(input) {
64
+ try {
65
+ const result = await this.api.search(input.keyword);
66
+ const jm = (result.all_results?.jm || []).map((c) => ({ ...c, source: 'jm' }));
67
+ const bika = (result.all_results?.bika || []).map((c) => ({ ...c, source: 'bika' }));
68
+ if (jm.length === 0 && bika.length === 0) {
69
+ return JSON.stringify({ keyword: input.keyword, total: 0, message: '没有找到任何结果' });
70
+ }
71
+ return JSON.stringify({
72
+ keyword: input.keyword,
73
+ best_match: result.best_match || null,
74
+ total: jm.length + bika.length,
75
+ results: [...jm, ...bika].map((c) => ({
76
+ source: c.source,
77
+ source_label: srcLabel(c.source),
78
+ id: c.id,
79
+ title: c.title,
80
+ author: c.author || '佚名',
81
+ })),
82
+ }, null, 2);
83
+ }
84
+ catch (e) {
85
+ return `搜索失败: ${e.message}`;
86
+ }
87
+ }
88
+ }
89
+ exports.ComicSearchTool = ComicSearchTool;
90
+ class ComicDetailTool extends StructuredToolBase {
91
+ constructor(api) {
92
+ super({});
93
+ this.api = api;
94
+ this.name = 'comic_detail';
95
+ this.description = '查看单个漫画的详情和章节列表。需要提供来源(jm/bika)和漫画 ID(可从 comic_search 获得)。返回标题、作者、简介、章节数及章节 ID 列表。';
96
+ this.schema = zod_1.z.object({
97
+ source: zod_1.z.enum(['jm', 'bika']).describe("漫画来源:'jm'(禁漫天堂) 或 'bika'(哔咔)。"),
98
+ id: zod_1.z.string().describe('漫画 ID。禁漫为纯数字,哔咔为 24 位十六进制字符串。'),
99
+ });
100
+ }
101
+ async _call(input) {
102
+ try {
103
+ const detail = await this.api.detail(input.source, input.id);
104
+ if (!detail?.title)
105
+ return '未找到该漫画';
106
+ return JSON.stringify({
107
+ source: input.source,
108
+ source_label: srcLabel(input.source),
109
+ id: input.id,
110
+ title: detail.title,
111
+ author: detail.author || '佚名',
112
+ description: (detail.description || '无描述').slice(0, 300),
113
+ chapter_count: detail.chapters?.length || 0,
114
+ chapters: (detail.chapters || []).slice(0, 50).map((ch) => ({ id: ch.id, name: ch.name })),
115
+ }, null, 2);
116
+ }
117
+ catch (e) {
118
+ return `获取详情失败: ${e.message}`;
119
+ }
120
+ }
121
+ }
122
+ exports.ComicDetailTool = ComicDetailTool;
123
+ class ComicDownloadTool extends StructuredToolBase {
124
+ constructor(api) {
125
+ super({});
126
+ this.api = api;
127
+ this.name = 'comic_download';
128
+ this.description = '下载漫画并将加密 PDF 发送到当前会话。可接受漫画 ID 或漫画名字(名字会自动搜索解析)。若名字不准确、带缩写或搜不到,请先用联网搜索工具确认准确名称后再调用。下载成功后会把 PDF 文件和解密密码发送给用户。';
129
+ this.schema = zod_1.z.object({
130
+ id: zod_1.z.string().describe('漫画 ID 或漫画名字。'),
131
+ chapterId: zod_1.z.string().optional().describe('章节 ID,省略则下载第一话。'),
132
+ });
133
+ }
134
+ async _call(input, _runManager, config) {
135
+ const session = getSession(config);
136
+ try {
137
+ const resolved = await this.api.resolveTarget(input.id);
138
+ if (!resolved)
139
+ return '未找到相关漫画,请尝试其他关键词或提供正确的 ID。';
140
+ const { source, id: targetId } = resolved;
141
+ const detail = await this.api.detail(source, targetId);
142
+ if (!detail?.title)
143
+ return '未找到该漫画';
144
+ if (!detail.chapters?.length)
145
+ return '该漫画没有可下载的章节';
146
+ const chapter = input.chapterId
147
+ ? detail.chapters.find((c) => c.id === input.chapterId)
148
+ : detail.chapters[0];
149
+ if (!chapter)
150
+ return `未找到章节 ${input.chapterId}`;
151
+ const totalChapters = detail.chapters.length;
152
+ const password = this.api.resolvePassword(source, targetId, chapter.id);
153
+ const url = this.api.buildDownloadUrl(source, targetId, chapter.id, detail.title, chapter.name, password);
154
+ const buffer = await this.api.downloadPdf(url);
155
+ if (buffer.length < 100)
156
+ return '下载失败:返回数据异常';
157
+ const cleanTitle = source === 'jm' ? `jm${targetId}` : (0, comic_api_1.sanitizeFilename)(detail.title);
158
+ const tempFilePath = path.join(os.tmpdir(), `${cleanTitle}.pdf`);
159
+ await fs.promises.writeFile(tempFilePath, buffer);
160
+ if (session) {
161
+ try {
162
+ await session.send(koishi_1.h.file((0, url_1.pathToFileURL)(tempFilePath).href));
163
+ await session.send(`🔑 该 PDF 已加密,解密密码为:${password}`);
164
+ }
165
+ finally {
166
+ fs.promises.unlink(tempFilePath).catch(() => { });
167
+ }
168
+ const more = totalChapters > 1 && !input.chapterId
169
+ ? `(该漫画共 ${totalChapters} 话,本次发送第一话「${chapter.name}」,如需其他话请指定章节 ID)`
170
+ : '';
171
+ return `已将《${detail.title} - ${chapter.name}》的 PDF 发送到会话,解密密码:${password}。${more}`;
172
+ }
173
+ fs.promises.unlink(tempFilePath).catch(() => { });
174
+ return '下载完成,但当前上下文无法发送文件。';
175
+ }
176
+ catch (e) {
177
+ return `下载失败: ${e.message}`;
178
+ }
179
+ }
180
+ }
181
+ exports.ComicDownloadTool = ComicDownloadTool;
182
+ class ComicLeaderboardTool extends StructuredToolBase {
183
+ constructor(api) {
184
+ super({});
185
+ this.api = api;
186
+ this.name = 'comic_leaderboard';
187
+ this.description = '查看漫画排行榜,聚合禁漫天堂和哔咔两个平台。可指定时间范围:day(日榜)/week(周榜)/month(月榜)/total(总榜),默认 day。';
188
+ this.schema = zod_1.z.object({
189
+ mode: zod_1.z.enum(['day', 'week', 'month', 'total']).optional().describe('排行榜时间范围,默认 day。'),
190
+ });
191
+ }
192
+ async _call(input) {
193
+ const mode = input.mode || 'day';
194
+ try {
195
+ const [jm, bika] = await Promise.all([
196
+ this.api.get('/api/jm/leaderboard', { mode }).catch(() => null),
197
+ this.api.get('/api/bika/leaderboard', { mode }).catch(() => null),
198
+ ]);
199
+ return JSON.stringify({
200
+ mode,
201
+ jm: (jm?.success !== false && jm?.data) ? jm.data.map((c) => ({ id: c.id, title: c.title, author: c.author || '佚名' })) : [],
202
+ bika: (bika?.success !== false && bika?.data) ? bika.data.map((c) => ({ id: c.id, title: c.title, author: c.author || '佚名' })) : [],
203
+ }, null, 2);
204
+ }
205
+ catch (e) {
206
+ return `获取排行榜失败: ${e.message}`;
207
+ }
208
+ }
209
+ }
210
+ exports.ComicLeaderboardTool = ComicLeaderboardTool;
211
+ class ComicCategoryTool extends StructuredToolBase {
212
+ constructor(api) {
213
+ super({});
214
+ this.api = api;
215
+ this.name = 'comic_category';
216
+ this.description = '按分类/标签浏览漫画,聚合禁漫天堂和哔咔两个平台。需要提供分类名称(如「单行本」「同人」「韩漫」等)。';
217
+ this.schema = zod_1.z.object({
218
+ name: zod_1.z.string().describe('分类名称。'),
219
+ });
220
+ }
221
+ async _call(input) {
222
+ try {
223
+ const [jm, bika] = await Promise.all([
224
+ this.api.get('/api/jm/category', { name: input.name }).catch(() => null),
225
+ this.api.get('/api/bika/category', { name: input.name }).catch(() => null),
226
+ ]);
227
+ const jmData = (jm?.success !== false && jm?.data) ? jm.data : [];
228
+ const bikaData = (bika?.success !== false && bika?.data) ? bika.data : [];
229
+ if (jmData.length === 0 && bikaData.length === 0) {
230
+ return JSON.stringify({ category: input.name, total: 0, message: `分类「${input.name}」暂无数据` });
231
+ }
232
+ return JSON.stringify({
233
+ category: input.name,
234
+ jm: jmData.map((c) => ({ id: c.id, title: c.title, author: c.author || '佚名' })),
235
+ bika: bikaData.map((c) => ({ id: c.id, title: c.title, author: c.author || '佚名' })),
236
+ }, null, 2);
237
+ }
238
+ catch (e) {
239
+ return `获取分类失败: ${e.message}`;
240
+ }
241
+ }
242
+ }
243
+ exports.ComicCategoryTool = ComicCategoryTool;
244
+ class ComicBrowseTool extends StructuredToolBase {
245
+ constructor(api) {
246
+ super({});
247
+ this.api = api;
248
+ this.name = 'comic_browse';
249
+ this.description = '浏览漫画发现内容,聚合禁漫天堂和哔咔两个平台。mode=latest 查看最近更新,mode=random 获取随机推荐,默认 latest。';
250
+ this.schema = zod_1.z.object({
251
+ mode: zod_1.z.enum(['latest', 'random']).optional().describe("浏览模式:'latest'(最近更新) 或 'random'(随机推荐),默认 latest。"),
252
+ });
253
+ }
254
+ async _call(input) {
255
+ const mode = input.mode || 'latest';
256
+ const endpoint = mode === 'random' ? 'random' : 'latest';
257
+ try {
258
+ const [jm, bika] = await Promise.all([
259
+ this.api.get(`/api/jm/${endpoint}`).catch(() => null),
260
+ this.api.get(`/api/bika/${endpoint}`).catch(() => null),
261
+ ]);
262
+ let jmData = (jm?.success !== false && jm?.data) ? jm.data : [];
263
+ let bikaData = (bika?.success !== false && bika?.data) ? bika.data : [];
264
+ if (mode === 'random') {
265
+ jmData = jmData.length ? [jmData[Math.floor(Math.random() * jmData.length)]] : [];
266
+ bikaData = bikaData.length ? [bikaData[Math.floor(Math.random() * bikaData.length)]] : [];
267
+ }
268
+ return JSON.stringify({
269
+ mode,
270
+ jm: jmData.map((c) => ({ id: c.id, title: c.title, author: c.author || '佚名' })),
271
+ bika: bikaData.map((c) => ({ id: c.id, title: c.title, author: c.author || '佚名' })),
272
+ }, null, 2);
273
+ }
274
+ catch (e) {
275
+ return `浏览失败: ${e.message}`;
276
+ }
277
+ }
278
+ }
279
+ exports.ComicBrowseTool = ComicBrowseTool;
280
+ exports.TOOL_CLASSES = [
281
+ ComicSearchTool,
282
+ ComicDetailTool,
283
+ ComicDownloadTool,
284
+ ComicLeaderboardTool,
285
+ ComicCategoryTool,
286
+ ComicBrowseTool,
287
+ ];
288
+ function registerComicTools(ctx, api) {
289
+ for (const ToolClass of exports.TOOL_CLASSES) {
290
+ const probe = new ToolClass(api);
291
+ const toolName = probe.name;
292
+ const toolDescription = probe.description;
293
+ ctx.effect(() => ctx.chatluna.platform.registerTool(toolName, {
294
+ name: toolName,
295
+ description: toolDescription,
296
+ selector() {
297
+ return true;
298
+ },
299
+ createTool() {
300
+ return new ToolClass(api);
301
+ },
302
+ meta: {
303
+ source: 'extension',
304
+ group: 'comic',
305
+ tags: ['comic', 'manga', 'jmcomic', 'bika'],
306
+ defaultAvailability: {
307
+ enabled: true,
308
+ main: true,
309
+ chatluna: true,
310
+ characterScope: 'all',
311
+ },
312
+ },
313
+ }));
314
+ }
315
+ return exports.TOOL_CLASSES.length;
316
+ }
317
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-comic",
3
3
  "description": "聚合漫画搜索与下载插件,支持禁漫天堂和哔咔漫画,需要自部署 comic-api 后端。支持 ChatLuna 工具调用。",
4
- "version": "1.0.8",
4
+ "version": "1.0.10",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [
@@ -30,8 +30,8 @@
30
30
  "chatluna"
31
31
  ],
32
32
  "peerDependencies": {
33
- "koishi": "^4.18.0",
34
- "koishi-plugin-chatluna": "^1.0.3"
33
+ "koishi": "^4.18.9",
34
+ "koishi-plugin-chatluna": "^1.3.36"
35
35
  },
36
36
  "peerDependenciesMeta": {
37
37
  "koishi-plugin-chatluna": {
@@ -49,12 +49,12 @@
49
49
  }
50
50
  },
51
51
  "dependencies": {
52
- "@koishijs/plugin-http": "^0.6.0"
53
- },
54
- "devDependencies": {
52
+ "@koishijs/plugin-http": "^0.6.0",
55
53
  "@langchain/core": "^0.3.80",
56
- "koishi": "^4.18.0",
57
- "typescript": "^5.0.0",
58
54
  "zod": "3.25.76"
55
+ },
56
+ "devDependencies": {
57
+ "koishi": "^4.18.9",
58
+ "typescript": "^5.0.0"
59
59
  }
60
60
  }