knight-agent 1.1.4 → 1.2.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/Host.d.ts +0 -1
- package/base/AbstractAgent.d.ts +2 -2
- package/base/AbstractLLM.d.ts +4 -4
- package/base/AbstractModule.d.ts +0 -1
- package/base/AbstractObject.d.ts +0 -1
- package/base/index.d.ts +0 -1
- package/index.d.ts +0 -1
- package/index.js +1 -21
- package/module/AgentModule/Agent.d.ts +2 -2
- package/module/AgentModule/AgentModule.d.ts +0 -1
- package/module/AgentModule/index.d.ts +0 -1
- package/module/LLMModule/ClaudeLLM.d.ts +7 -2
- package/module/LLMModule/DeepSeekLLM.d.ts +7 -3
- package/module/LLMModule/GeminiLLM.d.ts +9 -2
- package/module/LLMModule/LLMModule.d.ts +0 -1
- package/module/LLMModule/OpenAILLM.d.ts +7 -2
- package/module/LLMModule/QWenLLM.d.ts +7 -2
- package/module/LLMModule/index.d.ts +0 -1
- package/module/SkillModule/SkillModule.d.ts +0 -1
- package/module/SkillModule/index.d.ts +0 -1
- package/module/ToolModule/ToolModule.d.ts +0 -1
- package/module/ToolModule/index.d.ts +0 -1
- package/module/index.d.ts +0 -1
- package/package.json +1 -1
- package/readme.md +978 -0
- package/utility/AgentUtility.d.ts +0 -1
- package/utility/InterfaceUtility.d.ts +0 -1
- package/utility/LLMUtility.d.ts +11 -1
- package/utility/LogUtility.d.ts +0 -1
- package/utility/NetworkUtility.d.ts +7 -1
- package/utility/ObjectUtility.d.ts +0 -1
- package/utility/PromiseUtility.d.ts +0 -1
- package/utility/StringUtility.d.ts +0 -1
- package/utility/TimeUtility.d.ts +0 -1
- package/utility/index.d.ts +0 -1
- package/Host.d.ts.map +0 -1
- package/Host.js +0 -21
- package/Host.js.map +0 -1
- package/base/AbstractAgent.d.ts.map +0 -1
- package/base/AbstractAgent.js +0 -76
- package/base/AbstractAgent.js.map +0 -1
- package/base/AbstractLLM.d.ts.map +0 -1
- package/base/AbstractLLM.js +0 -120
- package/base/AbstractLLM.js.map +0 -1
- package/base/AbstractModule.d.ts.map +0 -1
- package/base/AbstractModule.js +0 -16
- package/base/AbstractModule.js.map +0 -1
- package/base/AbstractObject.d.ts.map +0 -1
- package/base/AbstractObject.js +0 -29
- package/base/AbstractObject.js.map +0 -1
- package/base/index.d.ts.map +0 -1
- package/base/index.js +0 -21
- package/base/index.js.map +0 -1
- package/index.d.ts.map +0 -1
- package/index.js.map +0 -1
- package/module/AgentModule/Agent.d.ts.map +0 -1
- package/module/AgentModule/Agent.js +0 -39
- package/module/AgentModule/Agent.js.map +0 -1
- package/module/AgentModule/AgentModule.d.ts.map +0 -1
- package/module/AgentModule/AgentModule.js +0 -75
- package/module/AgentModule/AgentModule.js.map +0 -1
- package/module/AgentModule/index.d.ts.map +0 -1
- package/module/AgentModule/index.js +0 -19
- package/module/AgentModule/index.js.map +0 -1
- package/module/LLMModule/ClaudeLLM.d.ts.map +0 -1
- package/module/LLMModule/ClaudeLLM.js +0 -138
- package/module/LLMModule/ClaudeLLM.js.map +0 -1
- package/module/LLMModule/DeepSeekLLM.d.ts.map +0 -1
- package/module/LLMModule/DeepSeekLLM.js +0 -136
- package/module/LLMModule/DeepSeekLLM.js.map +0 -1
- package/module/LLMModule/GeminiLLM.d.ts.map +0 -1
- package/module/LLMModule/GeminiLLM.js +0 -168
- package/module/LLMModule/GeminiLLM.js.map +0 -1
- package/module/LLMModule/LLMModule.d.ts.map +0 -1
- package/module/LLMModule/LLMModule.js +0 -92
- package/module/LLMModule/LLMModule.js.map +0 -1
- package/module/LLMModule/OpenAILLM.d.ts.map +0 -1
- package/module/LLMModule/OpenAILLM.js +0 -145
- package/module/LLMModule/OpenAILLM.js.map +0 -1
- package/module/LLMModule/QWenLLM.d.ts.map +0 -1
- package/module/LLMModule/QWenLLM.js +0 -137
- package/module/LLMModule/QWenLLM.js.map +0 -1
- package/module/LLMModule/index.d.ts.map +0 -1
- package/module/LLMModule/index.js +0 -23
- package/module/LLMModule/index.js.map +0 -1
- package/module/SkillModule/SkillModule.d.ts.map +0 -1
- package/module/SkillModule/SkillModule.js +0 -167
- package/module/SkillModule/SkillModule.js.map +0 -1
- package/module/SkillModule/index.d.ts.map +0 -1
- package/module/SkillModule/index.js +0 -18
- package/module/SkillModule/index.js.map +0 -1
- package/module/ToolModule/ToolModule.d.ts.map +0 -1
- package/module/ToolModule/ToolModule.js +0 -117
- package/module/ToolModule/ToolModule.js.map +0 -1
- package/module/ToolModule/index.d.ts.map +0 -1
- package/module/ToolModule/index.js +0 -18
- package/module/ToolModule/index.js.map +0 -1
- package/module/index.d.ts.map +0 -1
- package/module/index.js +0 -21
- package/module/index.js.map +0 -1
- package/utility/AgentUtility.d.ts.map +0 -1
- package/utility/AgentUtility.js +0 -3
- package/utility/AgentUtility.js.map +0 -1
- package/utility/InterfaceUtility.d.ts.map +0 -1
- package/utility/InterfaceUtility.js +0 -3
- package/utility/InterfaceUtility.js.map +0 -1
- package/utility/LLMUtility.d.ts.map +0 -1
- package/utility/LLMUtility.js +0 -114
- package/utility/LLMUtility.js.map +0 -1
- package/utility/LogUtility.d.ts.map +0 -1
- package/utility/LogUtility.js +0 -70
- package/utility/LogUtility.js.map +0 -1
- package/utility/NetworkUtility.d.ts.map +0 -1
- package/utility/NetworkUtility.js +0 -104
- package/utility/NetworkUtility.js.map +0 -1
- package/utility/ObjectUtility.d.ts.map +0 -1
- package/utility/ObjectUtility.js +0 -313
- package/utility/ObjectUtility.js.map +0 -1
- package/utility/PromiseUtility.d.ts.map +0 -1
- package/utility/PromiseUtility.js +0 -16
- package/utility/PromiseUtility.js.map +0 -1
- package/utility/StringUtility.d.ts.map +0 -1
- package/utility/StringUtility.js +0 -42
- package/utility/StringUtility.js.map +0 -1
- package/utility/TimeUtility.d.ts.map +0 -1
- package/utility/TimeUtility.js +0 -24
- package/utility/TimeUtility.js.map +0 -1
- package/utility/index.d.ts.map +0 -1
- package/utility/index.js +0 -26
- package/utility/index.js.map +0 -1
package/utility/LLMUtility.d.ts
CHANGED
|
@@ -144,6 +144,17 @@ export declare namespace LLMUtility {
|
|
|
144
144
|
/** 原始响应(调试用) */
|
|
145
145
|
raw: object;
|
|
146
146
|
}
|
|
147
|
+
/** 流式输出分块 */
|
|
148
|
+
interface StreamChunk {
|
|
149
|
+
/** 增量文本内容 */
|
|
150
|
+
content: string;
|
|
151
|
+
/** 结束原因(仅最终 chunk 有值) */
|
|
152
|
+
finishReason?: FinishReason;
|
|
153
|
+
/** Token 用量(仅最终 chunk 有值) */
|
|
154
|
+
usage?: Usage;
|
|
155
|
+
}
|
|
156
|
+
/** 流式回调 */
|
|
157
|
+
type StreamCallback = (chunk: StreamChunk) => void;
|
|
147
158
|
/** 大模型工具调用 */
|
|
148
159
|
interface ToolCall {
|
|
149
160
|
/** 调用ID */
|
|
@@ -1357,4 +1368,3 @@ export declare namespace LLMUtility {
|
|
|
1357
1368
|
}
|
|
1358
1369
|
}
|
|
1359
1370
|
}
|
|
1360
|
-
//# sourceMappingURL=LLMUtility.d.ts.map
|
package/utility/LogUtility.d.ts
CHANGED
|
@@ -14,6 +14,13 @@ export declare namespace NetworkUtility {
|
|
|
14
14
|
* @returns 响应数据
|
|
15
15
|
*/
|
|
16
16
|
function OnRequest<T = any>(url: string, options?: Request): Promise<Response<T>>;
|
|
17
|
+
/**
|
|
18
|
+
* 流式网络请求 — 使用 fetch + ReadableStream 解析 SSE 事件流
|
|
19
|
+
* @param url 请求地址
|
|
20
|
+
* @param options 请求配置(复用 axios 风格,内部转换到 fetch)
|
|
21
|
+
* @yields 逐条 parsed JSON chunk
|
|
22
|
+
*/
|
|
23
|
+
function onStreamRequest(url: string, options?: Request): AsyncGenerator<string>;
|
|
17
24
|
}
|
|
18
25
|
/** 协议类型 */
|
|
19
26
|
enum E_ProtocalType {
|
|
@@ -88,4 +95,3 @@ export declare namespace NetworkUtility {
|
|
|
88
95
|
FILE_TYPE_NOT_ALLOWED = 1008
|
|
89
96
|
}
|
|
90
97
|
}
|
|
91
|
-
//# sourceMappingURL=NetworkUtility.d.ts.map
|
package/utility/TimeUtility.d.ts
CHANGED
package/utility/index.d.ts
CHANGED
package/Host.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Host.d.ts","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE3E,UAAU;AACV,qBAAa,IAAI;IAEb,WAAW;IACX,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAO;IAC9B,WAAkB,QAAQ,SAAuF;IAEjH,cAAc;IACd,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,aAAa;IACb,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,aAAa;IACb,SAAgB,WAAW,EAAE,WAAW,CAAC;IACzC,cAAc;IACd,SAAgB,WAAW,EAAE,WAAW,CAAC;IAGzC,WAAW;IACX,OAAO;CAMV;AACD,SAAS;;AACT,wBAA6B"}
|
package/Host.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Host = void 0;
|
|
4
|
-
const module_1 = require("./module");
|
|
5
|
-
/** 实例类 */
|
|
6
|
-
class Host {
|
|
7
|
-
static get Instance() { if (null == Host.instance) {
|
|
8
|
-
Host.instance = new Host();
|
|
9
|
-
} return Host.instance; }
|
|
10
|
-
;
|
|
11
|
-
/** 构造函数 */
|
|
12
|
-
constructor() {
|
|
13
|
-
this.llmModule = new module_1.LLMModule();
|
|
14
|
-
this.toolModule = new module_1.ToolModule();
|
|
15
|
-
this.skillModule = new module_1.SkillModule();
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.Host = Host;
|
|
19
|
-
/** 单例 */
|
|
20
|
-
exports.default = Host.Instance;
|
|
21
|
-
//# sourceMappingURL=Host.js.map
|
package/Host.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Host.js","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":";;;AAAA,qCAA2E;AAE3E,UAAU;AACV,MAAa,IAAI;IAIN,MAAM,KAAK,QAAQ,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;IAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAAA,CAAC;IAYlH,WAAW;IACX;QAEI,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAU,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;IACzC,CAAC;CACJ;AAvBD,oBAuBC;AACD,SAAS;AACT,kBAAe,IAAI,CAAC,QAAQ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAgent.d.ts","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtD,8BAA8B;AAC9B,8BAAsB,aAAc,SAAQ,cAAc;IAEtD,YAAY;IACZ,SAAgB,GAAG,EAAE,WAAW,CAAC;IACjC,YAAY;IACZ,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,WAAW;IACX,SAAgB,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;IAClD,WAAW;IACX,OAAO,CAAC,OAAO,CAAU;IAEzB,WAAW;gBACQ,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW;IAW/D,WAAW;IACX,IAAW,MAAM,IAAI,OAAO,CAAyB;IAErD,WAAW;IACX,IAAW,SAAS,IAAI,MAAM,CAA8B;IAE5D,WAAW;IACX,IAAW,UAAU,IAAI,YAAY,CAAC,KAAK,CAU1C;IAMD,aAAa;IACN,KAAK,IAAI,IAAI;IAMpB,WAAW;IACJ,KAAK,IAAI,IAAI;IAMpB;;;OAGG;aACa,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAElE;;;;;OAKG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,GAAG,IAAI;IAW7E,0BAA0B;IACnB,cAAc,IAAI,YAAY,CAAC,aAAa;IAe5C,SAAS,IAAI,OAAO;CAQ9B"}
|
package/base/AbstractAgent.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractAgent = void 0;
|
|
4
|
-
const AbstractObject_1 = require("./AbstractObject");
|
|
5
|
-
/** 抽象智能体基类 — 对话管理 + LLM 编排 */
|
|
6
|
-
class AbstractAgent extends AbstractObject_1.AbstractObject {
|
|
7
|
-
/** 构造函数 */
|
|
8
|
-
constructor(config, llm) {
|
|
9
|
-
super();
|
|
10
|
-
this.llm = llm ?? this.host.llmModule.add(config);
|
|
11
|
-
this.createdAt = Date.now();
|
|
12
|
-
this.turns = [];
|
|
13
|
-
this._active = true;
|
|
14
|
-
}
|
|
15
|
-
// #region 查询
|
|
16
|
-
/** 是否活跃 */
|
|
17
|
-
get active() { return this._active; }
|
|
18
|
-
/** 对话轮数 */
|
|
19
|
-
get turnCount() { return this.turns.length; }
|
|
20
|
-
/** 累计用量 */
|
|
21
|
-
get totalUsage() {
|
|
22
|
-
const usage = { input: 0, output: 0, total: 0 };
|
|
23
|
-
for (const turn of this.turns) {
|
|
24
|
-
usage.input += turn.usage.input ?? 0;
|
|
25
|
-
usage.output += turn.usage.output ?? 0;
|
|
26
|
-
usage.total += turn.usage.total ?? 0;
|
|
27
|
-
}
|
|
28
|
-
return usage;
|
|
29
|
-
}
|
|
30
|
-
// #endregion
|
|
31
|
-
// #region 会话操作
|
|
32
|
-
/** 清空对话记录 */
|
|
33
|
-
clear() {
|
|
34
|
-
this.turns.length = 0;
|
|
35
|
-
return this;
|
|
36
|
-
}
|
|
37
|
-
/** 关闭会话 */
|
|
38
|
-
close() {
|
|
39
|
-
this._active = false;
|
|
40
|
-
return this;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* 记录一轮对话
|
|
44
|
-
* @param input 用户输入
|
|
45
|
-
* @param output 智能体输出
|
|
46
|
-
* @param usage 本轮 token 用量
|
|
47
|
-
*/
|
|
48
|
-
record(input, output, usage) {
|
|
49
|
-
if (!this._active) {
|
|
50
|
-
return this;
|
|
51
|
-
}
|
|
52
|
-
this.turns.push({ input, output, usage, timestamp: Date.now() });
|
|
53
|
-
return this;
|
|
54
|
-
}
|
|
55
|
-
// #endregion
|
|
56
|
-
// #region 快照
|
|
57
|
-
/** 导出快照 — 包含对话记录与大模型快照 */
|
|
58
|
-
exportSnapshot() {
|
|
59
|
-
return {
|
|
60
|
-
id: this.id,
|
|
61
|
-
llmSnapshot: this.llm.exportSnapshot(),
|
|
62
|
-
turns: this.turns.slice(),
|
|
63
|
-
createdAt: this.createdAt,
|
|
64
|
-
exportAt: Date.now(),
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
// #endregion
|
|
68
|
-
// #region 生命周期
|
|
69
|
-
OnDestroy() {
|
|
70
|
-
this._active = false;
|
|
71
|
-
this.host.llmModule.remove(this.llm?.id);
|
|
72
|
-
return super.OnDestroy();
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
exports.AbstractAgent = AbstractAgent;
|
|
76
|
-
//# sourceMappingURL=AbstractAgent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAgent.js","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAIlD,8BAA8B;AAC9B,MAAsB,aAAc,SAAQ,+BAAc;IAWtD,WAAW;IACX,YAAmB,MAAyB,EAAE,GAAiB;QAE3D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,aAAa;IAEb,WAAW;IACX,IAAW,MAAM,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAErD,WAAW;IACX,IAAW,SAAS,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5D,WAAW;IACX,IAAW,UAAU;QAEjB,MAAM,KAAK,GAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAC7B,CAAC;YACG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YACrC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YACvC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,aAAa;IAEb,eAAe;IAEf,aAAa;IACN,KAAK;QAER,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;IACJ,KAAK;QAER,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAQD;;;;;OAKG;IACI,MAAM,CAAC,KAAa,EAAE,MAAc,EAAE,KAAyB;QAElE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa;IAEb,aAAa;IAEb,0BAA0B;IACnB,cAAc;QAEjB,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;YACtC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACvB,CAAC;IACN,CAAC;IAED,aAAa;IAEb,eAAe;IAER,SAAS;QAEZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;CAGJ;AA3GD,sCA2GC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractLLM.d.ts","sourceRoot":"","sources":["../../src/base/AbstractLLM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAEvD,cAAc;AACd,8BAAsB,WAAW,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,SAAS,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAE,SAAQ,cAAc;IAEhK,YAAY;IACZ,SAAgB,MAAM,EAAE,CAAC,CAAC;IAC1B,WAAW;IACX,SAAgB,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhD,WAAW;gBACQ,MAAM,EAAE,CAAC;IAS5B;;;;;;OAMG;IACU,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAyB7I,wBAAwB;IACjB,cAAc,IAAI,UAAU,CAAC,QAAQ;IAa5C,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACvD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACrD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IACrG,kBAAkB;IAClB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI;IACtE,qDAAqD;IACrD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI;IAC1C,kDAAkD;IAClD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IACjG,WAAW;IACX,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY;IAMtE,aAAa;YACC,cAAc;IAqB5B,kBAAkB;IAClB,OAAO,CAAC,QAAQ;IAQhB,aAAa;YACC,YAAY;IA4BnB,SAAS,IAAI,OAAO;CAK9B"}
|
package/base/AbstractLLM.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractLLM = void 0;
|
|
4
|
-
const AbstractObject_1 = require("./AbstractObject");
|
|
5
|
-
const utility_1 = require("../utility");
|
|
6
|
-
/** 抽象大模型基类 */
|
|
7
|
-
class AbstractLLM extends AbstractObject_1.AbstractObject {
|
|
8
|
-
/** 构造函数 */
|
|
9
|
-
constructor(config) {
|
|
10
|
-
super();
|
|
11
|
-
this.config = config;
|
|
12
|
-
this.messages = new utility_1.LLMUtility.Message(this.config.maxMessageCache);
|
|
13
|
-
if (null != config.systemPrompt) {
|
|
14
|
-
this.addSystemMessage(config.systemPrompt);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
// #region 公开接口
|
|
18
|
-
/**
|
|
19
|
-
* 发送消息
|
|
20
|
-
* @param prompt 用户提示词(已由 Agent 嵌入技能描述)
|
|
21
|
-
* @param tools 工具列表
|
|
22
|
-
* @param onUsage 用量回调
|
|
23
|
-
* @return 响应数据
|
|
24
|
-
*/
|
|
25
|
-
async send(prompt, tools, onUsage) {
|
|
26
|
-
// 指令判空
|
|
27
|
-
if (utility_1.StringUtility.empty(prompt)) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
// 添加用户消息
|
|
31
|
-
this.addUserMessage(prompt);
|
|
32
|
-
// 消息压缩
|
|
33
|
-
this.compactMessages();
|
|
34
|
-
// 修剪缓存
|
|
35
|
-
this.messages.Trim();
|
|
36
|
-
// 用量累加器
|
|
37
|
-
const usageAcc = { input: 0, output: 0, total: 0 };
|
|
38
|
-
// 发起请求
|
|
39
|
-
let response = await this.request(tools || []);
|
|
40
|
-
// 累加用量
|
|
41
|
-
this.addUsage(usageAcc, response.usage);
|
|
42
|
-
// 添加助手消息
|
|
43
|
-
this.addAssistantMessage(response.content, response.toolCalls);
|
|
44
|
-
// 处理响应逻辑
|
|
45
|
-
response = await this.handleResponse(response, tools, usageAcc);
|
|
46
|
-
// 触发用量回调
|
|
47
|
-
onUsage?.(usageAcc);
|
|
48
|
-
return response;
|
|
49
|
-
}
|
|
50
|
-
/** 导出快照 — 序列化消息缓存与配置 */
|
|
51
|
-
exportSnapshot() {
|
|
52
|
-
return {
|
|
53
|
-
id: this.id,
|
|
54
|
-
config: this.config,
|
|
55
|
-
messages: this.messages.Export(),
|
|
56
|
-
timeStemp: Date.now(),
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
// #endregion
|
|
60
|
-
// #region 内部方法
|
|
61
|
-
/** 处理响应逻辑 */
|
|
62
|
-
async handleResponse(response, tools, usageAcc) {
|
|
63
|
-
let finishReason = response.finishReason || "";
|
|
64
|
-
let toolCalls = response.toolCalls || [];
|
|
65
|
-
const maxToolRounds = 100;
|
|
66
|
-
let toolRound = 0;
|
|
67
|
-
while (finishReason === "tool_calls" && 0 < toolCalls.length && 0 < tools.length) {
|
|
68
|
-
if (++toolRound > maxToolRounds)
|
|
69
|
-
break;
|
|
70
|
-
const results = await this.executeTools(toolCalls, tools);
|
|
71
|
-
if (!results?.length)
|
|
72
|
-
break;
|
|
73
|
-
for (const result of results) {
|
|
74
|
-
this.addToolMessage(result);
|
|
75
|
-
}
|
|
76
|
-
response = await this.request(tools);
|
|
77
|
-
this.addUsage(usageAcc, response.usage);
|
|
78
|
-
this.addAssistantMessage(response.content, response.toolCalls);
|
|
79
|
-
finishReason = response.finishReason || "";
|
|
80
|
-
toolCalls = response.toolCalls || [];
|
|
81
|
-
}
|
|
82
|
-
return response;
|
|
83
|
-
}
|
|
84
|
-
/** 累加 token 用量 */
|
|
85
|
-
addUsage(acc, usage) {
|
|
86
|
-
if (!usage)
|
|
87
|
-
return;
|
|
88
|
-
acc.input += usage.input ?? 0;
|
|
89
|
-
acc.output += usage.output ?? 0;
|
|
90
|
-
acc.total += usage.total ?? 0;
|
|
91
|
-
}
|
|
92
|
-
/** 执行工具调用 */
|
|
93
|
-
async executeTools(toolCalls, tools) {
|
|
94
|
-
const results = new Array;
|
|
95
|
-
for (const toolCall of toolCalls) {
|
|
96
|
-
const tool = tools.find(tool => toolCall.name == tool.name);
|
|
97
|
-
if (null == tool || null == tool.handler) {
|
|
98
|
-
results.push({ id: toolCall.id, name: toolCall.name, data: JSON.stringify({ error: `tool "${toolCall.name}" not available` }) });
|
|
99
|
-
continue;
|
|
100
|
-
}
|
|
101
|
-
try {
|
|
102
|
-
const raw = await tool.handler(toolCall.arguments);
|
|
103
|
-
const data = typeof raw === "string" ? raw : JSON.stringify(raw);
|
|
104
|
-
results.push({ id: toolCall.id, name: toolCall.name, data });
|
|
105
|
-
}
|
|
106
|
-
catch (e) {
|
|
107
|
-
const errMsg = e instanceof Error ? e.message : String(e);
|
|
108
|
-
results.push({ id: toolCall.id, name: toolCall.name, data: JSON.stringify({ error: errMsg }) });
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return results;
|
|
112
|
-
}
|
|
113
|
-
// #endregion
|
|
114
|
-
OnDestroy() {
|
|
115
|
-
this.messages.Clear();
|
|
116
|
-
return super.OnDestroy();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
exports.AbstractLLM = AbstractLLM;
|
|
120
|
-
//# sourceMappingURL=AbstractLLM.js.map
|
package/base/AbstractLLM.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractLLM.js","sourceRoot":"","sources":["../../src/base/AbstractLLM.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractModule.d.ts","sourceRoot":"","sources":["../../src/base/AbstractModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,aAAa;AACb,8BAAsB,cAAe,SAAQ,cAAc;IAEvD,WAAW;;IAMJ,SAAS,IAAI,OAAO;CAI9B"}
|
package/base/AbstractModule.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractModule = void 0;
|
|
4
|
-
const AbstractObject_1 = require("./AbstractObject");
|
|
5
|
-
/** 抽象模块基类 */
|
|
6
|
-
class AbstractModule extends AbstractObject_1.AbstractObject {
|
|
7
|
-
/** 构造函数 */
|
|
8
|
-
constructor() {
|
|
9
|
-
super();
|
|
10
|
-
}
|
|
11
|
-
OnDestroy() {
|
|
12
|
-
return super.OnDestroy();
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.AbstractModule = AbstractModule;
|
|
16
|
-
//# sourceMappingURL=AbstractModule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractModule.js","sourceRoot":"","sources":["../../src/base/AbstractModule.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAElD,aAAa;AACb,MAAsB,cAAe,SAAQ,+BAAc;IAEvD,WAAW;IACX;QAEI,KAAK,EAAE,CAAC;IACZ,CAAC;IAEM,SAAS;QAEZ,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;CACJ;AAZD,wCAYC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractObject.d.ts","sourceRoot":"","sources":["../../src/base/AbstractObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAE1D,aAAa;AACb,8BAAsB,cAAc;IAEhC,WAAW;IACX,gBAAuB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAA+C;IAEpH,WAAW;IACJ,EAAE,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,eAAe;IACf,IAAW,IAAI,IAAI,IAAI,CAA0B;IAEjD,WAAW;;IAOX,WAAW;IACJ,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK9B,SAAS;IACF,SAAS,IAAI,OAAO;CAI9B"}
|
package/base/AbstractObject.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractObject = void 0;
|
|
4
|
-
const Host_1 = require("../Host");
|
|
5
|
-
const utility_1 = require("../utility");
|
|
6
|
-
/** 抽象对象基类 */
|
|
7
|
-
class AbstractObject {
|
|
8
|
-
/** 智能体管理器实例 */
|
|
9
|
-
get host() { return Host_1.Host.Instance; }
|
|
10
|
-
;
|
|
11
|
-
/** 构造函数 */
|
|
12
|
-
constructor() {
|
|
13
|
-
this.id = utility_1.StringUtility.GetGUID();
|
|
14
|
-
this.className = this.constructor.name;
|
|
15
|
-
AbstractObject.objects.Add(this.id, this);
|
|
16
|
-
}
|
|
17
|
-
/** 设置ID */
|
|
18
|
-
setId(id) {
|
|
19
|
-
this.id = id;
|
|
20
|
-
}
|
|
21
|
-
/** 销毁 */
|
|
22
|
-
OnDestroy() {
|
|
23
|
-
return AbstractObject.objects.Remove(this.id);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.AbstractObject = AbstractObject;
|
|
27
|
-
/** 对象管理 */
|
|
28
|
-
AbstractObject.objects = new utility_1.ObjectUtility.MapPool();
|
|
29
|
-
//# sourceMappingURL=AbstractObject.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractObject.js","sourceRoot":"","sources":["../../src/base/AbstractObject.ts"],"names":[],"mappings":";;;AAAA,kCAA+B;AAC/B,wCAA0D;AAE1D,aAAa;AACb,MAAsB,cAAc;IAUhC,eAAe;IACf,IAAW,IAAI,KAAW,OAAO,WAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAAA,CAAC;IAElD,WAAW;IACX;QAEI,IAAI,CAAC,EAAE,GAAG,uBAAa,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACvC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,WAAW;IACJ,KAAK,CAAC,EAAU;QAEnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,SAAS;IACF,SAAS;QAEZ,OAAO,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;;AA9BL,wCA+BC;AA7BG,WAAW;AACY,sBAAO,GAA0C,IAAI,uBAAa,CAAC,OAAO,EAAkB,CAAC"}
|
package/base/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|
package/base/index.js
DELETED
|
@@ -1,21 +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("./AbstractObject"), exports);
|
|
18
|
-
__exportStar(require("./AbstractModule"), exports);
|
|
19
|
-
__exportStar(require("./AbstractLLM"), exports);
|
|
20
|
-
__exportStar(require("./AbstractAgent"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
package/base/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC;AACjC,gDAA8B;AAC9B,kDAAgC"}
|
package/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
|
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAgB,UAAU,EAAiB,MAAM,eAAe,CAAC;AAExE,wCAAwC;AACxC,qBAAa,KAAM,SAAQ,aAAa;gBAEjB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW;IAK/D;;;;;;;;OAQG;IACU,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;CAsBlE"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Agent = void 0;
|
|
4
|
-
const base_1 = require("../../base");
|
|
5
|
-
const utility_1 = require("../../utility");
|
|
6
|
-
/** 默认智能体 — 意图匹配 → 工具装配 → LLM 调用 → 记录 */
|
|
7
|
-
class Agent extends base_1.AbstractAgent {
|
|
8
|
-
constructor(config, llm) {
|
|
9
|
-
super(config, llm);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* 发送消息 — 完整编排
|
|
13
|
-
* 1. 匹配技能(intent_match) → SkillData
|
|
14
|
-
* 2. 解析工具 key → ToolDefinition[]
|
|
15
|
-
* 3. 将技能描述嵌入 prompt → 调用 LLM
|
|
16
|
-
* 4. 记录对话
|
|
17
|
-
* 5. 无匹配技能时直接对话(无工具)
|
|
18
|
-
* @param prompt 用户输入
|
|
19
|
-
*/
|
|
20
|
-
async send(prompt) {
|
|
21
|
-
if (utility_1.StringUtility.empty(prompt)) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
// ===== 1. 意图匹配 =====
|
|
25
|
-
const skill = this.host.skillModule.matchBest(prompt);
|
|
26
|
-
// ===== 2. 拼接 prompt =====
|
|
27
|
-
const fullPrompt = skill ? this.host.skillModule.buildPrompt(skill, prompt) : prompt;
|
|
28
|
-
// ===== 3. 工具装配 =====
|
|
29
|
-
const tools = this.host.toolModule.resolve(skill?.toolKeys);
|
|
30
|
-
// ===== 4. 调用 LLM =====
|
|
31
|
-
let usage = { input: 0, output: 0, total: 0 };
|
|
32
|
-
const response = await this.llm.send(fullPrompt, tools, (u) => { usage = u; });
|
|
33
|
-
// ===== 5. 记录对话(记录原始 prompt) =====
|
|
34
|
-
this.record(prompt, response?.content ?? "", usage);
|
|
35
|
-
return response;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
exports.Agent = Agent;
|
|
39
|
-
//# sourceMappingURL=Agent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":";;;AAAA,qCAAwD;AACxD,2CAAwE;AAExE,wCAAwC;AACxC,MAAa,KAAM,SAAQ,oBAAa;IAEpC,YAAmB,MAAyB,EAAE,GAAiB;QAE3D,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,IAAI,CAAC,MAAc;QAE5B,IAAI,uBAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAEjD,sBAAsB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEtD,2BAA2B;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAErF,sBAAsB;QACtB,MAAM,KAAK,GAAgC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEzF,wBAAwB;QACxB,IAAI,KAAK,GAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAEpD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAtCD,sBAsCC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentModule.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/AgentModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,kCAAkC;AAClC,qBAAa,WAAY,SAAQ,cAAc;IAE3C,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;;IAQ9D;;;OAGG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK;IAO/C;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,GAAG,aAAa;IAU/D,cAAc;IACP,GAAG,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;IAKlE,cAAc;IACP,IAAI,IAAI,aAAa,EAAE;IAK9B,YAAY;IACZ,IAAW,KAAK,IAAI,MAAM,CAGzB;IAED;;;OAGG;IACI,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IASlC,gBAAgB;IACT,SAAS,IAAI,IAAI;IAOjB,SAAS,IAAI,OAAO;CAK9B"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AgentModule = void 0;
|
|
4
|
-
const base_1 = require("../../base");
|
|
5
|
-
const utility_1 = require("../../utility");
|
|
6
|
-
const Agent_1 = require("./Agent");
|
|
7
|
-
/** 智能体管理模块 — Agent 实例的创建、恢复、销毁 */
|
|
8
|
-
class AgentModule extends base_1.AbstractModule {
|
|
9
|
-
constructor() {
|
|
10
|
-
super();
|
|
11
|
-
this.agents = new utility_1.ObjectUtility.MapPool();
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* 创建智能体实例(内部创建 LLM)
|
|
15
|
-
* @param config 大模型配置
|
|
16
|
-
*/
|
|
17
|
-
create(config) {
|
|
18
|
-
const agent = new Agent_1.Agent(config);
|
|
19
|
-
this.agents.Set(agent.id, agent);
|
|
20
|
-
return agent;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* 从快照恢复智能体 — 恢复 LLM 消息缓存 + 对话记录
|
|
24
|
-
* @param data 智能体快照
|
|
25
|
-
*/
|
|
26
|
-
restore(data) {
|
|
27
|
-
const llm = this.host.llmModule.restore(data.llmSnapshot);
|
|
28
|
-
const agent = new Agent_1.Agent(data.llmSnapshot.config, llm);
|
|
29
|
-
agent.setId(data.id);
|
|
30
|
-
this.agents.Set(agent.id, agent);
|
|
31
|
-
for (const turn of data.turns) {
|
|
32
|
-
agent.record(turn.input, turn.output, turn.usage);
|
|
33
|
-
}
|
|
34
|
-
return agent;
|
|
35
|
-
}
|
|
36
|
-
/** 获取智能体实例 */
|
|
37
|
-
get(id) {
|
|
38
|
-
return this.agents.Get(id);
|
|
39
|
-
}
|
|
40
|
-
/** 列出全部智能体 */
|
|
41
|
-
list() {
|
|
42
|
-
return this.agents.ValuesToArray();
|
|
43
|
-
}
|
|
44
|
-
/** 智能体总数 */
|
|
45
|
-
get count() {
|
|
46
|
-
return this.agents.Count;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* 移除智能体实例(内部销毁 LLM)
|
|
50
|
-
* @param id 智能体ID
|
|
51
|
-
*/
|
|
52
|
-
remove(id) {
|
|
53
|
-
const agent = this.agents.Get(id);
|
|
54
|
-
if (!agent) {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
agent.OnDestroy();
|
|
58
|
-
this.agents.Remove(id);
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
/** 移除全部智能体实例 */
|
|
62
|
-
removeAll() {
|
|
63
|
-
const agents = this.agents.ValuesToArray();
|
|
64
|
-
for (const agent of agents) {
|
|
65
|
-
agent.OnDestroy();
|
|
66
|
-
}
|
|
67
|
-
this.agents.RemoveAll();
|
|
68
|
-
}
|
|
69
|
-
OnDestroy() {
|
|
70
|
-
this.removeAll();
|
|
71
|
-
return super.OnDestroy();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
exports.AgentModule = AgentModule;
|
|
75
|
-
//# sourceMappingURL=AgentModule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentModule.js","sourceRoot":"","sources":["../../../src/module/AgentModule/AgentModule.ts"],"names":[],"mappings":";;;AACA,qCAA4C;AAC5C,2CAAwE;AACxE,mCAAgC;AAEhC,kCAAkC;AAClC,MAAa,WAAY,SAAQ,qBAAc;IAK3C;QAEI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAa,CAAC,OAAO,EAAiB,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAyB;QAEnC,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,IAAgC;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QACrF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,cAAc;IACP,GAAG,CAA0C,EAAU;QAE1D,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,cAAc;IACP,IAAI;QAEP,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED,YAAY;IACZ,IAAW,KAAK;QAEZ,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,EAAU;QAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAC7B,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB;IACT,SAAS;QAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAEM,SAAS;QAEZ,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;CACJ;AAhFD,kCAgFC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,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("./Agent"), exports);
|
|
18
|
-
__exportStar(require("./AgentModule"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/module/AgentModule/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,gDAA8B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeLLM.d.ts","sourceRoot":"","sources":["../../../src/module/LLMModule/ClaudeLLM.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;IA0BpD,0CAA0C;IAC1C,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;IAM7D,uCAAuC;IACvC,SAAS,CAAC,eAAe,IAAI,IAAI;IAsBjC,uBAAuB;IACvB,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY;IAU7D,gBAAgB;cACA,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAqDlF,SAAS,IAAI,OAAO;CAI9B"}
|