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.
- package/Host.d.ts +3 -11
- package/Host.d.ts.map +1 -1
- package/Host.js +4 -5
- package/Host.js.map +1 -1
- package/base/AbstractAgent.d.ts +1 -99
- package/base/AbstractAgent.d.ts.map +1 -1
- package/base/AbstractAgent.js +94 -20
- package/base/AbstractAgent.js.map +1 -1
- package/base/AbstractLLM.d.ts +43 -0
- package/base/AbstractLLM.d.ts.map +1 -0
- package/base/AbstractLLM.js +121 -0
- package/base/AbstractLLM.js.map +1 -0
- package/base/AbstractModule.d.ts +1 -0
- package/base/AbstractModule.d.ts.map +1 -1
- package/base/AbstractModule.js +3 -0
- package/base/AbstractModule.js.map +1 -1
- package/base/AbstractObject.d.ts +6 -4
- package/base/AbstractObject.d.ts.map +1 -1
- package/base/AbstractObject.js +6 -2
- package/base/AbstractObject.js.map +1 -1
- package/base/index.d.ts +1 -4
- package/base/index.d.ts.map +1 -1
- package/base/index.js +1 -4
- package/base/index.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +2 -6
- package/index.js.map +1 -1
- package/module/AgentModule/Agent.d.ts +1 -54
- package/module/AgentModule/Agent.d.ts.map +1 -1
- package/module/AgentModule/Agent.js +22 -207
- package/module/AgentModule/Agent.js.map +1 -1
- package/module/AgentModule/AgentModule.d.ts +1 -25
- package/module/AgentModule/AgentModule.d.ts.map +1 -1
- package/module/AgentModule/AgentModule.js +78 -63
- package/module/AgentModule/AgentModule.js.map +1 -1
- package/module/AgentModule/index.d.ts +1 -1
- package/module/AgentModule/index.d.ts.map +1 -1
- package/module/AgentModule/index.js +2 -15
- package/module/AgentModule/index.js.map +1 -1
- package/module/LLMModule/ClaudeLLM.d.ts +23 -0
- package/module/LLMModule/ClaudeLLM.d.ts.map +1 -0
- package/module/LLMModule/ClaudeLLM.js +138 -0
- package/module/LLMModule/ClaudeLLM.js.map +1 -0
- package/module/LLMModule/DeepSeekLLM.d.ts +24 -0
- package/module/LLMModule/DeepSeekLLM.d.ts.map +1 -0
- package/module/LLMModule/DeepSeekLLM.js +136 -0
- package/module/LLMModule/DeepSeekLLM.js.map +1 -0
- package/module/LLMModule/GeminiLLM.d.ts +23 -0
- package/module/LLMModule/GeminiLLM.d.ts.map +1 -0
- package/module/LLMModule/GeminiLLM.js +168 -0
- package/module/LLMModule/GeminiLLM.js.map +1 -0
- package/module/LLMModule/LLMModule.d.ts +33 -0
- package/module/LLMModule/LLMModule.d.ts.map +1 -0
- package/module/LLMModule/LLMModule.js +92 -0
- package/module/LLMModule/LLMModule.js.map +1 -0
- package/module/LLMModule/OpenAILLM.d.ts +23 -0
- package/module/LLMModule/OpenAILLM.d.ts.map +1 -0
- package/module/LLMModule/OpenAILLM.js +145 -0
- package/module/LLMModule/OpenAILLM.js.map +1 -0
- package/module/LLMModule/QWenLLM.d.ts +23 -0
- package/module/LLMModule/QWenLLM.d.ts.map +1 -0
- package/module/LLMModule/QWenLLM.js +137 -0
- package/module/LLMModule/QWenLLM.js.map +1 -0
- package/module/LLMModule/index.d.ts +7 -0
- package/module/LLMModule/index.d.ts.map +1 -0
- package/module/{SkillModule → LLMModule}/index.js +6 -1
- package/module/LLMModule/index.js.map +1 -0
- package/module/index.d.ts +1 -4
- package/module/index.d.ts.map +1 -1
- package/module/index.js +1 -4
- package/module/index.js.map +1 -1
- package/package.json +1 -1
- package/utility/AgentUtility.d.ts +38 -0
- package/utility/AgentUtility.d.ts.map +1 -0
- package/{base/AbstractTool.js → utility/AgentUtility.js} +1 -1
- package/utility/AgentUtility.js.map +1 -0
- package/utility/LLMUtility.d.ts +1328 -0
- package/utility/LLMUtility.d.ts.map +1 -0
- package/utility/LLMUtility.js +114 -0
- package/utility/LLMUtility.js.map +1 -0
- package/utility/index.d.ts +2 -1
- package/utility/index.d.ts.map +1 -1
- package/utility/index.js +2 -1
- package/utility/index.js.map +1 -1
- package/base/AbstractDialog.d.ts +0 -54
- package/base/AbstractDialog.d.ts.map +0 -1
- package/base/AbstractDialog.js +0 -86
- package/base/AbstractDialog.js.map +0 -1
- package/base/AbstractReason.d.ts +0 -44
- package/base/AbstractReason.d.ts.map +0 -1
- package/base/AbstractReason.js +0 -23
- package/base/AbstractReason.js.map +0 -1
- package/base/AbstractSkill.d.ts +0 -25
- package/base/AbstractSkill.d.ts.map +0 -1
- package/base/AbstractSkill.js +0 -3
- package/base/AbstractSkill.js.map +0 -1
- package/base/AbstractTool.d.ts +0 -34
- package/base/AbstractTool.d.ts.map +0 -1
- package/base/AbstractTool.js.map +0 -1
- package/docs/ARCHITECTURE.md +0 -601
- package/docs/README.md +0 -562
- package/module/AgentModule/Memory.d.ts +0 -55
- package/module/AgentModule/Memory.d.ts.map +0 -1
- package/module/AgentModule/Memory.js +0 -288
- package/module/AgentModule/Memory.js.map +0 -1
- package/module/DialogModule/Dialog.d.ts +0 -14
- package/module/DialogModule/Dialog.d.ts.map +0 -1
- package/module/DialogModule/Dialog.js +0 -27
- package/module/DialogModule/Dialog.js.map +0 -1
- package/module/DialogModule/DialogModule.d.ts +0 -39
- package/module/DialogModule/DialogModule.d.ts.map +0 -1
- package/module/DialogModule/DialogModule.js +0 -118
- package/module/DialogModule/DialogModule.js.map +0 -1
- package/module/DialogModule/index.d.ts +0 -3
- package/module/DialogModule/index.d.ts.map +0 -1
- package/module/DialogModule/index.js +0 -19
- package/module/DialogModule/index.js.map +0 -1
- package/module/ReasonModule/ChainReason.d.ts +0 -11
- package/module/ReasonModule/ChainReason.d.ts.map +0 -1
- package/module/ReasonModule/ChainReason.js +0 -34
- package/module/ReasonModule/ChainReason.js.map +0 -1
- package/module/ReasonModule/CommanderReason.d.ts +0 -15
- package/module/ReasonModule/CommanderReason.d.ts.map +0 -1
- package/module/ReasonModule/CommanderReason.js +0 -151
- package/module/ReasonModule/CommanderReason.js.map +0 -1
- package/module/ReasonModule/CompetitiveReason.d.ts +0 -13
- package/module/ReasonModule/CompetitiveReason.d.ts.map +0 -1
- package/module/ReasonModule/CompetitiveReason.js +0 -133
- package/module/ReasonModule/CompetitiveReason.js.map +0 -1
- package/module/ReasonModule/PlanReason.d.ts +0 -25
- package/module/ReasonModule/PlanReason.d.ts.map +0 -1
- package/module/ReasonModule/PlanReason.js +0 -133
- package/module/ReasonModule/PlanReason.js.map +0 -1
- package/module/ReasonModule/ReasonModule.d.ts +0 -41
- package/module/ReasonModule/ReasonModule.d.ts.map +0 -1
- package/module/ReasonModule/ReasonModule.js +0 -83
- package/module/ReasonModule/ReasonModule.js.map +0 -1
- package/module/ReasonModule/ReflectReason.d.ts +0 -15
- package/module/ReasonModule/ReflectReason.d.ts.map +0 -1
- package/module/ReasonModule/ReflectReason.js +0 -86
- package/module/ReasonModule/ReflectReason.js.map +0 -1
- package/module/ReasonModule/TreeReason.d.ts +0 -16
- package/module/ReasonModule/TreeReason.d.ts.map +0 -1
- package/module/ReasonModule/TreeReason.js +0 -139
- package/module/ReasonModule/TreeReason.js.map +0 -1
- package/module/ReasonModule/index.d.ts +0 -8
- package/module/ReasonModule/index.d.ts.map +0 -1
- package/module/ReasonModule/index.js +0 -24
- package/module/ReasonModule/index.js.map +0 -1
- package/module/SkillModule/SkillModule.d.ts +0 -42
- package/module/SkillModule/SkillModule.d.ts.map +0 -1
- package/module/SkillModule/SkillModule.js +0 -134
- package/module/SkillModule/SkillModule.js.map +0 -1
- package/module/SkillModule/index.d.ts +0 -2
- package/module/SkillModule/index.d.ts.map +0 -1
- package/module/SkillModule/index.js.map +0 -1
- package/module/ToolModule/ToolModule.d.ts +0 -57
- package/module/ToolModule/ToolModule.d.ts.map +0 -1
- package/module/ToolModule/ToolModule.js +0 -220
- package/module/ToolModule/ToolModule.js.map +0 -1
- package/module/ToolModule/ToolRAG.d.ts +0 -38
- package/module/ToolModule/ToolRAG.d.ts.map +0 -1
- package/module/ToolModule/ToolRAG.js +0 -124
- package/module/ToolModule/ToolRAG.js.map +0 -1
- package/module/ToolModule/index.d.ts +0 -3
- package/module/ToolModule/index.d.ts.map +0 -1
- package/module/ToolModule/index.js +0 -19
- package/module/ToolModule/index.js.map +0 -1
- package/utility/OpenAIUtility.d.ts +0 -333
- package/utility/OpenAIUtility.d.ts.map +0 -1
- package/utility/OpenAIUtility.js +0 -95
- package/utility/OpenAIUtility.js.map +0 -1
|
@@ -1,288 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Memory = exports.MemoryPressure = void 0;
|
|
4
|
-
const tiktoken_1 = require("tiktoken");
|
|
5
|
-
const utility_1 = require("../../utility");
|
|
6
|
-
/** 内存压力级别 */
|
|
7
|
-
var MemoryPressure;
|
|
8
|
-
(function (MemoryPressure) {
|
|
9
|
-
/** 无压力 (< 70%) */
|
|
10
|
-
MemoryPressure[MemoryPressure["None"] = 0] = "None";
|
|
11
|
-
/** 轻度 (70-85%):压缩远期轮次 */
|
|
12
|
-
MemoryPressure[MemoryPressure["Mild"] = 1] = "Mild";
|
|
13
|
-
/** 中度 (85-95%):压缩远期 + 摘要中间轮次 */
|
|
14
|
-
MemoryPressure[MemoryPressure["Moderate"] = 2] = "Moderate";
|
|
15
|
-
/** 重度 (> 95%):激进裁剪,仅保留最近 N 轮 + 摘要 */
|
|
16
|
-
MemoryPressure[MemoryPressure["Critical"] = 3] = "Critical";
|
|
17
|
-
})(MemoryPressure || (exports.MemoryPressure = MemoryPressure = {}));
|
|
18
|
-
/**
|
|
19
|
-
* 记忆管理器
|
|
20
|
-
* 组合 消息缓存 + 草稿区 + 工具结果 + 上下文窗口优化
|
|
21
|
-
*/
|
|
22
|
-
class Memory {
|
|
23
|
-
constructor(agent, maxTokens = 128000, reserveTokens = 16000) {
|
|
24
|
-
this.agent = agent;
|
|
25
|
-
this.messages = new utility_1.OpenAIUtility.Message();
|
|
26
|
-
this.scratchpad = "";
|
|
27
|
-
this.toolResults = new Map();
|
|
28
|
-
this._maxTokens = maxTokens;
|
|
29
|
-
this._reserveTokens = reserveTokens;
|
|
30
|
-
}
|
|
31
|
-
_encoder() {
|
|
32
|
-
if (!Memory._enc) {
|
|
33
|
-
Memory._enc = (0, tiktoken_1.get_encoding)("cl100k_base");
|
|
34
|
-
}
|
|
35
|
-
return Memory._enc;
|
|
36
|
-
}
|
|
37
|
-
/** 精确估算当前消息缓存的 token 数 */
|
|
38
|
-
estimateTokens() {
|
|
39
|
-
const enc = this._encoder();
|
|
40
|
-
let total = 0;
|
|
41
|
-
const msgs = this.messages.GetAll();
|
|
42
|
-
for (const msg of msgs) {
|
|
43
|
-
total += 4; // 角色标记开销
|
|
44
|
-
if (msg.content) {
|
|
45
|
-
total += enc.encode(msg.content).length;
|
|
46
|
-
}
|
|
47
|
-
const am = msg;
|
|
48
|
-
if (am.thinking) {
|
|
49
|
-
total += enc.encode(am.thinking).length;
|
|
50
|
-
}
|
|
51
|
-
if (am.tool_calls) {
|
|
52
|
-
total += enc.encode(JSON.stringify(am.tool_calls)).length;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return total;
|
|
56
|
-
}
|
|
57
|
-
/** 检查内存压力级别 */
|
|
58
|
-
checkPressure() {
|
|
59
|
-
const ratio = this.estimateTokens() / (this._maxTokens - this._reserveTokens);
|
|
60
|
-
if (ratio > 0.95) {
|
|
61
|
-
return MemoryPressure.Critical;
|
|
62
|
-
}
|
|
63
|
-
if (ratio > 0.85) {
|
|
64
|
-
return MemoryPressure.Moderate;
|
|
65
|
-
}
|
|
66
|
-
if (ratio > 0.70) {
|
|
67
|
-
return MemoryPressure.Mild;
|
|
68
|
-
}
|
|
69
|
-
return MemoryPressure.None;
|
|
70
|
-
}
|
|
71
|
-
/** @deprecated 兼容旧调用,使用 checkPressure() */
|
|
72
|
-
hasOverflow() {
|
|
73
|
-
return this.checkPressure() >= MemoryPressure.Mild;
|
|
74
|
-
}
|
|
75
|
-
// #endregion
|
|
76
|
-
// #region 上下文窗口优化
|
|
77
|
-
/** 按压力级别执行压缩 */
|
|
78
|
-
async optimize(level) {
|
|
79
|
-
switch (level) {
|
|
80
|
-
case MemoryPressure.Mild:
|
|
81
|
-
await this._optimizeMild();
|
|
82
|
-
break;
|
|
83
|
-
case MemoryPressure.Moderate:
|
|
84
|
-
await this._optimizeModerate();
|
|
85
|
-
break;
|
|
86
|
-
case MemoryPressure.Critical:
|
|
87
|
-
this._optimizeCritical(3);
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/** Mild: 压缩远期轮次(前 30%)为摘要,1 次 LLM 调用 */
|
|
92
|
-
async _optimizeMild() {
|
|
93
|
-
const all = this.messages.GetAll();
|
|
94
|
-
const cutoff = Math.floor(all.length * 0.3);
|
|
95
|
-
const distant = [];
|
|
96
|
-
// 收集系统消息之后的早期消息
|
|
97
|
-
let firstNonSystem = 0;
|
|
98
|
-
while (firstNonSystem < all.length && all[firstNonSystem].role === "system") {
|
|
99
|
-
firstNonSystem++;
|
|
100
|
-
}
|
|
101
|
-
for (let i = firstNonSystem; i < cutoff; i++) {
|
|
102
|
-
const msg = all[i];
|
|
103
|
-
if (msg.role !== "tool") {
|
|
104
|
-
distant.push(msg);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
if (distant.length === 0) {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
const summary = await this.summarize(distant);
|
|
111
|
-
if (!summary) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
// 重建:系统消息 + 摘要 + 剩余消息
|
|
115
|
-
const systemMsgs = all.filter(m => m.role === "system");
|
|
116
|
-
const remaining = all.slice(cutoff);
|
|
117
|
-
this.messages.Clear();
|
|
118
|
-
for (const sm of systemMsgs) {
|
|
119
|
-
this.messages.Add(sm);
|
|
120
|
-
}
|
|
121
|
-
this.messages.AddSystem(`[早期对话摘要]: ${summary}`);
|
|
122
|
-
for (const rm of remaining) {
|
|
123
|
-
this.messages.Add(rm);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/** Moderate: 同原 5 层裁剪,压缩远期 + 摘要中间轮次,1-2 次 LLM 调用 */
|
|
127
|
-
async _optimizeModerate() {
|
|
128
|
-
const all = this.messages.GetAll();
|
|
129
|
-
// 层1: 系统消息
|
|
130
|
-
const systemMsgs = all.filter(m => m.role === "system");
|
|
131
|
-
// 层2+3: 最近 N 轮 + 工具调用对
|
|
132
|
-
const preserved = new Set();
|
|
133
|
-
let turnCount = 0;
|
|
134
|
-
const recentTurns = 6;
|
|
135
|
-
for (let i = all.length - 1; i >= 0; i--) {
|
|
136
|
-
const msg = all[i];
|
|
137
|
-
if (msg.role === "tool") {
|
|
138
|
-
preserved.add(i);
|
|
139
|
-
for (let j = i - 1; j >= 0; j--) {
|
|
140
|
-
if (all[j].role === "assistant" && all[j].tool_calls) {
|
|
141
|
-
preserved.add(j);
|
|
142
|
-
break;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
if (msg.role === "user" && turnCount < recentTurns) {
|
|
148
|
-
turnCount++;
|
|
149
|
-
preserved.add(i);
|
|
150
|
-
if (i + 1 < all.length && all[i + 1].role === "assistant") {
|
|
151
|
-
preserved.add(i + 1);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
const middle = [];
|
|
156
|
-
const distant = [];
|
|
157
|
-
for (let i = 0; i < all.length; i++) {
|
|
158
|
-
if (preserved.has(i) || all[i].role === "system") {
|
|
159
|
-
continue;
|
|
160
|
-
}
|
|
161
|
-
if (i < all.length / 3) {
|
|
162
|
-
distant.push(all[i]);
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
middle.push(all[i]);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
// 摘要压缩中间轮次 + 提取远期实体
|
|
169
|
-
const [compressedSummary, entityText] = await Promise.all([
|
|
170
|
-
middle.length > 0 ? this.summarize(middle) : Promise.resolve(""),
|
|
171
|
-
distant.length > 0 ? this.extractEntities(distant).then(e => {
|
|
172
|
-
const entries = Object.entries(e);
|
|
173
|
-
return entries.length > 0
|
|
174
|
-
? `[历史实体]: ${entries.map(([k, v]) => `${k}=${v}`).join(", ")}`
|
|
175
|
-
: "";
|
|
176
|
-
}) : Promise.resolve(""),
|
|
177
|
-
]);
|
|
178
|
-
this.messages.Clear();
|
|
179
|
-
for (const sm of systemMsgs) {
|
|
180
|
-
this.messages.Add(sm);
|
|
181
|
-
}
|
|
182
|
-
if (entityText) {
|
|
183
|
-
this.messages.AddSystem(`${(systemMsgs[0]?.content ?? "")}\n${entityText}`);
|
|
184
|
-
}
|
|
185
|
-
if (compressedSummary) {
|
|
186
|
-
const existingContent = this.messages.GetLast()?.content ?? "";
|
|
187
|
-
this.messages.RemoveLast();
|
|
188
|
-
this.messages.AddSystem(`${existingContent}\n[对话历史摘要]: ${compressedSummary}`);
|
|
189
|
-
}
|
|
190
|
-
for (let i = 0; i < all.length; i++) {
|
|
191
|
-
if (preserved.has(i)) {
|
|
192
|
-
this.messages.Add(all[i]);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/** Critical: 激进裁剪 — 系统消息 + 摘要 + 最近 N 轮,0-1 次 LLM 调用 */
|
|
197
|
-
_optimizeCritical(recentTurns = 3) {
|
|
198
|
-
const all = this.messages.GetAll();
|
|
199
|
-
const systemMsgs = all.filter(m => m.role === "system");
|
|
200
|
-
// 从后往前收集最近 N 轮
|
|
201
|
-
const preserved = new Set();
|
|
202
|
-
let turnCount = 0;
|
|
203
|
-
for (let i = all.length - 1; i >= 0; i--) {
|
|
204
|
-
const msg = all[i];
|
|
205
|
-
if (msg.role === "tool") {
|
|
206
|
-
preserved.add(i);
|
|
207
|
-
for (let j = i - 1; j >= 0; j--) {
|
|
208
|
-
if (all[j].role === "assistant" && all[j].tool_calls) {
|
|
209
|
-
preserved.add(j);
|
|
210
|
-
break;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
continue;
|
|
214
|
-
}
|
|
215
|
-
if (msg.role === "user" && turnCount < recentTurns) {
|
|
216
|
-
turnCount++;
|
|
217
|
-
preserved.add(i);
|
|
218
|
-
if (i + 1 < all.length && all[i + 1].role === "assistant") {
|
|
219
|
-
preserved.add(i + 1);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
// 被裁剪的消息拼接为纯文本摘要
|
|
224
|
-
const trimmed = all.filter((_, i) => !preserved.has(i) && all[i].role !== "system");
|
|
225
|
-
const snippet = trimmed
|
|
226
|
-
.map(m => `[${m.role}]: ${(m.content ?? "").substring(0, 200)}`)
|
|
227
|
-
.join("\n")
|
|
228
|
-
.substring(0, 3000);
|
|
229
|
-
this.messages.Clear();
|
|
230
|
-
for (const sm of systemMsgs) {
|
|
231
|
-
this.messages.Add(sm);
|
|
232
|
-
}
|
|
233
|
-
if (snippet) {
|
|
234
|
-
this.messages.AddSystem(`[裁剪历史摘要,最近${recentTurns}轮完整保留]:\n${snippet}`);
|
|
235
|
-
}
|
|
236
|
-
for (let i = 0; i < all.length; i++) {
|
|
237
|
-
if (preserved.has(i)) {
|
|
238
|
-
this.messages.Add(all[i]);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
// #endregion
|
|
243
|
-
// #region 摘要工具
|
|
244
|
-
async summarizeFn(systemPrompt, msgs) {
|
|
245
|
-
const request = {
|
|
246
|
-
model: this.agent.config.model,
|
|
247
|
-
messages: [{ role: "system", content: systemPrompt }, ...msgs,],
|
|
248
|
-
thinking: { type: "disabled" },
|
|
249
|
-
stream: false,
|
|
250
|
-
};
|
|
251
|
-
const response = await this.agent.OnBaseRequest(this.agent.config.apiKey, request);
|
|
252
|
-
return response?.data?.choices?.[0]?.message?.content ?? "";
|
|
253
|
-
}
|
|
254
|
-
async summarize(messages) {
|
|
255
|
-
if (0 >= messages.length) {
|
|
256
|
-
return "";
|
|
257
|
-
}
|
|
258
|
-
const SUMMARY_SYSTEM_PROMPT = `你是一个对话摘要助手。请将以下对话轮次压缩为简洁摘要(不超过200字):
|
|
259
|
-
1. 保留关键决策、重要信息、用户偏好
|
|
260
|
-
2. 省略闲聊和重复内容
|
|
261
|
-
3. 使用第三人称描述`;
|
|
262
|
-
return await this.summarizeFn(SUMMARY_SYSTEM_PROMPT, messages);
|
|
263
|
-
}
|
|
264
|
-
async extractEntities(messages) {
|
|
265
|
-
if (0 >= messages.length) {
|
|
266
|
-
return {};
|
|
267
|
-
}
|
|
268
|
-
try {
|
|
269
|
-
const ENTITY_SYSTEM_PROMPT = `你是一个信息提取助手。请从对话中提取关键实体和它们的值,格式为 JSON:
|
|
270
|
-
{ "entity_name": "value", ... }
|
|
271
|
-
只输出 JSON,不要其他内容。`;
|
|
272
|
-
const result = await this.summarizeFn(ENTITY_SYSTEM_PROMPT, messages);
|
|
273
|
-
return JSON.parse(result);
|
|
274
|
-
}
|
|
275
|
-
catch {
|
|
276
|
-
return {};
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
// #endregion
|
|
280
|
-
/** 清空所有记忆 */
|
|
281
|
-
clear() {
|
|
282
|
-
this.messages.Clear();
|
|
283
|
-
this.scratchpad = "";
|
|
284
|
-
this.toolResults.clear();
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
exports.Memory = Memory;
|
|
288
|
-
//# sourceMappingURL=Memory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Memory.js","sourceRoot":"","sources":["../../../src/module/AgentModule/Memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AbstractDialog, AgentConfig } from "../../base";
|
|
2
|
-
/**
|
|
3
|
-
* 对话实例 — 通过 this.host.agentModule 创建 Agent
|
|
4
|
-
* 构造函数内部完成 Agent 创建,无需额外初始化步骤
|
|
5
|
-
*/
|
|
6
|
-
export declare class Dialog extends AbstractDialog {
|
|
7
|
-
/**
|
|
8
|
-
* @param title 对话标题
|
|
9
|
-
* @param config Agent 完整配置(含 apiKey/address)
|
|
10
|
-
* @param strategy 初始推理策略(默认 ChainReason)
|
|
11
|
-
*/
|
|
12
|
-
constructor(title: string, config: AgentConfig, strategy?: string);
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=Dialog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/module/DialogModule/Dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzD;;;GAGG;AACH,qBAAa,MAAO,SAAQ,cAAc;IAEtC;;;;OAIG;gBACgB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAE,MAAsB;CAU1F"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Dialog = void 0;
|
|
4
|
-
const base_1 = require("../../base");
|
|
5
|
-
const utility_1 = require("../../utility");
|
|
6
|
-
const Host_1 = require("../../Host");
|
|
7
|
-
/**
|
|
8
|
-
* 对话实例 — 通过 this.host.agentModule 创建 Agent
|
|
9
|
-
* 构造函数内部完成 Agent 创建,无需额外初始化步骤
|
|
10
|
-
*/
|
|
11
|
-
class Dialog extends base_1.AbstractDialog {
|
|
12
|
-
/**
|
|
13
|
-
* @param title 对话标题
|
|
14
|
-
* @param config Agent 完整配置(含 apiKey/address)
|
|
15
|
-
* @param strategy 初始推理策略(默认 ChainReason)
|
|
16
|
-
*/
|
|
17
|
-
constructor(title, config, strategy = "ChainReason") {
|
|
18
|
-
const agent = Host_1.Host.Instance.agentModule.createAgent(config);
|
|
19
|
-
if (!agent) {
|
|
20
|
-
throw new Error(`[Dialog] 创建 Agent 失败: "${title}"`);
|
|
21
|
-
}
|
|
22
|
-
super(title, agent, config, strategy);
|
|
23
|
-
utility_1.LogUtility.LogInfo(`[Dialog] 创建对话 "${title}" (${this.agent.id}) 策略: ${strategy}`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.Dialog = Dialog;
|
|
27
|
-
//# sourceMappingURL=Dialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../src/module/DialogModule/Dialog.ts"],"names":[],"mappings":";;;AAAA,qCAAyD;AACzD,2CAA2C;AAC3C,qCAAkC;AAElC;;;GAGG;AACH,MAAa,MAAO,SAAQ,qBAAc;IAEtC;;;;OAIG;IACH,YAAmB,KAAa,EAAE,MAAmB,EAAE,WAAmB,aAAa;QAEnF,MAAM,KAAK,GAAG,WAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,EACV,CAAC;YACG,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,GAAG,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACtC,oBAAU,CAAC,OAAO,CAAC,kBAAkB,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;CACJ;AAjBD,wBAiBC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { AbstractModule, AgentConfig } from "../../base";
|
|
2
|
-
import { Dialog } from "./Dialog";
|
|
3
|
-
import { DialogSnapshot } from "../../base/AbstractDialog";
|
|
4
|
-
/**
|
|
5
|
-
* 对话管理模块 — 对话池 + 生命周期管理
|
|
6
|
-
* Dialog 自行管理 Agent 的创建/销毁,DialogModule 仅管理对话池
|
|
7
|
-
*/
|
|
8
|
-
export declare class DialogModule extends AbstractModule {
|
|
9
|
-
/** 对话池 */
|
|
10
|
-
private _dialogs;
|
|
11
|
-
constructor();
|
|
12
|
-
/** 对话数量 */
|
|
13
|
-
get count(): number;
|
|
14
|
-
/**
|
|
15
|
-
* 创建对话 — 构造 Dialog(内部自动创建 Agent)
|
|
16
|
-
*/
|
|
17
|
-
create(title: string, config: AgentConfig, strategy?: string): Dialog | null;
|
|
18
|
-
/**
|
|
19
|
-
* 销毁对话 — 委托给 Dialog.destroy()
|
|
20
|
-
*/
|
|
21
|
-
destroy(dialogId: string): boolean;
|
|
22
|
-
/** 销毁全部对话 */
|
|
23
|
-
destroyAll(): number;
|
|
24
|
-
/** 根据 ID 获取对话 */
|
|
25
|
-
get(dialogId: string): Dialog | undefined;
|
|
26
|
-
/** 获取全部对话 */
|
|
27
|
-
list(): Array<{
|
|
28
|
-
dialogId: string;
|
|
29
|
-
title: string;
|
|
30
|
-
strategy: string;
|
|
31
|
-
}>;
|
|
32
|
-
/** 导出对话快照 */
|
|
33
|
-
export(dialogId: string): DialogSnapshot | null;
|
|
34
|
-
/**
|
|
35
|
-
* 从快照恢复对话 — 构造 Dialog → 恢复 Agent 状态
|
|
36
|
-
*/
|
|
37
|
-
import(snapshot: DialogSnapshot, config: AgentConfig): Dialog | null;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=DialogModule.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DialogModule.d.ts","sourceRoot":"","sources":["../../../src/module/DialogModule/DialogModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;;GAGG;AACH,qBAAa,YAAa,SAAQ,cAAc;IAE5C,UAAU;IACV,OAAO,CAAC,QAAQ,CAAgC;;IAQhD,WAAW;IACX,IAAW,KAAK,IAAI,MAAM,CAAgC;IAI1D;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI;IAwBlG;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAWzC,aAAa;IACN,UAAU,IAAI,MAAM;IAW3B,iBAAiB;IACV,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKhD,aAAa;IACN,IAAI,IAAI,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAW3E,aAAa;IACN,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAOtD;;OAEG;IACI,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI;CAoC9E"}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DialogModule = void 0;
|
|
4
|
-
const base_1 = require("../../base");
|
|
5
|
-
const utility_1 = require("../../utility");
|
|
6
|
-
const Dialog_1 = require("./Dialog");
|
|
7
|
-
/**
|
|
8
|
-
* 对话管理模块 — 对话池 + 生命周期管理
|
|
9
|
-
* Dialog 自行管理 Agent 的创建/销毁,DialogModule 仅管理对话池
|
|
10
|
-
*/
|
|
11
|
-
class DialogModule extends base_1.AbstractModule {
|
|
12
|
-
constructor() {
|
|
13
|
-
super();
|
|
14
|
-
this._dialogs = new utility_1.ObjectUtility.MapPool();
|
|
15
|
-
}
|
|
16
|
-
/** 对话数量 */
|
|
17
|
-
get count() { return this._dialogs.Count; }
|
|
18
|
-
// ======================== 生命周期 ========================
|
|
19
|
-
/**
|
|
20
|
-
* 创建对话 — 构造 Dialog(内部自动创建 Agent)
|
|
21
|
-
*/
|
|
22
|
-
create(title, config, strategy = "ChainReason") {
|
|
23
|
-
let dialog;
|
|
24
|
-
try {
|
|
25
|
-
dialog = new Dialog_1.Dialog(title, config, strategy);
|
|
26
|
-
}
|
|
27
|
-
catch (e) {
|
|
28
|
-
utility_1.LogUtility.LogError(`[DialogModule] ${e}`);
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
if (!this._dialogs.Add(dialog.id, dialog)) {
|
|
32
|
-
utility_1.LogUtility.LogError(`[DialogModule] Dialog ID 重复: ${dialog.id}`);
|
|
33
|
-
dialog.destroy();
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
utility_1.LogUtility.LogInfo(`[DialogModule] 注册对话 "${title}" (${dialog.id})`);
|
|
37
|
-
return dialog;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* 销毁对话 — 委托给 Dialog.destroy()
|
|
41
|
-
*/
|
|
42
|
-
destroy(dialogId) {
|
|
43
|
-
const dialog = this._dialogs.Get(dialogId);
|
|
44
|
-
if (!dialog) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
dialog.destroy();
|
|
48
|
-
this._dialogs.Remove(dialogId);
|
|
49
|
-
utility_1.LogUtility.LogInfo(`[DialogModule] 注销对话 "${dialog.title}" (${dialogId})`);
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
/** 销毁全部对话 */
|
|
53
|
-
destroyAll() {
|
|
54
|
-
const all = this._dialogs.ValuesToArray();
|
|
55
|
-
for (const d of all) {
|
|
56
|
-
d.destroy();
|
|
57
|
-
}
|
|
58
|
-
this._dialogs.RemoveAll();
|
|
59
|
-
utility_1.LogUtility.LogInfo(`[DialogModule] 已销毁全部对话 (${all.length}个)`);
|
|
60
|
-
return all.length;
|
|
61
|
-
}
|
|
62
|
-
// ======================== 查询 ========================
|
|
63
|
-
/** 根据 ID 获取对话 */
|
|
64
|
-
get(dialogId) {
|
|
65
|
-
return this._dialogs.Get(dialogId);
|
|
66
|
-
}
|
|
67
|
-
/** 获取全部对话 */
|
|
68
|
-
list() {
|
|
69
|
-
return this._dialogs.ValuesToArray().map(d => ({
|
|
70
|
-
dialogId: d.id,
|
|
71
|
-
title: d.title,
|
|
72
|
-
strategy: d.strategy,
|
|
73
|
-
}));
|
|
74
|
-
}
|
|
75
|
-
// ======================== 持久化 ========================
|
|
76
|
-
/** 导出对话快照 */
|
|
77
|
-
export(dialogId) {
|
|
78
|
-
const dialog = this._dialogs.Get(dialogId);
|
|
79
|
-
if (!dialog) {
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
82
|
-
return dialog.snapshot();
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* 从快照恢复对话 — 构造 Dialog → 恢复 Agent 状态
|
|
86
|
-
*/
|
|
87
|
-
import(snapshot, config) {
|
|
88
|
-
const sc = snapshot.agentSnapshot.config;
|
|
89
|
-
const restoredConfig = {
|
|
90
|
-
...config,
|
|
91
|
-
model: sc.model ?? config.model,
|
|
92
|
-
systemPrompt: sc.systemPrompt,
|
|
93
|
-
temperature: sc.temperature,
|
|
94
|
-
maxTokens: sc.maxTokens,
|
|
95
|
-
enableThinking: sc.enableThinking,
|
|
96
|
-
reasoningEffort: sc.reasoningEffort,
|
|
97
|
-
maxTurns: sc.maxTurns,
|
|
98
|
-
};
|
|
99
|
-
let dialog;
|
|
100
|
-
try {
|
|
101
|
-
dialog = new Dialog_1.Dialog(snapshot.title, restoredConfig, snapshot.strategy);
|
|
102
|
-
dialog.agent.restore(snapshot.agentSnapshot);
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
utility_1.LogUtility.LogError(`[DialogModule] ${e}`);
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
if (!this._dialogs.Add(dialog.id, dialog)) {
|
|
109
|
-
utility_1.LogUtility.LogError(`[DialogModule] 导入 Dialog ID 重复: ${dialog.id}`);
|
|
110
|
-
dialog.destroy();
|
|
111
|
-
return null;
|
|
112
|
-
}
|
|
113
|
-
utility_1.LogUtility.LogInfo(`[DialogModule] 注册导入对话 "${dialog.title}" (${dialog.id})`);
|
|
114
|
-
return dialog;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
exports.DialogModule = DialogModule;
|
|
118
|
-
//# sourceMappingURL=DialogModule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DialogModule.js","sourceRoot":"","sources":["../../../src/module/DialogModule/DialogModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/module/DialogModule/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./Dialog"), exports);
|
|
18
|
-
__exportStar(require("./DialogModule"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/module/DialogModule/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,iDAA+B"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { AbstractReason, ReasonConfig, ReasonResult } from "../../base";
|
|
2
|
-
/**
|
|
3
|
-
* 链式推理策略
|
|
4
|
-
* 利用 LLM 的 thinking 字段进行逐步推理,单次完成
|
|
5
|
-
* 适合:简单问答、事实查询、单步推理
|
|
6
|
-
*/
|
|
7
|
-
export declare class ChainReason extends AbstractReason {
|
|
8
|
-
readonly type: string;
|
|
9
|
-
execute(input: string, config: ReasonConfig): Promise<ReasonResult>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=ChainReason.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChainReason.d.ts","sourceRoot":"","sources":["../../../src/module/ReasonModule/ChainReason.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxE;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,cAAc;IAE3C,SAAgB,IAAI,EAAE,MAAM,CAAiB;IAEhC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;CAkBnF"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChainReason = void 0;
|
|
4
|
-
const base_1 = require("../../base");
|
|
5
|
-
/**
|
|
6
|
-
* 链式推理策略
|
|
7
|
-
* 利用 LLM 的 thinking 字段进行逐步推理,单次完成
|
|
8
|
-
* 适合:简单问答、事实查询、单步推理
|
|
9
|
-
*/
|
|
10
|
-
class ChainReason extends base_1.AbstractReason {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.type = "ChainReason";
|
|
14
|
-
}
|
|
15
|
-
async execute(input, config) {
|
|
16
|
-
const agent = config.useAgent ?? this.host.agentModule.createAgent(config.baseConfig);
|
|
17
|
-
const runOptions = this.buildRunOptions(config);
|
|
18
|
-
try {
|
|
19
|
-
const result = await agent.run(input, runOptions);
|
|
20
|
-
return {
|
|
21
|
-
...result,
|
|
22
|
-
strategy: this.type,
|
|
23
|
-
trace: result.thinking ? [result.thinking] : [],
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
finally {
|
|
27
|
-
if (!config.useAgent) {
|
|
28
|
-
this.host.agentModule.destroyAgent(agent.id);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.ChainReason = ChainReason;
|
|
34
|
-
//# sourceMappingURL=ChainReason.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChainReason.js","sourceRoot":"","sources":["../../../src/module/ReasonModule/ChainReason.ts"],"names":[],"mappings":";;;AAAA,qCAAwE;AAGxE;;;;GAIG;AACH,MAAa,WAAY,SAAQ,qBAAc;IAA/C;;QAEoB,SAAI,GAAW,aAAa,CAAC;IAoBjD,CAAC;IAlBU,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,MAAoB;QAEpD,MAAM,KAAK,GAAI,MAAM,CAAC,QAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjG,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChD,IACA,CAAC;YACG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAClD,OAAO;gBACH,GAAG,MAAM;gBACT,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;aAClD,CAAC;QACN,CAAC;gBAED,CAAC;YACG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QAC3E,CAAC;IACL,CAAC;CACJ;AAtBD,kCAsBC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { AbstractReason, ReasonConfig, ReasonResult } from "../../base";
|
|
2
|
-
/**
|
|
3
|
-
* 指挥调度推理策略 (Commander Reasoning)
|
|
4
|
-
* 指挥 Agent 拆解任务 → 分派工人并行执行 → 指挥汇总输出
|
|
5
|
-
* 适合:复杂多模块任务、需要分工协作的项目
|
|
6
|
-
*/
|
|
7
|
-
export declare class CommanderReason extends AbstractReason {
|
|
8
|
-
readonly type: string;
|
|
9
|
-
/** 默认最大工人数 */
|
|
10
|
-
private readonly _defaultMaxWorkers;
|
|
11
|
-
execute(input: string, config: ReasonConfig): Promise<ReasonResult>;
|
|
12
|
-
/** 解析 Commander 输出的 JSON 任务列表 */
|
|
13
|
-
private _parseTasks;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=CommanderReason.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CommanderReason.d.ts","sourceRoot":"","sources":["../../../src/module/ReasonModule/CommanderReason.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxE;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IAE/C,SAAgB,IAAI,EAAE,MAAM,CAAqB;IAEjD,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAa;IAEnC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IA+IhF,iCAAiC;IACjC,OAAO,CAAC,WAAW;CAuBtB"}
|