downcity 1.0.4 → 1.0.6
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/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/{cli.js → cli/index.js} +9 -8
- package/dist/cli/index.js.map +1 -0
- package/dist/{Knowledge.d.ts → codex/Codex.d.ts} +4 -4
- package/dist/codex/Codex.d.ts.map +1 -0
- package/dist/{Knowledge.js → codex/Codex.js} +7 -7
- package/dist/codex/Codex.js.map +1 -0
- package/dist/const.d.ts +2 -2
- package/dist/const.d.ts.map +1 -1
- package/dist/const.js +2 -2
- package/dist/const.js.map +1 -1
- package/dist/{Hero.d.ts → hero/Hero.d.ts} +11 -6
- package/dist/hero/Hero.d.ts.map +1 -0
- package/dist/{Hero.js → hero/Hero.js} +31 -18
- package/dist/hero/Hero.js.map +1 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/utils/persistor/Persistor.d.ts +34 -0
- package/dist/utils/persistor/Persistor.d.ts.map +1 -0
- package/dist/utils/persistor/Persistor.js +8 -0
- package/dist/utils/persistor/Persistor.js.map +1 -0
- package/dist/utils/persistor/SQLitePersistor.d.ts +34 -0
- package/dist/utils/persistor/SQLitePersistor.d.ts.map +1 -0
- package/dist/utils/persistor/SQLitePersistor.js +80 -0
- package/dist/utils/persistor/SQLitePersistor.js.map +1 -0
- package/dist/vault/Session.d.ts +25 -0
- package/dist/vault/Session.d.ts.map +1 -0
- package/dist/vault/Session.js +47 -0
- package/dist/vault/Session.js.map +1 -0
- package/dist/vault/Vault.d.ts +59 -0
- package/dist/vault/Vault.d.ts.map +1 -0
- package/dist/{Memory.js → vault/Vault.js} +45 -55
- package/dist/vault/Vault.js.map +1 -0
- package/package.json +3 -3
- package/dist/Hero.d.ts.map +0 -1
- package/dist/Hero.js.map +0 -1
- package/dist/Knowledge.d.ts.map +0 -1
- package/dist/Knowledge.js.map +0 -1
- package/dist/Memory.d.ts +0 -46
- package/dist/Memory.d.ts.map +0 -1
- package/dist/Memory.js.map +0 -1
- package/dist/Session.d.ts +0 -8
- package/dist/Session.d.ts.map +0 -1
- package/dist/Session.js +0 -13
- package/dist/Session.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/store/Persistor.d.ts +0 -14
- package/dist/store/Persistor.d.ts.map +0 -1
- package/dist/store/Persistor.js +0 -3
- package/dist/store/Persistor.js.map +0 -1
- package/dist/store/SQLitePersistor.d.ts +0 -30
- package/dist/store/SQLitePersistor.d.ts.map +0 -1
- package/dist/store/SQLitePersistor.js +0 -83
- package/dist/store/SQLitePersistor.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
import { Command } from "commander";
|
|
3
|
-
import pkg from "
|
|
3
|
+
import pkg from "../../package.json" with { type: "json" };
|
|
4
4
|
import chalk from "chalk";
|
|
5
|
-
import { Hero,
|
|
5
|
+
import { Hero, Vault } from "../index.js";
|
|
6
6
|
import readline from "readline";
|
|
7
7
|
import { createOpenAI } from "@ai-sdk/openai";
|
|
8
8
|
import { log } from "console";
|
|
9
|
-
import { SQLitePersistor } from "./store/SQLitePersistor.js";
|
|
10
9
|
import { tool } from "ai";
|
|
11
10
|
import z from "zod";
|
|
11
|
+
import { SQLiteVaultPersistor } from "../vault/Vault.js";
|
|
12
12
|
const program = new Command();
|
|
13
13
|
// 设置基本信息
|
|
14
14
|
program
|
|
@@ -37,7 +37,10 @@ program.addCommand(new Command("enter").description("enter in this game").action
|
|
|
37
37
|
apiKey: process.env.API_KEY,
|
|
38
38
|
baseURL: process.env.BASE_URL,
|
|
39
39
|
});
|
|
40
|
-
|
|
40
|
+
// 一个model chat
|
|
41
|
+
const model = provider.chat("qwen-turbo");
|
|
42
|
+
// 创建一个vault: 用来控制session
|
|
43
|
+
const vault = new Vault(new SQLiteVaultPersistor());
|
|
41
44
|
const tools = {
|
|
42
45
|
get_current_time: tool({
|
|
43
46
|
description: "获取当前时间",
|
|
@@ -47,11 +50,9 @@ program.addCommand(new Command("enter").description("enter in this game").action
|
|
|
47
50
|
},
|
|
48
51
|
}),
|
|
49
52
|
};
|
|
50
|
-
// 一个model chat
|
|
51
|
-
const model = provider.chat("qwen-turbo");
|
|
52
53
|
const hero = Hero.create()
|
|
53
54
|
.model(model)
|
|
54
|
-
.
|
|
55
|
+
.vault(vault)
|
|
55
56
|
.study(tools)
|
|
56
57
|
.avatar("你是一个助手");
|
|
57
58
|
const rl = readline.createInterface({
|
|
@@ -101,4 +102,4 @@ program.addCommand(new Command("enter").description("enter in this game").action
|
|
|
101
102
|
}));
|
|
102
103
|
// 解析命令行参数
|
|
103
104
|
program.parse();
|
|
104
|
-
//# sourceMappingURL=
|
|
105
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export interface KnowledgeItem {
|
|
|
27
27
|
createdAt: Date;
|
|
28
28
|
updatedAt: Date;
|
|
29
29
|
}
|
|
30
|
-
export declare class
|
|
30
|
+
export declare class Codex {
|
|
31
31
|
private knowledgeBase;
|
|
32
32
|
private categories;
|
|
33
33
|
private options;
|
|
@@ -39,7 +39,7 @@ export declare class Knowledge {
|
|
|
39
39
|
/**
|
|
40
40
|
* 创建Knowledge实例
|
|
41
41
|
*/
|
|
42
|
-
static create(options?: KnowledgeOptions):
|
|
42
|
+
static create(options?: KnowledgeOptions): Codex;
|
|
43
43
|
/**
|
|
44
44
|
* 初始化向量数据库
|
|
45
45
|
*/
|
|
@@ -47,7 +47,7 @@ export declare class Knowledge {
|
|
|
47
47
|
/**
|
|
48
48
|
* 配置向量模型
|
|
49
49
|
*/
|
|
50
|
-
model(model: EmbeddingModel):
|
|
50
|
+
model(model: EmbeddingModel): Codex;
|
|
51
51
|
/**
|
|
52
52
|
* 保存数据到本地文件
|
|
53
53
|
*/
|
|
@@ -136,4 +136,4 @@ export declare class Knowledge {
|
|
|
136
136
|
*/
|
|
137
137
|
private generateId;
|
|
138
138
|
}
|
|
139
|
-
//# sourceMappingURL=
|
|
139
|
+
//# sourceMappingURL=Codex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codex.d.ts","sourceRoot":"","sources":["../../src/codex/Codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,cAAc,EAAQ,IAAI,EAAE,MAAM,IAAI,CAAC;AAMvD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,qBAAa,KAAK;IAChB,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,cAAc,CAAC,CAAM;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAA0B;gBAExC,OAAO,GAAE,gBAAqB;IA0B1C;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,KAAK;IAIhD;;OAEG;YACW,kBAAkB;IA6ChC;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK;IAKnC;;OAEG;YACW,UAAU;IAWxB;;OAEG;YACW,YAAY;IAW1B;;;OAGG;IACH,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IAsC7B;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAC1D,OAAO,CAAC,aAAa,CAAC;IAiDzB;;OAEG;IACH,eAAe,CACb,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GACxD,aAAa,GAAG,SAAS;IAiB5B;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAInD;;OAEG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,GAAE,OAAc,GACxB,OAAO,CAAC,aAAa,EAAE,CAAC;IAsC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,GAAE,MAAW,GACjB,KAAK,CAAC,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAuBhD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWxD;;OAEG;IACG,sBAAsB,CAC1B,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC,GACrE,OAAO,CAAC,aAAa,CAAC;IAOzB;;OAEG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE;IAMzD;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;OAEG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,QAAQ,IAAI;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7C;IAeD;;OAEG;IACH,MAAM,IAAI,GAAG;IAQb;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAqBvB;;OAEG;IACH,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { embed, tool } from "ai";
|
|
2
2
|
import * as fs from "fs/promises";
|
|
3
3
|
import z from "zod";
|
|
4
|
-
import {
|
|
5
|
-
export class
|
|
4
|
+
import { CODEX_FILE_PATH, CODEX_PATH } from "../const.js";
|
|
5
|
+
export class Codex {
|
|
6
6
|
knowledgeBase = new Map();
|
|
7
7
|
categories = new Set();
|
|
8
8
|
options;
|
|
9
9
|
chromaClient;
|
|
10
10
|
collection;
|
|
11
|
-
embeddingModel;
|
|
11
|
+
embeddingModel;
|
|
12
12
|
embeddingFunction;
|
|
13
13
|
constructor(options = {}) {
|
|
14
14
|
this.options = {
|
|
@@ -18,9 +18,9 @@ export class Knowledge {
|
|
|
18
18
|
similarityThreshold: 0.7,
|
|
19
19
|
chroma: {
|
|
20
20
|
collection: "downcity_knowledge",
|
|
21
|
-
persistPath:
|
|
21
|
+
persistPath: CODEX_PATH,
|
|
22
22
|
},
|
|
23
|
-
localFile:
|
|
23
|
+
localFile: CODEX_FILE_PATH,
|
|
24
24
|
...options,
|
|
25
25
|
};
|
|
26
26
|
// 初始化默认分类
|
|
@@ -37,7 +37,7 @@ export class Knowledge {
|
|
|
37
37
|
* 创建Knowledge实例
|
|
38
38
|
*/
|
|
39
39
|
static create(options) {
|
|
40
|
-
return new
|
|
40
|
+
return new Codex(options);
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* 初始化向量数据库
|
|
@@ -425,4 +425,4 @@ export class Knowledge {
|
|
|
425
425
|
return `knowledge_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
426
426
|
}
|
|
427
427
|
}
|
|
428
|
-
//# sourceMappingURL=
|
|
428
|
+
//# sourceMappingURL=Codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codex.js","sourceRoot":"","sources":["../../src/codex/Codex.ts"],"names":[],"mappings":"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"}
|
package/dist/const.d.ts
CHANGED
package/dist/const.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,QAAmC,CAAC;AAE1D,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,QAAmC,CAAC;AAE1D,eAAO,MAAM,UAAU,QAA4C,CAAC;AACpE,eAAO,MAAM,eAAe,QAI3B,CAAC"}
|
package/dist/const.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { homedir } from "os";
|
|
2
2
|
import path from "path";
|
|
3
3
|
export const BASE_PATH = path.join(homedir(), "downcity");
|
|
4
|
-
export const
|
|
5
|
-
export const
|
|
4
|
+
export const CODEX_PATH = path.join(BASE_PATH, "codex", "codex_db");
|
|
5
|
+
export const CODEX_FILE_PATH = path.join(BASE_PATH, "base", "knowledge.json");
|
|
6
6
|
//# sourceMappingURL=const.js.map
|
package/dist/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CACtC,SAAS,EACT,MAAM,EACN,gBAAgB,CACjB,CAAC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { LanguageModel, Tool } from "ai";
|
|
2
|
-
import {
|
|
2
|
+
import { Vault } from "../vault/Vault.js";
|
|
3
3
|
import z from "zod";
|
|
4
|
-
import { Session } from "
|
|
5
|
-
import { SessionInfo } from "./store/Persistor.js";
|
|
4
|
+
import { Session, SessionMeta } from "../vault/Session.js";
|
|
6
5
|
export declare class Hero {
|
|
7
6
|
private _model;
|
|
8
7
|
private _system;
|
|
9
8
|
private _tools;
|
|
10
|
-
private
|
|
9
|
+
private _vault;
|
|
11
10
|
private _session;
|
|
12
11
|
private constructor();
|
|
13
12
|
/**
|
|
@@ -29,7 +28,7 @@ export declare class Hero {
|
|
|
29
28
|
/**
|
|
30
29
|
* 设置记忆系统
|
|
31
30
|
*/
|
|
32
|
-
|
|
31
|
+
vault(vault: Vault): Hero;
|
|
33
32
|
/**
|
|
34
33
|
* 与英雄对话
|
|
35
34
|
*/
|
|
@@ -57,7 +56,10 @@ export declare class Hero {
|
|
|
57
56
|
/**
|
|
58
57
|
* 获取所有会话
|
|
59
58
|
*/
|
|
60
|
-
sessions():
|
|
59
|
+
sessions(): {
|
|
60
|
+
id: string;
|
|
61
|
+
meta: SessionMeta;
|
|
62
|
+
}[];
|
|
61
63
|
/**
|
|
62
64
|
* 删除会话
|
|
63
65
|
*/
|
|
@@ -72,6 +74,9 @@ export declare class Hero {
|
|
|
72
74
|
*/
|
|
73
75
|
get currentSessionId(): string | undefined;
|
|
74
76
|
get tools(): string[];
|
|
77
|
+
/**
|
|
78
|
+
* 获取当前会话
|
|
79
|
+
*/
|
|
75
80
|
get session(): Session;
|
|
76
81
|
}
|
|
77
82
|
//# sourceMappingURL=Hero.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hero.d.ts","sourceRoot":"","sources":["../../src/hero/Hero.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAGb,IAAI,EAGL,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE3D,qBAAa,IAAI;IAEf,OAAO,CAAC,MAAM,CAAgD;IAE9D,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,QAAQ,CAAU;IAE1B,OAAO;IAKP;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,IAAI;IAIrB;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKjC;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI;IAKxC;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOzB;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C5C;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAoB9D;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBhE;;OAEG;IACG,KAAK,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C;;OAEG;IACH,KAAK,IAAI,OAAO;IAMhB;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAS3B;;OAEG;IACH,QAAQ,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,EAAE;IAI/C;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAQ3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED,IAAI,KAAK,IAAI,MAAM,EAAE,CAEpB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { generateText, generateObject, stepCountIs, } from "ai";
|
|
2
|
-
import {
|
|
2
|
+
import { Vault } from "../vault/Vault.js";
|
|
3
3
|
import { createOpenAI } from "@ai-sdk/openai";
|
|
4
4
|
export class Hero {
|
|
5
5
|
// 模型
|
|
@@ -8,13 +8,13 @@ export class Hero {
|
|
|
8
8
|
_system = "你是一个智能助手";
|
|
9
9
|
// 工具
|
|
10
10
|
_tools = {};
|
|
11
|
-
//
|
|
12
|
-
|
|
11
|
+
// 持久记忆库
|
|
12
|
+
_vault;
|
|
13
13
|
// 会话
|
|
14
14
|
_session;
|
|
15
15
|
constructor() {
|
|
16
|
-
this.
|
|
17
|
-
this._session = this.
|
|
16
|
+
this._vault = new Vault();
|
|
17
|
+
this._session = this._vault.createSession();
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* 创建一个新的英雄实例
|
|
@@ -46,8 +46,10 @@ export class Hero {
|
|
|
46
46
|
/**
|
|
47
47
|
* 设置记忆系统
|
|
48
48
|
*/
|
|
49
|
-
|
|
50
|
-
this.
|
|
49
|
+
vault(vault) {
|
|
50
|
+
this._vault = vault;
|
|
51
|
+
// 重新创建session,使用新的vault
|
|
52
|
+
this._session = this._vault.createSession();
|
|
51
53
|
return this;
|
|
52
54
|
}
|
|
53
55
|
/**
|
|
@@ -60,8 +62,17 @@ export class Hero {
|
|
|
60
62
|
role: "user",
|
|
61
63
|
content: message,
|
|
62
64
|
};
|
|
63
|
-
this._session.
|
|
64
|
-
this._session.
|
|
65
|
+
this._session.push(userMessage);
|
|
66
|
+
if (!this._session.title) {
|
|
67
|
+
const title = await generateText({
|
|
68
|
+
model: this._model,
|
|
69
|
+
system: "你是一个专业的会话标题生成助手。请根据用户的消息内容,生成一个简洁、准确、有意义的会话标题。标题应该:1. 不超过20个字符 2. 准确概括用户的主要意图或问题 3. 使用中文 4. 避免使用标点符号 5. 直接输出标题内容,不需要额外说明",
|
|
70
|
+
messages: [userMessage],
|
|
71
|
+
});
|
|
72
|
+
if (title.text) {
|
|
73
|
+
this._session.setTitle(title.text);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
65
76
|
// 调用AI生成回复,传递完整的对话历史以保持上下文记忆
|
|
66
77
|
const result = await generateText({
|
|
67
78
|
model: this._model,
|
|
@@ -74,9 +85,8 @@ export class Hero {
|
|
|
74
85
|
role: "assistant",
|
|
75
86
|
content: result.text,
|
|
76
87
|
};
|
|
77
|
-
this._session.
|
|
78
|
-
this.
|
|
79
|
-
this._memory.updateSession(this._session);
|
|
88
|
+
this._session.push(assistantMessage);
|
|
89
|
+
this._vault.updateSession(this._session);
|
|
80
90
|
return result.text;
|
|
81
91
|
}
|
|
82
92
|
catch (error) {
|
|
@@ -140,7 +150,7 @@ export class Hero {
|
|
|
140
150
|
* 新建会话并切换
|
|
141
151
|
*/
|
|
142
152
|
renew() {
|
|
143
|
-
const newSession = this.
|
|
153
|
+
const newSession = this._vault.createSession();
|
|
144
154
|
this._session = newSession;
|
|
145
155
|
return newSession;
|
|
146
156
|
}
|
|
@@ -148,7 +158,7 @@ export class Hero {
|
|
|
148
158
|
* 切换会话
|
|
149
159
|
*/
|
|
150
160
|
switch(id) {
|
|
151
|
-
const session = this.
|
|
161
|
+
const session = this._vault.getSession(id);
|
|
152
162
|
if (session) {
|
|
153
163
|
this._session = session;
|
|
154
164
|
return true;
|
|
@@ -159,7 +169,7 @@ export class Hero {
|
|
|
159
169
|
* 获取所有会话
|
|
160
170
|
*/
|
|
161
171
|
sessions() {
|
|
162
|
-
return this.
|
|
172
|
+
return this._vault.getSessionsList();
|
|
163
173
|
}
|
|
164
174
|
/**
|
|
165
175
|
* 删除会话
|
|
@@ -169,15 +179,15 @@ export class Hero {
|
|
|
169
179
|
// 如果删除的是当前会话,则切换到一个新的会话
|
|
170
180
|
this.renew();
|
|
171
181
|
}
|
|
172
|
-
return this.
|
|
182
|
+
return this._vault.deleteSession(id);
|
|
173
183
|
}
|
|
174
184
|
/**
|
|
175
185
|
* 清空所有会話
|
|
176
186
|
*/
|
|
177
187
|
clear() {
|
|
178
|
-
this.
|
|
188
|
+
this._vault.clear();
|
|
179
189
|
// 清空后,创建一个新的默认会话
|
|
180
|
-
this._session = this.
|
|
190
|
+
this._session = this._vault.createSession();
|
|
181
191
|
}
|
|
182
192
|
// Getters for debugging and inspection
|
|
183
193
|
get systemPrompt() {
|
|
@@ -192,6 +202,9 @@ export class Hero {
|
|
|
192
202
|
get tools() {
|
|
193
203
|
return Object.keys(this._tools);
|
|
194
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* 获取当前会话
|
|
207
|
+
*/
|
|
195
208
|
get session() {
|
|
196
209
|
return this._session;
|
|
197
210
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hero.js","sourceRoot":"","sources":["../../src/hero/Hero.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { Hero } from "./Hero.js";
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export
|
|
1
|
+
export { Hero } from "./hero/Hero.js";
|
|
2
|
+
export { Vault } from "./vault/Vault.js";
|
|
3
|
+
export { SQLitePersistor as SQLitePersistor } from "./utils/persistor/SQLitePersistor.js";
|
|
4
|
+
export { Codex } from "./codex/Codex.js";
|
|
5
|
+
export { Session } from "./vault/Session.js";
|
|
6
|
+
export type { KnowledgeOptions, KnowledgeItem } from "./codex/Codex.js";
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// 导出主要的类
|
|
2
|
-
export { Hero } from "./Hero.js";
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
2
|
+
export { Hero } from "./hero/Hero.js";
|
|
3
|
+
// 导出历史记录管理器
|
|
4
|
+
export { Vault } from "./vault/Vault.js";
|
|
5
|
+
export { SQLitePersistor as SQLitePersistor } from "./utils/persistor/SQLitePersistor.js";
|
|
6
|
+
export { Codex } from "./codex/Codex.js";
|
|
7
|
+
export { Session } from "./vault/Session.js";
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,YAAY;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,eAAe,IAAI,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 持久化器
|
|
3
|
+
* @template DATA data数据类型
|
|
4
|
+
* @template META 元数据类型, 可以包括title, description 等
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class Persistor<DATA extends Record<string, any>, META extends Record<string, any>> {
|
|
7
|
+
/**
|
|
8
|
+
* 插入item
|
|
9
|
+
*/
|
|
10
|
+
abstract insert(id: string, meta: META, data: DATA): void;
|
|
11
|
+
/**
|
|
12
|
+
* 查找item
|
|
13
|
+
*/
|
|
14
|
+
abstract find(id: string): {
|
|
15
|
+
meta: META;
|
|
16
|
+
data: DATA;
|
|
17
|
+
} | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* 删除item
|
|
20
|
+
*/
|
|
21
|
+
abstract remove(id: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* 更新item
|
|
24
|
+
*/
|
|
25
|
+
abstract update(id: string, meta: META, data: DATA): void;
|
|
26
|
+
/**
|
|
27
|
+
* 列出所有item, 不需要data
|
|
28
|
+
*/
|
|
29
|
+
abstract list(): {
|
|
30
|
+
id: string;
|
|
31
|
+
meta: META;
|
|
32
|
+
}[];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=Persistor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Persistor.d.ts","sourceRoot":"","sources":["../../../src/utils/persistor/Persistor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,8BAAsB,SAAS,CAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IACzD;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS;IACjE;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IACjC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IACzD;;OAEG;IACH,QAAQ,CAAC,IAAI,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,EAAE;CAC9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Persistor.js","sourceRoot":"","sources":["../../../src/utils/persistor/Persistor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAgB,SAAS;CAwB9B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Persistor } from "./Persistor.js";
|
|
2
|
+
export interface SQLitePersistorOptions {
|
|
3
|
+
dir: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class SQLitePersistor<DATA extends Record<string, any>, META extends Record<string, any>> extends Persistor<DATA, META> {
|
|
7
|
+
private db;
|
|
8
|
+
private name;
|
|
9
|
+
private dir;
|
|
10
|
+
/**
|
|
11
|
+
* 构造函数,初始化SQLite数据库持久化器
|
|
12
|
+
* @param options 配置选项,包含目录和文件名
|
|
13
|
+
*/
|
|
14
|
+
constructor(options?: SQLitePersistorOptions);
|
|
15
|
+
/**
|
|
16
|
+
* 保存会话
|
|
17
|
+
* @param session 会话对象
|
|
18
|
+
*/
|
|
19
|
+
insert(id: string, meta: META, data: DATA): void;
|
|
20
|
+
find(id: string): {
|
|
21
|
+
meta: META;
|
|
22
|
+
data: DATA;
|
|
23
|
+
} | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* 删除会话
|
|
26
|
+
*/
|
|
27
|
+
remove(id: string): void;
|
|
28
|
+
update(id: string, meta: META, data: DATA): void;
|
|
29
|
+
list(): {
|
|
30
|
+
id: string;
|
|
31
|
+
meta: META;
|
|
32
|
+
}[];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=SQLitePersistor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLitePersistor.d.ts","sourceRoot":"","sources":["../../../src/utils/persistor/SQLitePersistor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3C,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,eAAe,CAC1B,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAChC,SAAQ,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,GAAG,CAAS;IAEpB;;;OAGG;gBAED,OAAO,GAAE,sBAGR;IA4BH;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAahD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS;IAYxD;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAYhD,IAAI,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,EAAE;CAQrC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Database } from "bun:sqlite";
|
|
2
|
+
import { Persistor } from "./Persistor.js";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { BASE_PATH } from "../../const.js";
|
|
5
|
+
import { mkdirSync } from "fs";
|
|
6
|
+
export class SQLitePersistor extends Persistor {
|
|
7
|
+
db;
|
|
8
|
+
name;
|
|
9
|
+
dir;
|
|
10
|
+
/**
|
|
11
|
+
* 构造函数,初始化SQLite数据库持久化器
|
|
12
|
+
* @param options 配置选项,包含目录和文件名
|
|
13
|
+
*/
|
|
14
|
+
constructor(options = {
|
|
15
|
+
dir: BASE_PATH,
|
|
16
|
+
name: "sqlite",
|
|
17
|
+
}) {
|
|
18
|
+
super();
|
|
19
|
+
this.name = options.name;
|
|
20
|
+
this.dir = options.dir;
|
|
21
|
+
// 确保目录存在
|
|
22
|
+
try {
|
|
23
|
+
mkdirSync(this.dir, { recursive: true });
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
// 目录已存在时忽略错误
|
|
27
|
+
}
|
|
28
|
+
this.db = new Database(path.join(this.dir, this.name + ".db"), {
|
|
29
|
+
create: true,
|
|
30
|
+
});
|
|
31
|
+
this.db.run(`
|
|
32
|
+
CREATE TABLE IF NOT EXISTS ${this.name} (
|
|
33
|
+
id TEXT PRIMARY KEY,
|
|
34
|
+
meta TEXT NOT NULL,
|
|
35
|
+
data TEXT NOT NULL,
|
|
36
|
+
createdAt TEXT NOT NULL,
|
|
37
|
+
updatedAt TEXT NOT NULL
|
|
38
|
+
);
|
|
39
|
+
`);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 保存会话
|
|
43
|
+
* @param session 会话对象
|
|
44
|
+
*/
|
|
45
|
+
insert(id, meta, data) {
|
|
46
|
+
const stmt = this.db.prepare(`INSERT OR REPLACE INTO ${this.name} (id, meta, data, createdAt, updatedAt) VALUES (?, ?, ?, ?, ?)`);
|
|
47
|
+
stmt.run(id, JSON.stringify(meta), JSON.stringify(data), new Date().toISOString(), new Date().toISOString());
|
|
48
|
+
}
|
|
49
|
+
find(id) {
|
|
50
|
+
const stmt = this.db.prepare(`SELECT * FROM ${this.name} WHERE id = ?`);
|
|
51
|
+
const row = stmt.get(id);
|
|
52
|
+
if (row) {
|
|
53
|
+
return {
|
|
54
|
+
meta: JSON.parse(row.meta),
|
|
55
|
+
data: JSON.parse(row.data),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 删除会话
|
|
62
|
+
*/
|
|
63
|
+
remove(id) {
|
|
64
|
+
const stmt = this.db.prepare(`DELETE FROM ${this.name} WHERE id = ?`);
|
|
65
|
+
stmt.run(id);
|
|
66
|
+
}
|
|
67
|
+
update(id, meta, data) {
|
|
68
|
+
const stmt = this.db.prepare(`UPDATE ${this.name} SET meta = ?, data = ?, updatedAt = ? WHERE id = ?`);
|
|
69
|
+
stmt.run(JSON.stringify(meta), JSON.stringify(data), new Date().toISOString(), id);
|
|
70
|
+
}
|
|
71
|
+
list() {
|
|
72
|
+
const stmt = this.db.prepare(`SELECT id, meta FROM ${this.name}`);
|
|
73
|
+
const rows = stmt.all();
|
|
74
|
+
return rows.map((row) => ({
|
|
75
|
+
id: row.id,
|
|
76
|
+
meta: JSON.parse(row.meta),
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=SQLitePersistor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLitePersistor.js","sourceRoot":"","sources":["../../../src/utils/persistor/SQLitePersistor.ts"],"names":[],"mappings":"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"}
|