koishi-plugin-isthattrue 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/agents/index.d.ts +2 -0
- package/lib/agents/searchAgent.d.ts +43 -0
- package/lib/agents/verifyAgent.d.ts +34 -0
- package/lib/config.d.ts +27 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.js +1026 -0
- package/lib/services/chatluna.d.ts +48 -0
- package/lib/services/messageParser.d.ts +37 -0
- package/lib/types.d.ts +98 -0
- package/lib/utils/prompts.d.ts +54 -0
- package/package.json +43 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Context } from 'koishi';
|
|
2
|
+
import { Config } from '../config';
|
|
3
|
+
import { SearchResult } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* 搜索Agent
|
|
6
|
+
* 负责从特定角度搜索和收集信息
|
|
7
|
+
*/
|
|
8
|
+
export declare class SearchAgent {
|
|
9
|
+
private ctx;
|
|
10
|
+
private config;
|
|
11
|
+
private id;
|
|
12
|
+
private perspective;
|
|
13
|
+
private model;
|
|
14
|
+
private chatluna;
|
|
15
|
+
constructor(ctx: Context, config: Config, agentIndex: number, model: string);
|
|
16
|
+
/**
|
|
17
|
+
* 执行搜索
|
|
18
|
+
*/
|
|
19
|
+
search(content: string): Promise<SearchResult>;
|
|
20
|
+
/**
|
|
21
|
+
* 解析Agent响应的JSON
|
|
22
|
+
*/
|
|
23
|
+
private parseResponse;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 搜索Agent管理器
|
|
27
|
+
* 负责创建和协调多个搜索Agent
|
|
28
|
+
*/
|
|
29
|
+
export declare class SearchAgentManager {
|
|
30
|
+
private ctx;
|
|
31
|
+
private config;
|
|
32
|
+
private agents;
|
|
33
|
+
constructor(ctx: Context, config: Config);
|
|
34
|
+
private initAgents;
|
|
35
|
+
/**
|
|
36
|
+
* 并行执行所有Agent的搜索
|
|
37
|
+
*/
|
|
38
|
+
searchAll(content: string): Promise<SearchResult[]>;
|
|
39
|
+
/**
|
|
40
|
+
* 带超时的Promise包装
|
|
41
|
+
*/
|
|
42
|
+
private withTimeout;
|
|
43
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Context } from 'koishi';
|
|
2
|
+
import { Config } from '../config';
|
|
3
|
+
import { SearchResult, VerificationResult, MessageContent } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* 验证Agent
|
|
6
|
+
* 负责综合搜索结果并做出最终判决
|
|
7
|
+
*/
|
|
8
|
+
export declare class VerifyAgent {
|
|
9
|
+
private ctx;
|
|
10
|
+
private config;
|
|
11
|
+
private chatluna;
|
|
12
|
+
private logger;
|
|
13
|
+
constructor(ctx: Context, config: Config);
|
|
14
|
+
/**
|
|
15
|
+
* 执行验证判决
|
|
16
|
+
*/
|
|
17
|
+
verify(originalContent: MessageContent, searchResults: SearchResult[]): Promise<VerificationResult>;
|
|
18
|
+
/**
|
|
19
|
+
* 解析验证响应
|
|
20
|
+
*/
|
|
21
|
+
private parseVerifyResponse;
|
|
22
|
+
/**
|
|
23
|
+
* 标准化判决结果
|
|
24
|
+
*/
|
|
25
|
+
private normalizeVerdict;
|
|
26
|
+
/**
|
|
27
|
+
* 从文本中提取判决
|
|
28
|
+
*/
|
|
29
|
+
private extractVerdictFromText;
|
|
30
|
+
/**
|
|
31
|
+
* 汇总所有来源
|
|
32
|
+
*/
|
|
33
|
+
private aggregateSources;
|
|
34
|
+
}
|
package/lib/config.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Schema } from 'koishi';
|
|
2
|
+
/**
|
|
3
|
+
* 插件配置 Schema
|
|
4
|
+
*/
|
|
5
|
+
export interface Config {
|
|
6
|
+
/** 搜索用模型列表 (每个模型对应一个搜索Agent) */
|
|
7
|
+
searchModels: string[];
|
|
8
|
+
/** 验证用模型(低幻觉率) */
|
|
9
|
+
verifyModel: string;
|
|
10
|
+
/** 超时时间(毫秒) */
|
|
11
|
+
timeout: number;
|
|
12
|
+
/** 最大重试次数 */
|
|
13
|
+
maxRetries: number;
|
|
14
|
+
/** 是否显示详细过程 */
|
|
15
|
+
verbose: boolean;
|
|
16
|
+
/** 是否启用图片OCR */
|
|
17
|
+
enableOCR: boolean;
|
|
18
|
+
/** 输出格式 */
|
|
19
|
+
outputFormat: 'auto' | 'markdown' | 'plain';
|
|
20
|
+
/** 是否使用合并转发消息 */
|
|
21
|
+
useForwardMessage: boolean;
|
|
22
|
+
/** 是否绕过代理 */
|
|
23
|
+
bypassProxy: boolean;
|
|
24
|
+
/** 是否打印 LLM 请求体和响应 */
|
|
25
|
+
logLLMDetails: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const Config: Schema<Config>;
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Context } from 'koishi';
|
|
2
|
+
import { Config } from './config';
|
|
3
|
+
export declare const name = "isthattrue";
|
|
4
|
+
export declare const inject: string[];
|
|
5
|
+
export declare const usage = "\n## \u4E8B\u5B9E\u6838\u67E5\u63D2\u4EF6\n\n\u4F7F\u7528\u591AAgent\u67B6\u6784\u5BF9\u6D88\u606F\u8FDB\u884C\u4E8B\u5B9E\u6838\u67E5\u9A8C\u8BC1\u3002\n\n### \u4F7F\u7528\u65B9\u6CD5\n\n1. \u5F15\u7528\u4E00\u6761\u9700\u8981\u9A8C\u8BC1\u7684\u6D88\u606F\n2. \u53D1\u9001 `tof` \u6307\u4EE4\n3. \u7B49\u5F85\u9A8C\u8BC1\u7ED3\u679C\n\n### \u5DE5\u4F5C\u6D41\u7A0B\n\n1. **\u89E3\u6790\u9636\u6BB5**: \u63D0\u53D6\u5F15\u7528\u6D88\u606F\u4E2D\u7684\u6587\u672C\u548C\u56FE\u7247\n2. **\u641C\u7D22\u9636\u6BB5**: \u591A\u4E2AAgent\u5E76\u884C\u4ECE\u4E0D\u540C\u89D2\u5EA6\u641C\u7D22\u4FE1\u606F\n3. **\u9A8C\u8BC1\u9636\u6BB5**: \u7EFC\u5408\u641C\u7D22\u7ED3\u679C\uFF0C\u7531\u4F4E\u5E7B\u89C9\u7387LLM\u505A\u51FA\u5224\u51B3\n\n### \u5224\u51B3\u7C7B\u522B\n\n- \u2705 **\u771F\u5B9E**: \u6709\u5145\u5206\u53EF\u9760\u8BC1\u636E\u652F\u6301\n- \u274C **\u865A\u5047**: \u6709\u5145\u5206\u53EF\u9760\u8BC1\u636E\u53CD\u9A73\n- \u26A0\uFE0F **\u90E8\u5206\u771F\u5B9E**: \u58F0\u660E\u4E2D\u90E8\u5206\u5185\u5BB9\u5C5E\u5B9E\n- \u2753 **\u65E0\u6CD5\u786E\u5B9A**: \u8BC1\u636E\u4E0D\u8DB3\u6216\u76F8\u4E92\u77DB\u76FE\n";
|
|
6
|
+
export { Config } from './config';
|
|
7
|
+
export declare function apply(ctx: Context, config: Config): void;
|