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.
Files changed (52) hide show
  1. package/Host.d.ts +7 -1
  2. package/Host.d.ts.map +1 -1
  3. package/Host.js +2 -3
  4. package/Host.js.map +1 -1
  5. package/base/AbstractAgent.d.ts +41 -1
  6. package/base/AbstractAgent.d.ts.map +1 -1
  7. package/base/AbstractAgent.js +73 -94
  8. package/base/AbstractAgent.js.map +1 -1
  9. package/base/AbstractLLM.d.ts +4 -4
  10. package/base/AbstractLLM.d.ts.map +1 -1
  11. package/base/AbstractLLM.js +12 -13
  12. package/base/AbstractLLM.js.map +1 -1
  13. package/module/AgentModule/Agent.d.ts +16 -1
  14. package/module/AgentModule/Agent.d.ts.map +1 -1
  15. package/module/AgentModule/Agent.js +36 -22
  16. package/module/AgentModule/Agent.js.map +1 -1
  17. package/module/AgentModule/AgentModule.d.ts +34 -1
  18. package/module/AgentModule/AgentModule.d.ts.map +1 -1
  19. package/module/AgentModule/AgentModule.js +72 -78
  20. package/module/AgentModule/AgentModule.js.map +1 -1
  21. package/module/AgentModule/index.d.ts +2 -1
  22. package/module/AgentModule/index.d.ts.map +1 -1
  23. package/module/AgentModule/index.js +16 -2
  24. package/module/AgentModule/index.js.map +1 -1
  25. package/module/LLMModule/ClaudeLLM.js +1 -1
  26. package/module/LLMModule/ClaudeLLM.js.map +1 -1
  27. package/module/LLMModule/GeminiLLM.js +1 -1
  28. package/module/LLMModule/GeminiLLM.js.map +1 -1
  29. package/module/SkillModule/SkillModule.d.ts +80 -0
  30. package/module/SkillModule/SkillModule.d.ts.map +1 -0
  31. package/module/SkillModule/SkillModule.js +167 -0
  32. package/module/SkillModule/SkillModule.js.map +1 -0
  33. package/module/SkillModule/index.d.ts +2 -0
  34. package/module/SkillModule/index.d.ts.map +1 -0
  35. package/module/SkillModule/index.js +18 -0
  36. package/module/SkillModule/index.js.map +1 -0
  37. package/module/ToolModule/ToolModule.d.ts +49 -0
  38. package/module/ToolModule/ToolModule.d.ts.map +1 -0
  39. package/module/ToolModule/ToolModule.js +117 -0
  40. package/module/ToolModule/ToolModule.js.map +1 -0
  41. package/module/ToolModule/index.d.ts +2 -0
  42. package/module/ToolModule/index.d.ts.map +1 -0
  43. package/module/ToolModule/index.js +18 -0
  44. package/module/ToolModule/index.js.map +1 -0
  45. package/module/index.d.ts +2 -0
  46. package/module/index.d.ts.map +1 -1
  47. package/module/index.js +2 -0
  48. package/module/index.js.map +1 -1
  49. package/package.json +1 -1
  50. package/utility/LLMUtility.d.ts +43 -11
  51. package/utility/LLMUtility.d.ts.map +1 -1
  52. 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;AAErC,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;IAIrC,WAAW;IACX,OAAO;CAKV;AACD,SAAS;;AACT,wBAA6B"}
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
- // this.agentModule = new AgentModule();
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,qCAAqC;AAErC,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;IAIlH,iBAAiB;IACjB,4CAA4C;IAE5C,WAAW;IACX;QAEI,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,EAAE,CAAC;QACjC,wCAAwC;IAC5C,CAAC;CACJ;AAjBD,oBAiBC;AACD,SAAS;AACT,kBAAe,IAAI,CAAC,QAAQ,CAAC"}
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,2 +1,42 @@
1
- export {};
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"}
@@ -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
- // export abstract class AbstractAgent extends AbstractObject
8
- // {
9
- // /** 大模型实例 */
10
- // public readonly llm: AbstractLLM;
11
- // /** 创建时间戳 */
12
- // public readonly createdAt: number;
13
- // /** 对话记录 */
14
- // public readonly turns: AgentUtility.SessionData[];
15
- // /** 是否活跃 */
16
- // private _active: boolean;
17
- // /** 构造函数 */
18
- // public constructor(config: LLMUtility.Config, llm?: AbstractLLM)
19
- // {
20
- // super();
21
- // this.llm = llm ?? this.host.llmModule.add(config);
22
- // this.createdAt = Date.now();
23
- // this.turns = [];
24
- // this._active = true;
25
- // }
26
- // // #region 查询
27
- // /** 是否活跃 */
28
- // public get active(): boolean { return this._active; }
29
- // /** 对话轮数 */
30
- // public get turnCount(): number { return this.turns.length; }
31
- // /** 累计用量 */
32
- // public get totalUsage(): AgentUtility.Usage
33
- // {
34
- // const usage: AgentUtility.Usage = { input: 0, output: 0, total: 0 };
35
- // for (const turn of this.turns)
36
- // {
37
- // usage.input += turn.usage.input ?? 0;
38
- // usage.output += turn.usage.output ?? 0;
39
- // usage.total += turn.usage.total ?? 0;
40
- // }
41
- // return usage;
42
- // }
43
- // // #endregion
44
- // // #region 会话操作
45
- // /** 清空对话记录 */
46
- // public clear(): this
47
- // {
48
- // this.turns.length = 0;
49
- // return this;
50
- // }
51
- // /** 关闭会话 */
52
- // public close(): this
53
- // {
54
- // this._active = false;
55
- // return this;
56
- // }
57
- // /**
58
- // * 发送消息 — 派生类实现具体的推理逻辑
59
- // * @param prompt 用户输入
60
- // */
61
- // public abstract send(prompt: string): Promise<LLMUtility.Response>;
62
- // /**
63
- // * 记录一轮对话
64
- // * @param input 用户输入
65
- // * @param output 智能体输出
66
- // * @param usage 本轮 token 用量
67
- // */
68
- // public record(input: string, output: string, usage: AgentUtility.Usage): this
69
- // {
70
- // if (!this._active) { return this; }
71
- // this.turns.push({ input, output, usage, timestamp: Date.now() });
72
- // return this;
73
- // }
74
- // // #endregion
75
- // // #region 快照
76
- // /** 导出快照 — 包含对话记录与大模型快照 */
77
- // public exportSnapshot(): AgentUtility.AgentSnapshot
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":";AAAA,qDAAqD;AACrD,+CAA+C;AAC/C,yDAAyD;;AAEzD,gCAAgC;AAChC,6DAA6D;AAC7D,IAAI;AACJ,mBAAmB;AACnB,wCAAwC;AACxC,mBAAmB;AACnB,yCAAyC;AACzC,kBAAkB;AAClB,yDAAyD;AACzD,kBAAkB;AAClB,gCAAgC;AAEhC,kBAAkB;AAClB,uEAAuE;AACvE,QAAQ;AACR,mBAAmB;AACnB,6DAA6D;AAC7D,uCAAuC;AACvC,2BAA2B;AAC3B,+BAA+B;AAC/B,QAAQ;AAGR,oBAAoB;AAEpB,kBAAkB;AAClB,4DAA4D;AAE5D,kBAAkB;AAClB,mEAAmE;AAEnE,kBAAkB;AAClB,kDAAkD;AAClD,QAAQ;AACR,+EAA+E;AAC/E,yCAAyC;AACzC,YAAY;AACZ,oDAAoD;AACpD,sDAAsD;AACtD,oDAAoD;AACpD,YAAY;AACZ,wBAAwB;AACxB,QAAQ;AAER,oBAAoB;AAEpB,sBAAsB;AAEtB,oBAAoB;AACpB,2BAA2B;AAC3B,QAAQ;AACR,iCAAiC;AACjC,uBAAuB;AACvB,QAAQ;AAER,kBAAkB;AAClB,2BAA2B;AAC3B,QAAQ;AACR,gCAAgC;AAChC,uBAAuB;AACvB,QAAQ;AAER,UAAU;AACV,6BAA6B;AAC7B,4BAA4B;AAC5B,UAAU;AACV,0EAA0E;AAE1E,UAAU;AACV,gBAAgB;AAChB,2BAA2B;AAC3B,6BAA6B;AAC7B,kCAAkC;AAClC,UAAU;AACV,oFAAoF;AACpF,QAAQ;AACR,8CAA8C;AAC9C,4EAA4E;AAC5E,uBAAuB;AACvB,QAAQ;AAER,oBAAoB;AAEpB,oBAAoB;AAEpB,iCAAiC;AACjC,0DAA0D;AAC1D,QAAQ;AACR,mBAAmB;AACnB,2BAA2B;AAC3B,sDAAsD;AACtD,yCAAyC;AACzC,yCAAyC;AACzC,oCAAoC;AACpC,aAAa;AACb,QAAQ;AAER,oBAAoB;AAEpB,sBAAsB;AAEtB,kCAAkC;AAClC,QAAQ;AACR,gCAAgC;AAChC,oDAAoD;AACpD,oCAAoC;AACpC,QAAQ;AAER,oBAAoB;AACpB,IAAI"}
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"}
@@ -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 data 数据
13
+ * @param prompt 用户提示词(已由 Agent 嵌入技能描述)
14
+ * @param tools 工具列表
15
+ * @param onUsage 用量回调
16
16
  * @return 响应数据
