knight-agent 1.1.3 → 1.1.4
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 +7 -1
- package/Host.d.ts.map +1 -1
- package/Host.js +2 -3
- package/Host.js.map +1 -1
- package/base/AbstractAgent.d.ts +41 -1
- package/base/AbstractAgent.d.ts.map +1 -1
- package/base/AbstractAgent.js +73 -94
- package/base/AbstractAgent.js.map +1 -1
- package/base/AbstractLLM.d.ts +4 -4
- package/base/AbstractLLM.d.ts.map +1 -1
- package/base/AbstractLLM.js +12 -13
- package/base/AbstractLLM.js.map +1 -1
- package/module/AgentModule/Agent.d.ts +16 -1
- package/module/AgentModule/Agent.d.ts.map +1 -1
- package/module/AgentModule/Agent.js +36 -22
- package/module/AgentModule/Agent.js.map +1 -1
- package/module/AgentModule/AgentModule.d.ts +34 -1
- package/module/AgentModule/AgentModule.d.ts.map +1 -1
- package/module/AgentModule/AgentModule.js +72 -78
- package/module/AgentModule/AgentModule.js.map +1 -1
- package/module/AgentModule/index.d.ts +2 -1
- package/module/AgentModule/index.d.ts.map +1 -1
- package/module/AgentModule/index.js +16 -2
- package/module/AgentModule/index.js.map +1 -1
- package/module/LLMModule/ClaudeLLM.js +1 -1
- package/module/LLMModule/ClaudeLLM.js.map +1 -1
- package/module/LLMModule/GeminiLLM.js +1 -1
- package/module/LLMModule/GeminiLLM.js.map +1 -1
- package/module/SkillModule/SkillModule.d.ts +80 -0
- package/module/SkillModule/SkillModule.d.ts.map +1 -0
- package/module/SkillModule/SkillModule.js +167 -0
- package/module/SkillModule/SkillModule.js.map +1 -0
- package/module/SkillModule/index.d.ts +2 -0
- package/module/SkillModule/index.d.ts.map +1 -0
- package/module/SkillModule/index.js +18 -0
- package/module/SkillModule/index.js.map +1 -0
- package/module/ToolModule/ToolModule.d.ts +49 -0
- package/module/ToolModule/ToolModule.d.ts.map +1 -0
- package/module/ToolModule/ToolModule.js +117 -0
- package/module/ToolModule/ToolModule.js.map +1 -0
- package/module/ToolModule/index.d.ts +2 -0
- package/module/ToolModule/index.d.ts.map +1 -0
- package/module/ToolModule/index.js +18 -0
- package/module/ToolModule/index.js.map +1 -0
- package/module/index.d.ts +2 -0
- package/module/index.d.ts.map +1 -1
- package/module/index.js +2 -0
- package/module/index.js.map +1 -1
- package/package.json +1 -1
- package/utility/LLMUtility.d.ts +43 -11
- package/utility/LLMUtility.d.ts.map +1 -1
- package/utility/LLMUtility.js.map +1 -1
package/Host.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LLMModule } from "./module";
|
|
1
|
+
import { LLMModule, ToolModule, SkillModule, AgentModule } from "./module";
|
|
2
2
|
/** 实例类 */
|
|
3
3
|
export declare class Host {
|
|
4
4
|
/** 单例模式 */
|
|
@@ -6,6 +6,12 @@ export declare class Host {
|
|
|
6
6
|
static get Instance(): Host;
|
|
7
7
|
/** 大模型管理模块 */
|
|
8
8
|
readonly llmModule: LLMModule;
|
|
9
|
+
/** 工具管理模块 */
|
|
10
|
+
readonly toolModule: ToolModule;
|
|
11
|
+
/** 技能管理模块 */
|
|
12
|
+
readonly skillModule: SkillModule;
|
|
13
|
+
/** 智能体管理模块 */
|
|
14
|
+
readonly agentModule: AgentModule;
|
|
9
15
|
/** 构造函数 */
|
|
10
16
|
private constructor();
|
|
11
17
|
}
|
package/Host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Host.d.ts","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
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
CHANGED
|
@@ -8,12 +8,11 @@ class Host {
|
|
|
8
8
|
Host.instance = new Host();
|
|
9
9
|
} return Host.instance; }
|
|
10
10
|
;
|
|
11
|
-
// /** 智能体管理模块 */
|
|
12
|
-
// public readonly agentModule: AgentModule;
|
|
13
11
|
/** 构造函数 */
|
|
14
12
|
constructor() {
|
|
15
13
|
this.llmModule = new module_1.LLMModule();
|
|
16
|
-
|
|
14
|
+
this.toolModule = new module_1.ToolModule();
|
|
15
|
+
this.skillModule = new module_1.SkillModule();
|
|
17
16
|
}
|
|
18
17
|
}
|
|
19
18
|
exports.Host = Host;
|
package/Host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Host.js","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":";;;AAAA,
|
|
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"}
|
package/base/AbstractAgent.d.ts
CHANGED
|
@@ -1,2 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
import { AbstractObject } from "./AbstractObject";
|
|
2
|
+
import { AbstractLLM } from "./AbstractLLM";
|
|
3
|
+
import { AgentUtility, LLMUtility } from "../utility";
|
|
4
|
+
/** 抽象智能体基类 — 对话管理 + LLM 编排 */
|
|
5
|
+
export declare abstract class AbstractAgent extends AbstractObject {
|
|
6
|
+
/** 大模型实例 */
|
|
7
|
+
readonly llm: AbstractLLM;
|
|
8
|
+
/** 创建时间戳 */
|
|
9
|
+
readonly createdAt: number;
|
|
10
|
+
/** 对话记录 */
|
|
11
|
+
readonly turns: AgentUtility.SessionData[];
|
|
12
|
+
/** 是否活跃 */
|
|
13
|
+
private _active;
|
|
14
|
+
/** 构造函数 */
|
|
15
|
+
constructor(config: LLMUtility.Config, llm?: AbstractLLM);
|
|
16
|
+
/** 是否活跃 */
|
|
17
|
+
get active(): boolean;
|
|
18
|
+
/** 对话轮数 */
|
|
19
|
+
get turnCount(): number;
|
|
20
|
+
/** 累计用量 */
|
|
21
|
+
get totalUsage(): AgentUtility.Usage;
|
|
22
|
+
/** 清空对话记录 */
|
|
23
|
+
clear(): this;
|
|
24
|
+
/** 关闭会话 */
|
|
25
|
+
close(): this;
|
|
26
|
+
/**
|
|
27
|
+
* 发送消息 — 派生类实现 意图匹配→工具装配→LLM调用→记录 的完整编排
|
|
28
|
+
* @param prompt 用户输入
|
|
29
|
+
*/
|
|
30
|
+
abstract send(prompt: string): Promise<LLMUtility.Response>;
|
|
31
|
+
/**
|
|
32
|
+
* 记录一轮对话
|
|
33
|
+
* @param input 用户输入
|
|
34
|
+
* @param output 智能体输出
|
|
35
|
+
* @param usage 本轮 token 用量
|
|
36
|
+
*/
|
|
37
|
+
record(input: string, output: string, usage: AgentUtility.Usage): this;
|
|
38
|
+
/** 导出快照 — 包含对话记录与大模型快照 */
|
|
39
|
+
exportSnapshot(): AgentUtility.AgentSnapshot;
|
|
40
|
+
OnDestroy(): boolean;
|
|
41
|
+
}
|
|
2
42
|
//# sourceMappingURL=AbstractAgent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAgent.d.ts","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":""}
|
|
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
CHANGED
|
@@ -1,97 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// import { AbstractObject } from "./AbstractObject";
|
|
3
|
-
// import { AbstractLLM } from "./AbstractLLM";
|
|
4
|
-
// import { AgentUtility, LLMUtility } from "../utility";
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
// return {
|
|
80
|
-
// id: this.id,
|
|
81
|
-
// llmSnapshot: this.llm.exportSnapshot(),
|
|
82
|
-
// turns: this.turns.slice(),
|
|
83
|
-
// createdAt: this.createdAt,
|
|
84
|
-
// exportAt: Date.now(),
|
|
85
|
-
// };
|
|
86
|
-
// }
|
|
87
|
-
// // #endregion
|
|
88
|
-
// // #region 生命周期
|
|
89
|
-
// public OnDestroy(): boolean
|
|
90
|
-
// {
|
|
91
|
-
// this._active = false;
|
|
92
|
-
// this.host.llmModule.remove(this.llm?.id);
|
|
93
|
-
// return super.OnDestroy();
|
|
94
|
-
// }
|
|
95
|
-
// // #endregion
|
|
96
|
-
// }
|
|
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;
|
|
97
76
|
//# sourceMappingURL=AbstractAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAgent.js","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":"
|
|
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"}
|
package/base/AbstractLLM.d.ts
CHANGED
|
@@ -6,16 +6,16 @@ export declare abstract class AbstractLLM<T extends LLMUtility.Config = LLMUtili
|
|
|
6
6
|
readonly config: T;
|
|
7
7
|
/** 消息缓存 */
|
|
8
8
|
readonly messages: LLMUtility.Message<K>;
|
|
9
|
-
/** 系统提示词 */
|
|
10
|
-
protected systemPrompt: string;
|
|
11
9
|
/** 构造函数 */
|
|
12
10
|
constructor(config: T);
|
|
13
11
|
/**
|
|
14
12
|
* 发送消息
|
|
15
|
-
* @param
|
|
13
|
+
* @param prompt 用户提示词(已由 Agent 嵌入技能描述)
|
|
14
|
+
* @param tools 工具列表
|
|
15
|
+
* @param onUsage 用量回调
|
|
16
16
|
* @return 响应数据
|
|
17
17
|
*/
|
|
18
|
-
send(
|
|
18
|
+
send(prompt: string, tools?: Array<LLMUtility.ToolDefinition>, onUsage?: LLMUtility.UsageCallback): Promise<LLMUtility.Response>;
|
|
19
19
|
/** 导出快照 — 序列化消息缓存与配置 */
|
|
20
20
|
exportSnapshot(): LLMUtility.Snapshot;
|
|
21
21
|
/** 添加系统消息到缓存 */
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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
CHANGED
|
@@ -10,25 +10,25 @@ class AbstractLLM extends AbstractObject_1.AbstractObject {
|
|
|
10
10
|
super();
|
|
11
11
|
this.config = config;
|
|
12
12
|
this.messages = new utility_1.LLMUtility.Message(this.config.maxMessageCache);
|
|
13
|
+
if (null != config.systemPrompt) {
|
|
14
|
+
this.addSystemMessage(config.systemPrompt);
|
|
15
|
+
}
|
|
13
16
|
}
|
|
14
17
|
// #region 公开接口
|
|
15
18
|
/**
|
|
16
19
|
* 发送消息
|
|
17
|
-
* @param
|
|
20
|
+
* @param prompt 用户提示词(已由 Agent 嵌入技能描述)
|
|
21
|
+
* @param tools 工具列表
|
|
22
|
+
* @param onUsage 用量回调
|
|
18
23
|
* @return 响应数据
|
|
19
24
|
*/
|
|
20
|
-
async send(
|
|
25
|
+
async send(prompt, tools, onUsage) {
|
|
21
26
|
// 指令判空
|
|
22
|
-
if (
|
|
27
|
+
if (utility_1.StringUtility.empty(prompt)) {
|
|
23
28
|
return null;
|
|
24
29
|
}
|
|
25
|
-
// 添加系统消息
|
|
26
|
-
if (null == this.systemPrompt && this.messages.count === 0) {
|
|
27
|
-
this.addSystemMessage(data.skill);
|
|
28
|
-
this.systemPrompt = data.skill;
|
|
29
|
-
}
|
|
30
30
|
// 添加用户消息
|
|
31
|
-
this.addUserMessage(
|
|
31
|
+
this.addUserMessage(prompt);
|
|
32
32
|
// 消息压缩
|
|
33
33
|
this.compactMessages();
|
|
34
34
|
// 修剪缓存
|
|
@@ -36,15 +36,15 @@ class AbstractLLM extends AbstractObject_1.AbstractObject {
|
|
|
36
36
|
// 用量累加器
|
|
37
37
|
const usageAcc = { input: 0, output: 0, total: 0 };
|
|
38
38
|
// 发起请求
|
|
39
|
-
let response = await this.request(
|
|
39
|
+
let response = await this.request(tools || []);
|
|
40
40
|
// 累加用量
|
|
41
41
|
this.addUsage(usageAcc, response.usage);
|
|
42
42
|
// 添加助手消息
|
|
43
43
|
this.addAssistantMessage(response.content, response.toolCalls);
|
|
44
44
|
// 处理响应逻辑
|
|
45
|
-
response = await this.handleResponse(response,
|
|
45
|
+
response = await this.handleResponse(response, tools, usageAcc);
|
|
46
46
|
// 触发用量回调
|
|
47
|
-
|
|
47
|
+
onUsage?.(usageAcc);
|
|
48
48
|
return response;
|
|
49
49
|
}
|
|
50
50
|
/** 导出快照 — 序列化消息缓存与配置 */
|
|
@@ -112,7 +112,6 @@ class AbstractLLM extends AbstractObject_1.AbstractObject {
|
|
|
112
112
|
}
|
|
113
113
|
// #endregion
|
|
114
114
|
OnDestroy() {
|
|
115
|
-
this.systemPrompt = null;
|
|
116
115
|
this.messages.Clear();
|
|
117
116
|
return super.OnDestroy();
|
|
118
117
|
}
|
package/base/AbstractLLM.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractLLM.js","sourceRoot":"","sources":["../../src/base/AbstractLLM.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAClD,wCAAuD;AAEvD,cAAc;AACd,MAAsB,WAAwH,SAAQ,+BAAc;
|
|
1
|
+
{"version":3,"file":"AbstractLLM.js","sourceRoot":"","sources":["../../src/base/AbstractLLM.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { AbstractAgent, AbstractLLM } from "../../base";
|
|
2
|
+
import { LLMUtility } from "../../utility";
|
|
3
|
+
/** 默认智能体 — 意图匹配 → 工具装配 → LLM 调用 → 记录 */
|
|
4
|
+
export declare class Agent extends AbstractAgent {
|
|
5
|
+
constructor(config: LLMUtility.Config, llm?: AbstractLLM);
|
|
6
|
+
/**
|
|
7
|
+
* 发送消息 — 完整编排
|
|
8
|
+
* 1. 匹配技能(intent_match) → SkillData
|
|
9
|
+
* 2. 解析工具 key → ToolDefinition[]
|
|
10
|
+
* 3. 将技能描述嵌入 prompt → 调用 LLM
|
|
11
|
+
* 4. 记录对话
|
|
12
|
+
* 5. 无匹配技能时直接对话(无工具)
|
|
13
|
+
* @param prompt 用户输入
|
|
14
|
+
*/
|
|
15
|
+
send(prompt: string): Promise<LLMUtility.Response>;
|
|
16
|
+
}
|
|
2
17
|
//# sourceMappingURL=Agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":""}
|
|
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,25 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// import { AbstractAgent, AbstractLLM } from "../../base";
|
|
3
|
-
// import { AgentUtility, LLMUtility } from "../../utility";
|
|
4
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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;
|
|
25
39
|
//# sourceMappingURL=Agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":"
|
|
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,2 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
import { AbstractAgent } from "../../base";
|
|
2
|
+
import { AbstractModule } from "../../base";
|
|
3
|
+
import { AgentUtility, LLMUtility } from "../../utility";
|
|
4
|
+
import { Agent } from "./Agent";
|
|
5
|
+
/** 智能体管理模块 — Agent 实例的创建、恢复、销毁 */
|
|
6
|
+
export declare class AgentModule extends AbstractModule {
|
|
7
|
+
/** 智能体池 */
|
|
8
|
+
private readonly agents;
|
|
9
|
+
constructor();
|
|
10
|
+
/**
|
|
11
|
+
* 创建智能体实例(内部创建 LLM)
|
|
12
|
+
* @param config 大模型配置
|
|
13
|
+
*/
|
|
14
|
+
create(config: LLMUtility.Config): Agent;
|
|
15
|
+
/**
|
|
16
|
+
* 从快照恢复智能体 — 恢复 LLM 消息缓存 + 对话记录
|
|
17
|
+
* @param data 智能体快照
|
|
18
|
+
*/
|
|
19
|
+
restore(data: AgentUtility.AgentSnapshot): AbstractAgent;
|
|
20
|
+
/** 获取智能体实例 */
|
|
21
|
+
get<T extends AbstractAgent = AbstractAgent>(id: string): T;
|
|
22
|
+
/** 列出全部智能体 */
|
|
23
|
+
list(): AbstractAgent[];
|
|
24
|
+
/** 智能体总数 */
|
|
25
|
+
get count(): number;
|
|
26
|
+
/**
|
|
27
|
+
* 移除智能体实例(内部销毁 LLM)
|
|
28
|
+
* @param id 智能体ID
|
|
29
|
+
*/
|
|
30
|
+
remove(id: string): boolean;
|
|
31
|
+
/** 移除全部智能体实例 */
|
|
32
|
+
removeAll(): void;
|
|
33
|
+
OnDestroy(): boolean;
|
|
34
|
+
}
|
|
2
35
|
//# sourceMappingURL=AgentModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentModule.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/AgentModule.ts"],"names":[],"mappings":""}
|
|
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"}
|