knight-agent 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/Host.d.ts +3 -11
  2. package/Host.d.ts.map +1 -1
  3. package/Host.js +4 -5
  4. package/Host.js.map +1 -1
  5. package/base/AbstractAgent.d.ts +1 -99
  6. package/base/AbstractAgent.d.ts.map +1 -1
  7. package/base/AbstractAgent.js +94 -20
  8. package/base/AbstractAgent.js.map +1 -1
  9. package/base/AbstractLLM.d.ts +43 -0
  10. package/base/AbstractLLM.d.ts.map +1 -0
  11. package/base/AbstractLLM.js +121 -0
  12. package/base/AbstractLLM.js.map +1 -0
  13. package/base/AbstractModule.d.ts +1 -0
  14. package/base/AbstractModule.d.ts.map +1 -1
  15. package/base/AbstractModule.js +3 -0
  16. package/base/AbstractModule.js.map +1 -1
  17. package/base/AbstractObject.d.ts +6 -4
  18. package/base/AbstractObject.d.ts.map +1 -1
  19. package/base/AbstractObject.js +6 -2
  20. package/base/AbstractObject.js.map +1 -1
  21. package/base/index.d.ts +1 -4
  22. package/base/index.d.ts.map +1 -1
  23. package/base/index.js +1 -4
  24. package/base/index.js.map +1 -1
  25. package/index.d.ts +2 -1
  26. package/index.d.ts.map +1 -1
  27. package/index.js +2 -6
  28. package/index.js.map +1 -1
  29. package/module/AgentModule/Agent.d.ts +1 -54
  30. package/module/AgentModule/Agent.d.ts.map +1 -1
  31. package/module/AgentModule/Agent.js +22 -207
  32. package/module/AgentModule/Agent.js.map +1 -1
  33. package/module/AgentModule/AgentModule.d.ts +1 -25
  34. package/module/AgentModule/AgentModule.d.ts.map +1 -1
  35. package/module/AgentModule/AgentModule.js +78 -63
  36. package/module/AgentModule/AgentModule.js.map +1 -1
  37. package/module/AgentModule/index.d.ts +1 -1
  38. package/module/AgentModule/index.d.ts.map +1 -1
  39. package/module/AgentModule/index.js +2 -15
  40. package/module/AgentModule/index.js.map +1 -1
  41. package/module/LLMModule/ClaudeLLM.d.ts +23 -0
  42. package/module/LLMModule/ClaudeLLM.d.ts.map +1 -0
  43. package/module/LLMModule/ClaudeLLM.js +138 -0
  44. package/module/LLMModule/ClaudeLLM.js.map +1 -0
  45. package/module/LLMModule/DeepSeekLLM.d.ts +24 -0
  46. package/module/LLMModule/DeepSeekLLM.d.ts.map +1 -0
  47. package/module/LLMModule/DeepSeekLLM.js +136 -0
  48. package/module/LLMModule/DeepSeekLLM.js.map +1 -0
  49. package/module/LLMModule/GeminiLLM.d.ts +23 -0
  50. package/module/LLMModule/GeminiLLM.d.ts.map +1 -0
  51. package/module/LLMModule/GeminiLLM.js +168 -0
  52. package/module/LLMModule/GeminiLLM.js.map +1 -0
  53. package/module/LLMModule/LLMModule.d.ts +33 -0
  54. package/module/LLMModule/LLMModule.d.ts.map +1 -0
  55. package/module/LLMModule/LLMModule.js +92 -0
  56. package/module/LLMModule/LLMModule.js.map +1 -0
  57. package/module/LLMModule/OpenAILLM.d.ts +23 -0
  58. package/module/LLMModule/OpenAILLM.d.ts.map +1 -0
  59. package/module/LLMModule/OpenAILLM.js +145 -0
  60. package/module/LLMModule/OpenAILLM.js.map +1 -0
  61. package/module/LLMModule/QWenLLM.d.ts +23 -0
  62. package/module/LLMModule/QWenLLM.d.ts.map +1 -0
  63. package/module/LLMModule/QWenLLM.js +137 -0
  64. package/module/LLMModule/QWenLLM.js.map +1 -0
  65. package/module/LLMModule/index.d.ts +7 -0
  66. package/module/LLMModule/index.d.ts.map +1 -0
  67. package/module/{SkillModule → LLMModule}/index.js +6 -1
  68. package/module/LLMModule/index.js.map +1 -0
  69. package/module/index.d.ts +1 -4
  70. package/module/index.d.ts.map +1 -1
  71. package/module/index.js +1 -4
  72. package/module/index.js.map +1 -1
  73. package/package.json +1 -1
  74. package/utility/AgentUtility.d.ts +38 -0
  75. package/utility/AgentUtility.d.ts.map +1 -0
  76. package/{base/AbstractTool.js → utility/AgentUtility.js} +1 -1
  77. package/utility/AgentUtility.js.map +1 -0
  78. package/utility/LLMUtility.d.ts +1328 -0
  79. package/utility/LLMUtility.d.ts.map +1 -0
  80. package/utility/LLMUtility.js +114 -0
  81. package/utility/LLMUtility.js.map +1 -0
  82. package/utility/index.d.ts +2 -1
  83. package/utility/index.d.ts.map +1 -1
  84. package/utility/index.js +2 -1
  85. package/utility/index.js.map +1 -1
  86. package/base/AbstractDialog.d.ts +0 -54
  87. package/base/AbstractDialog.d.ts.map +0 -1
  88. package/base/AbstractDialog.js +0 -86
  89. package/base/AbstractDialog.js.map +0 -1
  90. package/base/AbstractReason.d.ts +0 -44
  91. package/base/AbstractReason.d.ts.map +0 -1
  92. package/base/AbstractReason.js +0 -23
  93. package/base/AbstractReason.js.map +0 -1
  94. package/base/AbstractSkill.d.ts +0 -25
  95. package/base/AbstractSkill.d.ts.map +0 -1
  96. package/base/AbstractSkill.js +0 -3
  97. package/base/AbstractSkill.js.map +0 -1
  98. package/base/AbstractTool.d.ts +0 -34
  99. package/base/AbstractTool.d.ts.map +0 -1
  100. package/base/AbstractTool.js.map +0 -1
  101. package/docs/ARCHITECTURE.md +0 -601
  102. package/docs/README.md +0 -562
  103. package/module/AgentModule/Memory.d.ts +0 -55
  104. package/module/AgentModule/Memory.d.ts.map +0 -1
  105. package/module/AgentModule/Memory.js +0 -288
  106. package/module/AgentModule/Memory.js.map +0 -1
  107. package/module/DialogModule/Dialog.d.ts +0 -14
  108. package/module/DialogModule/Dialog.d.ts.map +0 -1
  109. package/module/DialogModule/Dialog.js +0 -27
  110. package/module/DialogModule/Dialog.js.map +0 -1
  111. package/module/DialogModule/DialogModule.d.ts +0 -39
  112. package/module/DialogModule/DialogModule.d.ts.map +0 -1
  113. package/module/DialogModule/DialogModule.js +0 -118
  114. package/module/DialogModule/DialogModule.js.map +0 -1
  115. package/module/DialogModule/index.d.ts +0 -3
  116. package/module/DialogModule/index.d.ts.map +0 -1
  117. package/module/DialogModule/index.js +0 -19
  118. package/module/DialogModule/index.js.map +0 -1
  119. package/module/ReasonModule/ChainReason.d.ts +0 -11
  120. package/module/ReasonModule/ChainReason.d.ts.map +0 -1
  121. package/module/ReasonModule/ChainReason.js +0 -34
  122. package/module/ReasonModule/ChainReason.js.map +0 -1
  123. package/module/ReasonModule/CommanderReason.d.ts +0 -15
  124. package/module/ReasonModule/CommanderReason.d.ts.map +0 -1
  125. package/module/ReasonModule/CommanderReason.js +0 -151
  126. package/module/ReasonModule/CommanderReason.js.map +0 -1
  127. package/module/ReasonModule/CompetitiveReason.d.ts +0 -13
  128. package/module/ReasonModule/CompetitiveReason.d.ts.map +0 -1
  129. package/module/ReasonModule/CompetitiveReason.js +0 -133
  130. package/module/ReasonModule/CompetitiveReason.js.map +0 -1
  131. package/module/ReasonModule/PlanReason.d.ts +0 -25
  132. package/module/ReasonModule/PlanReason.d.ts.map +0 -1
  133. package/module/ReasonModule/PlanReason.js +0 -133
  134. package/module/ReasonModule/PlanReason.js.map +0 -1
  135. package/module/ReasonModule/ReasonModule.d.ts +0 -41
  136. package/module/ReasonModule/ReasonModule.d.ts.map +0 -1
  137. package/module/ReasonModule/ReasonModule.js +0 -83
  138. package/module/ReasonModule/ReasonModule.js.map +0 -1
  139. package/module/ReasonModule/ReflectReason.d.ts +0 -15
  140. package/module/ReasonModule/ReflectReason.d.ts.map +0 -1
  141. package/module/ReasonModule/ReflectReason.js +0 -86
  142. package/module/ReasonModule/ReflectReason.js.map +0 -1
  143. package/module/ReasonModule/TreeReason.d.ts +0 -16
  144. package/module/ReasonModule/TreeReason.d.ts.map +0 -1
  145. package/module/ReasonModule/TreeReason.js +0 -139
  146. package/module/ReasonModule/TreeReason.js.map +0 -1
  147. package/module/ReasonModule/index.d.ts +0 -8
  148. package/module/ReasonModule/index.d.ts.map +0 -1
  149. package/module/ReasonModule/index.js +0 -24
  150. package/module/ReasonModule/index.js.map +0 -1
  151. package/module/SkillModule/SkillModule.d.ts +0 -42
  152. package/module/SkillModule/SkillModule.d.ts.map +0 -1
  153. package/module/SkillModule/SkillModule.js +0 -134
  154. package/module/SkillModule/SkillModule.js.map +0 -1
  155. package/module/SkillModule/index.d.ts +0 -2
  156. package/module/SkillModule/index.d.ts.map +0 -1
  157. package/module/SkillModule/index.js.map +0 -1
  158. package/module/ToolModule/ToolModule.d.ts +0 -57
  159. package/module/ToolModule/ToolModule.d.ts.map +0 -1
  160. package/module/ToolModule/ToolModule.js +0 -220
  161. package/module/ToolModule/ToolModule.js.map +0 -1
  162. package/module/ToolModule/ToolRAG.d.ts +0 -38
  163. package/module/ToolModule/ToolRAG.d.ts.map +0 -1
  164. package/module/ToolModule/ToolRAG.js +0 -124
  165. package/module/ToolModule/ToolRAG.js.map +0 -1
  166. package/module/ToolModule/index.d.ts +0 -3
  167. package/module/ToolModule/index.d.ts.map +0 -1
  168. package/module/ToolModule/index.js +0 -19
  169. package/module/ToolModule/index.js.map +0 -1
  170. package/utility/OpenAIUtility.d.ts +0 -333
  171. package/utility/OpenAIUtility.d.ts.map +0 -1
  172. package/utility/OpenAIUtility.js +0 -95
  173. package/utility/OpenAIUtility.js.map +0 -1
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClaudeLLM = void 0;
4
+ const base_1 = require("../../base");
5
+ const utility_1 = require("../../utility");
6
+ /** Claude大模型 */
7
+ class ClaudeLLM extends base_1.AbstractLLM {
8
+ /** 构造函数 */
9
+ constructor(config) {
10
+ super({
11
+ type: "Claude",
12
+ url: "https://api.anthropic.com/v1/messages",
13
+ apiKey: "",
14
+ model: "claude-sonnet-4-6",
15
+ timeout: 60000,
16
+ temperature: 1,
17
+ topP: 1,
18
+ maxTokens: 4096,
19
+ stop: undefined,
20
+ stream: false,
21
+ seed: undefined,
22
+ maxMessageCache: 10,
23
+ maxToolOutput: 800,
24
+ thinking: { type: "disabled" },
25
+ outputConfig: { effort: "medium" },
26
+ speed: "standard",
27
+ userId: undefined,
28
+ ...config
29
+ });
30
+ }
31
+ // ======================== 受保护实现 ========================
32
+ /** @override — Claude 的系统消息是顶层字段,不进入缓存 */
33
+ addSystemMessage(text) { }
34
+ /** @override */
35
+ addUserMessage(text) {
36
+ const message = { role: "user", content: text };
37
+ this.messages.Add(message);
38
+ }
39
+ /** @override */
40
+ addAssistantMessage(content, toolCalls) {
41
+ const blocks = [];
42
+ if (content) {
43
+ blocks.push({ type: "text", text: content });
44
+ }
45
+ if (toolCalls?.length) {
46
+ for (const tc of toolCalls) {
47
+ blocks.push({ type: "tool_use", id: tc.id, name: tc.name, input: tc.arguments });
48
+ }
49
+ }
50
+ const message = { role: "assistant", content: blocks.length === 1 && blocks[0].type === "text" ? content : blocks };
51
+ this.messages.Add(message);
52
+ }
53
+ /** @override */
54
+ addToolMessage(result) {
55
+ const message = { role: "user", content: [{ type: "tool_result", tool_use_id: result.id, content: result.data }] };
56
+ this.messages.Add(message);
57
+ }
58
+ /** @override — 截断过长的 tool_result 内容 */
59
+ compactMessages() {
60
+ const maxLen = this.config.maxToolOutput ?? 800;
61
+ this.messages.Compact((messageData) => {
62
+ if (messageData.role !== "user" || typeof messageData.content === "string") {
63
+ return messageData;
64
+ }
65
+ let modified = false;
66
+ const blocks = messageData.content.map(contentBlock => {
67
+ if (contentBlock.type === "tool_result" && contentBlock.content && contentBlock.content.length > maxLen) {
68
+ modified = true;
69
+ return { ...contentBlock, content: contentBlock.content.slice(0, maxLen) + `\n[truncated: ${contentBlock.content.length - maxLen} chars omitted]` };
70
+ }
71
+ return contentBlock;
72
+ });
73
+ return modified ? { ...messageData, content: blocks } : messageData;
74
+ });
75
+ }
76
+ /** @override — 停止原因 */
77
+ stopReason(reason) {
78
+ switch (reason) {
79
+ case "end_turn": return "stop";
80
+ case "max_tokens": return "length";
81
+ case "tool_use": return "tool_calls";
82
+ default: return "unknown";
83
+ }
84
+ }
85
+ /** @override */
86
+ async request(tools) {
87
+ const messages = [...this.messages.All()];
88
+ /** JSON 模式:预填 assistant 消息以 { 开头,强制 JSON 输出 */
89
+ if (this.config.responseFormat === "json_object") {
90
+ messages.push({ role: "assistant", content: "{" });
91
+ }
92
+ // 构建请求体
93
+ const body = {
94
+ model: this.config.model,
95
+ messages,
96
+ system: this.systemPrompt || undefined,
97
+ max_tokens: this.config.maxTokens,
98
+ temperature: this.config.temperature,
99
+ top_p: this.config.topP,
100
+ top_k: undefined,
101
+ stop_sequences: this.config.stop ? (Array.isArray(this.config.stop) ? this.config.stop : [this.config.stop]) : undefined,
102
+ stream: this.config.stream,
103
+ thinking: this.config.thinking,
104
+ tools: tools.length > 0 ? tools.map(t => ({ name: t.name, description: t.description, input_schema: t.inputSchema })) : undefined,
105
+ tool_choice: undefined,
106
+ metadata: this.config.userId ? { user_id: this.config.userId } : undefined,
107
+ };
108
+ // 发送请求
109
+ const response = await utility_1.NetworkUtility.HTTP.OnRequest(this.config.url, {
110
+ method: "post",
111
+ data: body,
112
+ headers: { "x-api-key": this.config.apiKey, "anthropic-version": "2023-06-01", "Content-Type": "application/json", },
113
+ timeout: this.config.timeout,
114
+ });
115
+ const data = response.data;
116
+ const textBlocks = data.content?.filter((b) => b.type === "text") ?? [];
117
+ const toolBlocks = data.content?.filter((b) => b.type === "tool_use") ?? [];
118
+ const content = textBlocks.map(b => b.text).join("");
119
+ return {
120
+ id: data.id ?? "",
121
+ model: data.model ?? "",
122
+ content,
123
+ toolCalls: toolBlocks.map(tc => ({ id: tc.id, name: tc.name, arguments: tc.input ?? {} })),
124
+ finishReason: this.stopReason(data.stop_reason),
125
+ usage: {
126
+ input: data.usage?.input_tokens ?? 0,
127
+ output: data.usage?.output_tokens ?? 0,
128
+ total: (data.usage?.input_tokens ?? 0) + (data.usage?.output_tokens ?? 0),
129
+ },
130
+ raw: data,
131
+ };
132
+ }
133
+ OnDestroy() {
134
+ return super.OnDestroy();
135
+ }
136
+ }
137
+ exports.ClaudeLLM = ClaudeLLM;
138
+ //# sourceMappingURL=ClaudeLLM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaudeLLM.js","sourceRoot":"","sources":["../../../src/module/LLMModule/ClaudeLLM.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { AbstractLLM } from "../../base";
2
+ import { LLMUtility } from "../../utility";
3
+ /** DeepSeek大模型 */
4
+ export declare class DeepSeekLLM extends AbstractLLM<LLMUtility.DeepSeek.Config, LLMUtility.DeepSeek.MessageData> {
5
+ protected readonly path: string;
6
+ /** 构造函数 */
7
+ constructor(config?: LLMUtility.DeepSeek.Config);
8
+ /** @override */
9
+ protected addSystemMessage(text: string): void;
10
+ /** @override */
11
+ protected addUserMessage(text: string): void;
12
+ /** @override */
13
+ protected addAssistantMessage(content: string, toolCalls?: Array<LLMUtility.ToolCall>): void;
14
+ /** @override */
15
+ protected addToolMessage(result: LLMUtility.ToolResult): void;
16
+ /** @override — 截断过长工具输出 */
17
+ protected compactMessages(): void;
18
+ /** @override — 停止原因 */
19
+ protected stopReason(reason: string): LLMUtility.FinishReason;
20
+ /** @override */
21
+ protected request(tools: LLMUtility.ToolDefinition[]): Promise<LLMUtility.Response>;
22
+ OnDestroy(): boolean;
23
+ }
24
+ //# sourceMappingURL=DeepSeekLLM.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeepSeekLLM.d.ts","sourceRoot":"","sources":["../../../src/module/LLMModule/DeepSeekLLM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3D,kBAAkB;AAClB,qBAAa,WAAY,SAAQ,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC;IAErG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA+C;IAE9E,WAAW;gBACQ,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;IAwBtD,gBAAgB;IAChB,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9C,gBAAgB;IAChB,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM5C,gBAAgB;IAChB,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IAkB5F,gBAAgB;IAChB,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI;IAM7D,2BAA2B;IAC3B,SAAS,CAAC,eAAe,IAAI,IAAI;IAYjC,uBAAuB;IACvB,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY;IAW7D,gBAAgB;cACA,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAoDlF,SAAS,IAAI,OAAO;CAI9B"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeepSeekLLM = void 0;
4
+ const base_1 = require("../../base");
5
+ const utility_1 = require("../../utility");
6
+ /** DeepSeek大模型 */
7
+ class DeepSeekLLM extends base_1.AbstractLLM {
8
+ /** 构造函数 */
9
+ constructor(config) {
10
+ super({
11
+ type: "DeepSeek",
12
+ apiKey: "",
13
+ model: "deepseek-chat",
14
+ timeout: 60000,
15
+ temperature: 1,
16
+ topP: 1,
17
+ maxTokens: 4096,
18
+ stop: undefined,
19
+ stream: false,
20
+ seed: undefined,
21
+ maxMessageCache: 10,
22
+ maxToolOutput: 800,
23
+ thinking: { type: "disabled" },
24
+ responseFormat: "text",
25
+ userId: undefined,
26
+ ...config
27
+ });
28
+ this.path = "https://api.deepseek.com/chat/completions";
29
+ }
30
+ // ======================== 受保护实现 ========================
31
+ /** @override */
32
+ addSystemMessage(text) {
33
+ const message = { role: "system", content: text, preserve: true };
34
+ this.messages.Add(message);
35
+ }
36
+ /** @override */
37
+ addUserMessage(text) {
38
+ const message = { role: "user", content: text };
39
+ this.messages.Add(message);
40
+ }
41
+ /** @override */
42
+ addAssistantMessage(content, toolCalls) {
43
+ const message = {
44
+ role: "assistant",
45
+ content: content || null,
46
+ tool_calls: toolCalls?.map((tc, i) => ({
47
+ index: i,
48
+ id: tc.id,
49
+ type: "function",
50
+ function: {
51
+ name: tc.name,
52
+ arguments: JSON.stringify(tc.arguments),
53
+ },
54
+ })),
55
+ };
56
+ this.messages.Add(message);
57
+ }
58
+ /** @override */
59
+ addToolMessage(result) {
60
+ const message = { role: "tool", tool_call_id: result.id, content: result.data };
61
+ this.messages.Add(message);
62
+ }
63
+ /** @override — 截断过长工具输出 */
64
+ compactMessages() {
65
+ const maxLen = this.config.maxToolOutput ?? 800;
66
+ this.messages.Compact((message) => {
67
+ if (message.role === "tool" && message.content && message.content.length > maxLen) {
68
+ return { ...message, content: message.content.slice(0, maxLen) + `\n[truncated: ${message.content.length - maxLen} chars omitted]` };
69
+ }
70
+ return message;
71
+ });
72
+ }
73
+ /** @override — 停止原因 */
74
+ stopReason(reason) {
75
+ switch (reason) {
76
+ case "stop": return "stop";
77
+ case "length": return "length";
78
+ case "tool_calls": return "tool_calls";
79
+ case "content_filter": return "content_filter";
80
+ default: return "unknown";
81
+ }
82
+ }
83
+ /** @override */
84
+ async request(tools) {
85
+ const messages = this.messages.All();
86
+ const body = {
87
+ model: this.config.model,
88
+ messages,
89
+ thinking: this.config.thinking,
90
+ response_format: this.config.responseFormat && this.config.responseFormat !== "text" ? { type: this.config.responseFormat } : undefined,
91
+ temperature: this.config.temperature,
92
+ top_p: this.config.topP,
93
+ max_tokens: this.config.maxTokens,
94
+ stop: this.config.stop,
95
+ stream: this.config.stream,
96
+ stream_options: undefined,
97
+ frequency_penalty: undefined,
98
+ presence_penalty: undefined,
99
+ logprobs: undefined,
100
+ top_logprobs: undefined,
101
+ tools: tools.length > 0 ? tools.map(t => ({ type: "function", function: { name: t.name, description: t.description, parameters: t.inputSchema } })) : undefined,
102
+ tool_choice: undefined,
103
+ };
104
+ const response = await utility_1.NetworkUtility.HTTP.OnRequest(this.path, {
105
+ method: "post",
106
+ data: body,
107
+ headers: { "Authorization": `Bearer ${this.config.apiKey}`, "Content-Type": "application/json", },
108
+ timeout: this.config.timeout,
109
+ });
110
+ const data = response.data;
111
+ const choice = data.choices?.[0];
112
+ const message = choice?.message;
113
+ return {
114
+ id: data.id ?? "",
115
+ model: data.model ?? "",
116
+ content: message?.content ?? "",
117
+ toolCalls: message?.tool_calls?.map(tc => ({
118
+ id: tc.id,
119
+ name: tc.function.name,
120
+ arguments: typeof tc.function.arguments === "string" ? JSON.parse(tc.function.arguments) : tc.function.arguments,
121
+ })),
122
+ finishReason: this.stopReason(choice?.finish_reason),
123
+ usage: {
124
+ input: data.usage?.prompt_tokens ?? 0,
125
+ output: data.usage?.completion_tokens ?? 0,
126
+ total: data.usage?.total_tokens ?? 0,
127
+ },
128
+ raw: data,
129
+ };
130
+ }
131
+ OnDestroy() {
132
+ return super.OnDestroy();
133
+ }
134
+ }
135
+ exports.DeepSeekLLM = DeepSeekLLM;
136
+ //# sourceMappingURL=DeepSeekLLM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeepSeekLLM.js","sourceRoot":"","sources":["../../../src/module/LLMModule/DeepSeekLLM.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { AbstractLLM } from "../../base";
2
+ import { LLMUtility } from "../../utility";
3
+ /** Gemini大模型 */
4
+ export declare class GeminiLLM extends AbstractLLM<LLMUtility.Gemini.Config, LLMUtility.Gemini.MessageData> {
5
+ /** 构造函数 */
6
+ constructor(config?: LLMUtility.Gemini.Config);
7
+ /** @override — Gemini 的 systemInstruction 是顶层字段,不进入缓存 */
8
+ protected addSystemMessage(text: string): void;
9
+ /** @override */
10
+ protected addUserMessage(text: string): void;
11
+ /** @override */
12
+ protected addAssistantMessage(content: string, toolCalls?: Array<LLMUtility.ToolCall>): void;
13
+ /** @override */
14
+ protected addToolMessage(result: LLMUtility.ToolResult): void;
15
+ /** @override — 截断过长的 functionResponse 内容 */
16
+ protected compactMessages(): void;
17
+ /** @override — 停止原因 */
18
+ protected stopReason(reason: string): LLMUtility.FinishReason;
19
+ /** @override */
20
+ protected request(tools: LLMUtility.ToolDefinition[]): Promise<LLMUtility.Response>;
21
+ OnDestroy(): boolean;
22
+ }
23
+ //# sourceMappingURL=GeminiLLM.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeminiLLM.d.ts","sourceRoot":"","sources":["../../../src/module/LLMModule/GeminiLLM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3D,gBAAgB;AAChB,qBAAa,SAAU,SAAQ,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;IAG/F,WAAW;gBACQ,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;IA6BpD,yDAAyD;IACzD,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAE9C,gBAAgB;IAChB,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM5C,gBAAgB;IAChB,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IAkB5F,gBAAgB;IAChB,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI;IAQ7D,4CAA4C;IAC5C,SAAS,CAAC,eAAe,IAAI,IAAI;IAiCjC,uBAAuB;IACvB,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY;IAW7D,gBAAgB;cACA,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAkElF,SAAS,IAAI,OAAO;CAI9B"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeminiLLM = void 0;
4
+ const base_1 = require("../../base");
5
+ const utility_1 = require("../../utility");
6
+ /** Gemini大模型 */
7
+ class GeminiLLM extends base_1.AbstractLLM {
8
+ /** 构造函数 */
9
+ constructor(config) {
10
+ super({
11
+ type: "Gemini",
12
+ url: `https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent`,
13
+ apiKey: "",
14
+ model: "gemini-2.5-flash",
15
+ timeout: 60000,
16
+ temperature: 1,
17
+ topP: 1,
18
+ topK: 40,
19
+ maxTokens: 4096,
20
+ stop: undefined,
21
+ stream: false,
22
+ seed: undefined,
23
+ maxMessageCache: 10,
24
+ maxToolOutput: 800,
25
+ candidateCount: undefined,
26
+ responseFormat: "text",
27
+ thinkingConfig: undefined,
28
+ safetySettings: undefined,
29
+ responseModalities: undefined,
30
+ ...config
31
+ });
32
+ this.config.url = this.config.url.replace("{model}", this.config.model);
33
+ }
34
+ // ======================== 受保护实现 ========================
35
+ /** @override — Gemini 的 systemInstruction 是顶层字段,不进入缓存 */
36
+ addSystemMessage(text) { }
37
+ /** @override */
38
+ addUserMessage(text) {
39
+ const message = { role: "user", parts: [{ text }] };
40
+ this.messages.Add(message);
41
+ }
42
+ /** @override */
43
+ addAssistantMessage(content, toolCalls) {
44
+ const parts = [];
45
+ if (content) {
46
+ parts.push({ text: content });
47
+ }
48
+ if (toolCalls?.length) {
49
+ for (const tc of toolCalls) {
50
+ parts.push({ functionCall: { name: tc.name, args: tc.arguments } });
51
+ }
52
+ }
53
+ const message = { role: "model", parts };
54
+ this.messages.Add(message);
55
+ }
56
+ /** @override */
57
+ addToolMessage(result) {
58
+ let parsed;
59
+ try {
60
+ parsed = JSON.parse(result.data);
61
+ }
62
+ catch {
63
+ parsed = { result };
64
+ }
65
+ const message = { role: "user", parts: [{ functionResponse: { name: result.name, response: parsed } }] };
66
+ this.messages.Add(message);
67
+ }
68
+ /** @override — 截断过长的 functionResponse 内容 */
69
+ compactMessages() {
70
+ const maxLen = this.config.maxToolOutput ?? 800;
71
+ this.messages.Compact((message) => {
72
+ if (message.role !== "user") {
73
+ return message;
74
+ }
75
+ let modified = false;
76
+ const parts = message.parts.map(part => {
77
+ if ("functionResponse" in part) {
78
+ const str = JSON.stringify(part.functionResponse.response);
79
+ if (str.length > maxLen) {
80
+ modified = true;
81
+ return {
82
+ ...part,
83
+ functionResponse: {
84
+ ...part.functionResponse,
85
+ response: { _truncated: true, preview: str.slice(0, maxLen), omitted: str.length - maxLen },
86
+ },
87
+ };
88
+ }
89
+ }
90
+ return part;
91
+ });
92
+ return modified ? { ...message, parts } : message;
93
+ });
94
+ }
95
+ /** @override — 停止原因 */
96
+ stopReason(reason) {
97
+ switch (reason) {
98
+ case "STOP": return "stop";
99
+ case "MAX_TOKENS": return "length";
100
+ case "SAFETY":
101
+ case "RECITATION": return "content_filter";
102
+ default: return "unknown";
103
+ }
104
+ }
105
+ /** @override */
106
+ async request(tools) {
107
+ const contents = this.messages.All();
108
+ const generationConfig = {
109
+ temperature: this.config.temperature,
110
+ topP: this.config.topP,
111
+ topK: this.config.topK,
112
+ candidateCount: this.config.candidateCount,
113
+ maxOutputTokens: this.config.maxTokens,
114
+ stopSequences: this.config.stop ? (Array.isArray(this.config.stop) ? this.config.stop : [this.config.stop]) : undefined,
115
+ responseMimeType: this.config.responseFormat === "json_object" ? "application/json" : undefined,
116
+ responseSchema: undefined,
117
+ };
118
+ const body = {
119
+ contents,
120
+ systemInstruction: this.systemPrompt ? { parts: [{ text: this.systemPrompt }] } : undefined,
121
+ generationConfig,
122
+ safetySettings: this.config.safetySettings,
123
+ tools: tools.length > 0
124
+ ? [{
125
+ functionDeclarations: tools.map(t => ({
126
+ name: t.name,
127
+ description: t.description,
128
+ parameters: t.inputSchema,
129
+ }))
130
+ }]
131
+ : undefined,
132
+ toolConfig: undefined,
133
+ };
134
+ const response = await utility_1.NetworkUtility.HTTP.OnRequest(`${this.config.url}?key=${this.config.apiKey}`, {
135
+ method: "post",
136
+ data: body,
137
+ headers: { "Content-Type": "application/json" },
138
+ timeout: this.config.timeout,
139
+ });
140
+ const data = response.data;
141
+ const candidate = data.candidates?.[0];
142
+ const parts = candidate?.content?.parts ?? [];
143
+ const textContent = parts.filter((p) => "text" in p && !p.thought).map(p => p.text).join("");
144
+ const functionCalls = parts.filter((p) => "functionCall" in p);
145
+ return {
146
+ id: data.responseId ?? data.modelVersion ?? `gemini-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`,
147
+ model: data.modelVersion ?? this.config.model,
148
+ content: textContent,
149
+ toolCalls: functionCalls.map(fc => ({
150
+ id: crypto.randomUUID(),
151
+ name: fc.functionCall.name,
152
+ arguments: fc.functionCall.args ?? {},
153
+ })),
154
+ finishReason: this.stopReason(candidate?.finishReason),
155
+ usage: {
156
+ input: data.usageMetadata?.promptTokenCount ?? 0,
157
+ output: data.usageMetadata?.candidatesTokenCount ?? 0,
158
+ total: data.usageMetadata?.totalTokenCount ?? 0,
159
+ },
160
+ raw: data,
161
+ };
162
+ }
163
+ OnDestroy() {
164
+ return super.OnDestroy();
165
+ }
166
+ }
167
+ exports.GeminiLLM = GeminiLLM;
168
+ //# sourceMappingURL=GeminiLLM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeminiLLM.js","sourceRoot":"","sources":["../../../src/module/LLMModule/GeminiLLM.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { AbstractModule, AbstractLLM } from "../../base";
2
+ import { LLMUtility } from "../../utility";
3
+ /** 大模型管理模块 */
4
+ export declare class LLMModule extends AbstractModule {
5
+ /** 大模型池 */
6
+ private readonly llms;
7
+ /** 构造函数 */
8
+ constructor();
9
+ /**
10
+ * 从快照恢复大模型实例
11
+ * @param data 大模型快照
12
+ * @returns 恢复后的大模型实例
13
+ */
14
+ restore(data: LLMUtility.Snapshot): AbstractLLM;
15
+ /** 获取大模型实例 */
16
+ get<T extends AbstractLLM = AbstractLLM>(id: string): T;
17
+ /**
18
+ * 添加大模型实例
19
+ * @param config 大模型配置
20
+ * @return 大模型实例
21
+ */
22
+ add(config: LLMUtility.Config): AbstractLLM;
23
+ /**
24
+ * 移除大模型实例
25
+ * @param id 大模型ID
26
+ * @returns 移除结果
27
+ */
28
+ remove(id: string): boolean;
29
+ /** 移除全部大模型实例 */
30
+ removeAll(): void;
31
+ OnDestroy(): boolean;
32
+ }
33
+ //# sourceMappingURL=LLMModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMModule.d.ts","sourceRoot":"","sources":["../../../src/module/LLMModule/LLMModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AAO1D,cAAc;AACd,qBAAa,SAAU,SAAQ,cAAc;IAEzC,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC;IAE1D,WAAW;;IAMX;;;;OAIG;IACI,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,GAAG,WAAW;IAOtD,cAAc;IACP,GAAG,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;IAI9D;;;;OAIG;IACI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,WAAW;IAgBlD;;;;OAIG;IACI,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IASlC,gBAAgB;IACT,SAAS,IAAI,IAAI;IAOjB,SAAS,IAAI,OAAO;CAK9B"}