17
17
  */
18
- send(data: LLMUtility.SendData): Promise<LLMUtility.Response>;
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;IAChD,YAAY;IACZ,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B,WAAW;gBACQ,MAAM,EAAE,CAAC;IAQ5B;;;;OAIG;IACU,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IA2B1E,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;CAM9B"}
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"}
@@ -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 data 数据
20
+ * @param prompt 用户提示词(已由 Agent 嵌入技能描述)
21
+ * @param tools 工具列表
22
+ * @param onUsage 用量回调
18
23
  * @return 响应数据
19
24
  */
20
- async send(data) {
25
+ async send(prompt, tools, onUsage) {
21
26
  // 指令判空
22
- if (null == data || utility_1.StringUtility.empty(data.prompt)) {
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(data.prompt);
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(data.tools || []);
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, data.tools, usageAcc);
45
+ response = await this.handleResponse(response, tools, usageAcc);
46
46
  // 触发用量回调
47
- data.onUsage?.(usageAcc);
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractLLM.js","sourceRoot":"","sources":["../../src/base/AbstractLLM.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractLLM.js","sourceRoot":"","sources":["../../src/base/AbstractLLM.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,17 @@
1
- export {};
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
- // export class Agent extends AbstractAgent
7
- // {
8
- // public constructor(config: LLMUtility.Config, llm?: AbstractLLM)
9
- // {
10
- // super(config, llm);
11
- // }
12
- // /**
13
- // * 发送消息 — 调用 LLM,记录对话
14
- // * @param prompt 用户输入
15
- // */
16
- // public async send(prompt: string): Promise<LLMUtility.Response>
17
- // {
18
- // let usage: AgentUtility.Usage = { input: 0, output: 0, total: 0 };
19
- // const tools: LLMUtility.ToolDefinition[] = []; // 后续从 ToolModule 获取
20
- // const response = await this.llm.send({ prompt, skill: "", tools, onUsage: (u) => { usage = u; } });
21
- // this.record(prompt, response.content, usage);
22
- // return response;
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":";AAAA,2DAA2D;AAC3D,4DAA4D;;AAE5D,+BAA+B;AAC/B,2CAA2C;AAC3C,IAAI;AACJ,uEAAuE;AACvE,QAAQ;AACR,8BAA8B;AAC9B,QAAQ;AAER,UAAU;AACV,4BAA4B;AAC5B,4BAA4B;AAC5B,UAAU;AACV,sEAAsE;AACtE,QAAQ;AACR,6EAA6E;AAC7E,8EAA8E;AAE9E,8GAA8G;AAE9G,wDAAwD;AACxD,2BAA2B;AAC3B,QAAQ;AACR,IAAI"}
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
- export {};
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"}