@easynet/agent-memory 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +260 -0
- package/bin/chat +11 -0
- package/dist/adapters/index.d.ts +8 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +29 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/mem0/mem0-store.d.ts +29 -0
- package/dist/adapters/mem0/mem0-store.d.ts.map +1 -0
- package/dist/adapters/mem0/mem0-store.js +174 -0
- package/dist/adapters/mem0/mem0-store.js.map +1 -0
- package/dist/adapters/rag-http/rag-http-retriever.d.ts +18 -0
- package/dist/adapters/rag-http/rag-http-retriever.d.ts.map +1 -0
- package/dist/adapters/rag-http/rag-http-retriever.js +71 -0
- package/dist/adapters/rag-http/rag-http-retriever.js.map +1 -0
- package/dist/adapters/types.d.ts +25 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +6 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/boot/boot-rebuilder.d.ts +26 -0
- package/dist/boot/boot-rebuilder.d.ts.map +1 -0
- package/dist/boot/boot-rebuilder.js +112 -0
- package/dist/boot/boot-rebuilder.js.map +1 -0
- package/dist/boot/index.d.ts +3 -0
- package/dist/boot/index.d.ts.map +1 -0
- package/dist/boot/index.js +6 -0
- package/dist/boot/index.js.map +1 -0
- package/dist/cli/chat-split.d.ts +22 -0
- package/dist/cli/chat-split.d.ts.map +1 -0
- package/dist/cli/chat-split.js +187 -0
- package/dist/cli/chat-split.js.map +1 -0
- package/dist/cli/chat.d.ts +19 -0
- package/dist/cli/chat.d.ts.map +1 -0
- package/dist/cli/chat.js +266 -0
- package/dist/cli/chat.js.map +1 -0
- package/dist/cli/commands/command-handler.d.ts +32 -0
- package/dist/cli/commands/command-handler.d.ts.map +1 -0
- package/dist/cli/commands/command-handler.js +143 -0
- package/dist/cli/commands/command-handler.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/display-manager.d.ts +18 -0
- package/dist/cli/ui/display-manager.d.ts.map +1 -0
- package/dist/cli/ui/display-manager.js +69 -0
- package/dist/cli/ui/display-manager.js.map +1 -0
- package/dist/cli/ui/screen-layout.d.ts +12 -0
- package/dist/cli/ui/screen-layout.d.ts.map +1 -0
- package/dist/cli/ui/screen-layout.js +125 -0
- package/dist/cli/ui/screen-layout.js.map +1 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +6 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +9 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +107 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/context/context-builder.d.ts +18 -0
- package/dist/context/context-builder.d.ts.map +1 -0
- package/dist/context/context-builder.js +91 -0
- package/dist/context/context-builder.js.map +1 -0
- package/dist/core/agent-memory.d.ts +50 -0
- package/dist/core/agent-memory.d.ts.map +1 -0
- package/dist/core/agent-memory.js +297 -0
- package/dist/core/agent-memory.js.map +1 -0
- package/dist/embedding/embedder.d.ts +49 -0
- package/dist/embedding/embedder.d.ts.map +1 -0
- package/dist/embedding/embedder.js +146 -0
- package/dist/embedding/embedder.js.map +1 -0
- package/dist/embedding/index.d.ts +3 -0
- package/dist/embedding/index.d.ts.map +1 -0
- package/dist/embedding/index.js +8 -0
- package/dist/embedding/index.js.map +1 -0
- package/dist/gate/deduplicator.d.ts +22 -0
- package/dist/gate/deduplicator.d.ts.map +1 -0
- package/dist/gate/deduplicator.js +74 -0
- package/dist/gate/deduplicator.js.map +1 -0
- package/dist/gate/extractor.d.ts +33 -0
- package/dist/gate/extractor.d.ts.map +1 -0
- package/dist/gate/extractor.js +122 -0
- package/dist/gate/extractor.js.map +1 -0
- package/dist/gate/index.d.ts +3 -0
- package/dist/gate/index.d.ts.map +1 -0
- package/dist/gate/index.js +6 -0
- package/dist/gate/index.js.map +1 -0
- package/dist/gate/memory-gate.d.ts +27 -0
- package/dist/gate/memory-gate.d.ts.map +1 -0
- package/dist/gate/memory-gate.js +86 -0
- package/dist/gate/memory-gate.js.map +1 -0
- package/dist/gate/redactor.d.ts +14 -0
- package/dist/gate/redactor.d.ts.map +1 -0
- package/dist/gate/redactor.js +24 -0
- package/dist/gate/redactor.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/indexing/in-memory-index.d.ts +67 -0
- package/dist/indexing/in-memory-index.d.ts.map +1 -0
- package/dist/indexing/in-memory-index.js +135 -0
- package/dist/indexing/in-memory-index.js.map +1 -0
- package/dist/indexing/index.d.ts +3 -0
- package/dist/indexing/index.d.ts.map +1 -0
- package/dist/indexing/index.js +6 -0
- package/dist/indexing/index.js.map +1 -0
- package/dist/persistence/database/schema.d.ts +6 -0
- package/dist/persistence/database/schema.d.ts.map +1 -0
- package/dist/persistence/database/schema.js +75 -0
- package/dist/persistence/database/schema.js.map +1 -0
- package/dist/persistence/index.d.ts +3 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +6 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/repository/embedding-operations.d.ts +17 -0
- package/dist/persistence/repository/embedding-operations.d.ts.map +1 -0
- package/dist/persistence/repository/embedding-operations.js +58 -0
- package/dist/persistence/repository/embedding-operations.js.map +1 -0
- package/dist/persistence/repository/memory-operations.d.ts +28 -0
- package/dist/persistence/repository/memory-operations.d.ts.map +1 -0
- package/dist/persistence/repository/memory-operations.js +87 -0
- package/dist/persistence/repository/memory-operations.js.map +1 -0
- package/dist/persistence/repository/meta-operations.d.ts +15 -0
- package/dist/persistence/repository/meta-operations.d.ts.map +1 -0
- package/dist/persistence/repository/meta-operations.js +20 -0
- package/dist/persistence/repository/meta-operations.js.map +1 -0
- package/dist/persistence/sqlite-repo.d.ts +58 -0
- package/dist/persistence/sqlite-repo.d.ts.map +1 -0
- package/dist/persistence/sqlite-repo.js +81 -0
- package/dist/persistence/sqlite-repo.js.map +1 -0
- package/dist/persistence/utils/hash.d.ts +8 -0
- package/dist/persistence/utils/hash.d.ts.map +1 -0
- package/dist/persistence/utils/hash.js +48 -0
- package/dist/persistence/utils/hash.js.map +1 -0
- package/dist/persistence/utils/serialization.d.ts +33 -0
- package/dist/persistence/utils/serialization.d.ts.map +1 -0
- package/dist/persistence/utils/serialization.js +85 -0
- package/dist/persistence/utils/serialization.js.map +1 -0
- package/dist/processing/document/document-processor.d.ts +30 -0
- package/dist/processing/document/document-processor.d.ts.map +1 -0
- package/dist/processing/document/document-processor.js +158 -0
- package/dist/processing/document/document-processor.js.map +1 -0
- package/dist/processing/document/index.d.ts +3 -0
- package/dist/processing/document/index.d.ts.map +1 -0
- package/dist/processing/document/index.js +6 -0
- package/dist/processing/document/index.js.map +1 -0
- package/dist/ranker/ranker.d.ts +26 -0
- package/dist/ranker/ranker.d.ts.map +1 -0
- package/dist/ranker/ranker.js +40 -0
- package/dist/ranker/ranker.js.map +1 -0
- package/dist/recall/recall-engine.d.ts +19 -0
- package/dist/recall/recall-engine.d.ts.map +1 -0
- package/dist/recall/recall-engine.js +79 -0
- package/dist/recall/recall-engine.js.map +1 -0
- package/dist/types/config.d.ts +821 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +128 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/document.d.ts +37 -0
- package/dist/types/document.d.ts.map +1 -0
- package/dist/types/document.js +6 -0
- package/dist/types/document.js.map +1 -0
- package/dist/types/index.d.ts +86 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +53 -0
package/dist/cli/chat.js
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Simple Chat Console for agent-memory
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.ChatConsole = void 0;
|
|
40
|
+
const readline = __importStar(require("readline"));
|
|
41
|
+
const agent_memory_1 = require("../core/agent-memory");
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
class ChatConsole {
|
|
44
|
+
constructor() {
|
|
45
|
+
this.am = null;
|
|
46
|
+
this.rl = readline.createInterface({
|
|
47
|
+
input: process.stdin,
|
|
48
|
+
output: process.stdout,
|
|
49
|
+
prompt: "> ",
|
|
50
|
+
});
|
|
51
|
+
this.state = {
|
|
52
|
+
actor: { id: "console-user", type: "user" },
|
|
53
|
+
scope: { projectId: "default", channelId: "console" },
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async init(configPath) {
|
|
57
|
+
try {
|
|
58
|
+
console.log("正在初始化 agent-memory...");
|
|
59
|
+
this.am = await agent_memory_1.AgentMemory.fromYaml(configPath);
|
|
60
|
+
console.log("✓ 初始化成功!\n");
|
|
61
|
+
console.log("可用命令:");
|
|
62
|
+
console.log(" /help - 显示帮助");
|
|
63
|
+
console.log(" /scope - 设置 scope (projectId, channelId, threadId)");
|
|
64
|
+
console.log(" /actor - 设置 actor ID");
|
|
65
|
+
console.log(" /recall - 召回记忆");
|
|
66
|
+
console.log(" /clear - 清屏");
|
|
67
|
+
console.log(" /exit - 退出\n");
|
|
68
|
+
console.log("直接输入消息将自动存储为记忆\n");
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.error("初始化失败:", error);
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
async start() {
|
|
76
|
+
this.rl.prompt();
|
|
77
|
+
this.rl.on("line", async (input) => {
|
|
78
|
+
const trimmed = input.trim();
|
|
79
|
+
if (!trimmed) {
|
|
80
|
+
this.rl.prompt();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Handle commands
|
|
84
|
+
if (trimmed.startsWith("/")) {
|
|
85
|
+
await this.handleCommand(trimmed);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// Store as memory
|
|
89
|
+
await this.handleMessage(trimmed);
|
|
90
|
+
}
|
|
91
|
+
this.rl.prompt();
|
|
92
|
+
});
|
|
93
|
+
this.rl.on("close", () => {
|
|
94
|
+
console.log("\n再见!");
|
|
95
|
+
if (this.am) {
|
|
96
|
+
this.am.close();
|
|
97
|
+
}
|
|
98
|
+
process.exit(0);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
async handleCommand(cmd) {
|
|
102
|
+
const [command, ...args] = cmd.split(" ");
|
|
103
|
+
switch (command) {
|
|
104
|
+
case "/help":
|
|
105
|
+
this.showHelp();
|
|
106
|
+
break;
|
|
107
|
+
case "/scope":
|
|
108
|
+
this.handleScope(args);
|
|
109
|
+
break;
|
|
110
|
+
case "/actor":
|
|
111
|
+
this.handleActor(args);
|
|
112
|
+
break;
|
|
113
|
+
case "/recall":
|
|
114
|
+
await this.handleRecall(args.join(" "));
|
|
115
|
+
break;
|
|
116
|
+
case "/clear":
|
|
117
|
+
console.clear();
|
|
118
|
+
break;
|
|
119
|
+
case "/exit":
|
|
120
|
+
case "/quit":
|
|
121
|
+
this.rl.close();
|
|
122
|
+
break;
|
|
123
|
+
default:
|
|
124
|
+
console.log(`未知命令: ${command}。输入 /help 查看帮助。`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
showHelp() {
|
|
128
|
+
console.log("\n命令列表:");
|
|
129
|
+
console.log(" /help - 显示此帮助信息");
|
|
130
|
+
console.log(" /scope <args> - 设置 scope");
|
|
131
|
+
console.log(" 例如: /scope project=proj1 channel=chan1");
|
|
132
|
+
console.log(" /actor <id> - 设置 actor ID");
|
|
133
|
+
console.log(" 例如: /actor U123");
|
|
134
|
+
console.log(" /recall <query> - 召回记忆");
|
|
135
|
+
console.log(" 例如: /recall 发布流程是什么?");
|
|
136
|
+
console.log(" /clear - 清屏");
|
|
137
|
+
console.log(" /exit 或 /quit - 退出程序\n");
|
|
138
|
+
}
|
|
139
|
+
handleScope(args) {
|
|
140
|
+
for (const arg of args) {
|
|
141
|
+
const [key, value] = arg.split("=");
|
|
142
|
+
if (key && value) {
|
|
143
|
+
switch (key.toLowerCase()) {
|
|
144
|
+
case "project":
|
|
145
|
+
case "projectid":
|
|
146
|
+
this.state.scope.projectId = value;
|
|
147
|
+
console.log(`✓ 设置 projectId: ${value}`);
|
|
148
|
+
break;
|
|
149
|
+
case "channel":
|
|
150
|
+
case "channelid":
|
|
151
|
+
this.state.scope.channelId = value;
|
|
152
|
+
console.log(`✓ 设置 channelId: ${value}`);
|
|
153
|
+
break;
|
|
154
|
+
case "thread":
|
|
155
|
+
case "threadid":
|
|
156
|
+
this.state.scope.threadId = value;
|
|
157
|
+
console.log(`✓ 设置 threadId: ${value}`);
|
|
158
|
+
break;
|
|
159
|
+
default:
|
|
160
|
+
console.log(`未知的 scope 参数: ${key}`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
console.log(`当前 scope:`, this.state.scope);
|
|
165
|
+
}
|
|
166
|
+
handleActor(args) {
|
|
167
|
+
if (args.length > 0) {
|
|
168
|
+
this.state.actor.id = args[0];
|
|
169
|
+
console.log(`✓ 设置 actor ID: ${args[0]}`);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
console.log(`当前 actor: ${this.state.actor.id}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
async handleRecall(query) {
|
|
176
|
+
if (!this.am) {
|
|
177
|
+
console.log("错误: agent-memory 未初始化");
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if (!query) {
|
|
181
|
+
console.log("请输入查询内容,例如: /recall 发布流程是什么?");
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
try {
|
|
185
|
+
console.log(`\n正在召回记忆: "${query}"...`);
|
|
186
|
+
const result = await this.am.recall({
|
|
187
|
+
query,
|
|
188
|
+
actor: this.state.actor,
|
|
189
|
+
scope: this.state.scope,
|
|
190
|
+
topK: 5,
|
|
191
|
+
includeMemory: true,
|
|
192
|
+
includeDocs: true,
|
|
193
|
+
});
|
|
194
|
+
console.log(`\n找到 ${result.memory.length} 条记忆,${result.docs.length} 个文档片段\n`);
|
|
195
|
+
if (result.memory.length > 0) {
|
|
196
|
+
console.log("=== 记忆 ===");
|
|
197
|
+
result.memory.forEach((mem, idx) => {
|
|
198
|
+
console.log(`${idx + 1}. [${mem.type}] ${mem.content}`);
|
|
199
|
+
if (mem.confidence) {
|
|
200
|
+
console.log(` 置信度: ${(mem.confidence * 100).toFixed(1)}%`);
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
console.log();
|
|
204
|
+
}
|
|
205
|
+
if (result.docs.length > 0) {
|
|
206
|
+
console.log("=== 文档证据 ===");
|
|
207
|
+
result.docs.forEach((doc, idx) => {
|
|
208
|
+
console.log(`${idx + 1}. ${doc.text.substring(0, 100)}...`);
|
|
209
|
+
if (doc.score) {
|
|
210
|
+
console.log(` 相似度: ${(doc.score * 100).toFixed(1)}%`);
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
console.log();
|
|
214
|
+
}
|
|
215
|
+
if (result.context) {
|
|
216
|
+
console.log("=== 生成的 Context ===");
|
|
217
|
+
console.log(result.context);
|
|
218
|
+
console.log();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
console.error("召回失败:", error);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
async handleMessage(message) {
|
|
226
|
+
if (!this.am) {
|
|
227
|
+
console.log("错误: agent-memory 未初始化");
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
try {
|
|
231
|
+
console.log("正在存储记忆...");
|
|
232
|
+
await this.am.remember({
|
|
233
|
+
messages: [{ role: "user", content: message }],
|
|
234
|
+
actor: this.state.actor,
|
|
235
|
+
scope: this.state.scope,
|
|
236
|
+
});
|
|
237
|
+
console.log("✓ 记忆已存储\n");
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
console.error("存储失败:", error);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
exports.ChatConsole = ChatConsole;
|
|
245
|
+
// Main entry point
|
|
246
|
+
async function main() {
|
|
247
|
+
const args = process.argv.slice(2);
|
|
248
|
+
const configPath = args[0] || "./agent-memory.yaml";
|
|
249
|
+
const resolvedPath = path.resolve(configPath);
|
|
250
|
+
console.log(`使用配置文件: ${resolvedPath}\n`);
|
|
251
|
+
const chat = new ChatConsole();
|
|
252
|
+
await chat.init(resolvedPath);
|
|
253
|
+
await chat.start();
|
|
254
|
+
}
|
|
255
|
+
// Run if executed directly
|
|
256
|
+
const isMainModule = require.main === module;
|
|
257
|
+
const isChatScript = process.argv[1]?.endsWith("chat.ts") ||
|
|
258
|
+
process.argv[1]?.endsWith("chat.js") ||
|
|
259
|
+
process.argv[1]?.includes("bin/chat");
|
|
260
|
+
if (isMainModule || isChatScript) {
|
|
261
|
+
main().catch((error) => {
|
|
262
|
+
console.error("启动失败:", error);
|
|
263
|
+
process.exit(1);
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/cli/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command handler for chat console
|
|
3
|
+
*/
|
|
4
|
+
import { AgentMemory } from "../../core/agent-memory";
|
|
5
|
+
import { MemoryItem } from "../../types";
|
|
6
|
+
import { DisplayManager } from "../ui/display-manager";
|
|
7
|
+
export interface ChatState {
|
|
8
|
+
actor: {
|
|
9
|
+
id: string;
|
|
10
|
+
type: "user";
|
|
11
|
+
};
|
|
12
|
+
scope: {
|
|
13
|
+
projectId?: string;
|
|
14
|
+
channelId?: string;
|
|
15
|
+
threadId?: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare class CommandHandler {
|
|
19
|
+
private am;
|
|
20
|
+
private state;
|
|
21
|
+
private display;
|
|
22
|
+
private updateMemories;
|
|
23
|
+
private updateStatus;
|
|
24
|
+
constructor(am: AgentMemory | null, state: ChatState, display: DisplayManager, updateMemories: (memories: MemoryItem[]) => void, updateStatus: () => void);
|
|
25
|
+
handleCommand(cmd: string): Promise<void>;
|
|
26
|
+
private showHelp;
|
|
27
|
+
private handleScope;
|
|
28
|
+
private handleActor;
|
|
29
|
+
private handleRecall;
|
|
30
|
+
private quit;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=command-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/command-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE;AAED,qBAAa,cAAc;IAEvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;gBAJZ,EAAE,EAAE,WAAW,GAAG,IAAI,EACtB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,cAAc,EACvB,cAAc,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,IAAI,EAChD,YAAY,EAAE,MAAM,IAAI;IAG5B,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC/C,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,WAAW;YAUL,YAAY;IA+C1B,OAAO,CAAC,IAAI;CAMb"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Command handler for chat console
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CommandHandler = void 0;
|
|
7
|
+
class CommandHandler {
|
|
8
|
+
constructor(am, state, display, updateMemories, updateStatus) {
|
|
9
|
+
this.am = am;
|
|
10
|
+
this.state = state;
|
|
11
|
+
this.display = display;
|
|
12
|
+
this.updateMemories = updateMemories;
|
|
13
|
+
this.updateStatus = updateStatus;
|
|
14
|
+
}
|
|
15
|
+
async handleCommand(cmd) {
|
|
16
|
+
const [command, ...args] = cmd.split(" ");
|
|
17
|
+
switch (command) {
|
|
18
|
+
case "/help":
|
|
19
|
+
this.showHelp();
|
|
20
|
+
break;
|
|
21
|
+
case "/scope":
|
|
22
|
+
this.handleScope(args);
|
|
23
|
+
break;
|
|
24
|
+
case "/actor":
|
|
25
|
+
this.handleActor(args);
|
|
26
|
+
break;
|
|
27
|
+
case "/recall":
|
|
28
|
+
await this.handleRecall(args.join(" "));
|
|
29
|
+
break;
|
|
30
|
+
case "/clear":
|
|
31
|
+
this.display.clearChatHistory();
|
|
32
|
+
this.updateMemories([]);
|
|
33
|
+
this.display.updateMemoryDisplay([]);
|
|
34
|
+
this.display.addChatMessage("系统", "已清空聊天历史和记忆显示");
|
|
35
|
+
break;
|
|
36
|
+
case "/exit":
|
|
37
|
+
case "/quit":
|
|
38
|
+
this.quit();
|
|
39
|
+
break;
|
|
40
|
+
default:
|
|
41
|
+
this.display.addChatMessage("系统", `未知命令: ${command}。输入 /help 查看帮助。`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
showHelp() {
|
|
45
|
+
const help = [
|
|
46
|
+
"可用命令:",
|
|
47
|
+
" /help - 显示帮助",
|
|
48
|
+
" /scope <args> - 设置 scope",
|
|
49
|
+
" 例如: /scope project=proj1 channel=chan1",
|
|
50
|
+
" /actor <id> - 设置 actor ID",
|
|
51
|
+
" /recall <query> - 召回记忆",
|
|
52
|
+
" /clear - 清空显示",
|
|
53
|
+
" /exit - 退出",
|
|
54
|
+
"",
|
|
55
|
+
"直接输入消息将自动存储为记忆",
|
|
56
|
+
].join("\n");
|
|
57
|
+
this.display.addChatMessage("帮助", help);
|
|
58
|
+
}
|
|
59
|
+
handleScope(args) {
|
|
60
|
+
for (const arg of args) {
|
|
61
|
+
const [key, value] = arg.split("=");
|
|
62
|
+
if (key && value) {
|
|
63
|
+
switch (key.toLowerCase()) {
|
|
64
|
+
case "project":
|
|
65
|
+
case "projectid":
|
|
66
|
+
this.state.scope.projectId = value;
|
|
67
|
+
break;
|
|
68
|
+
case "channel":
|
|
69
|
+
case "channelid":
|
|
70
|
+
this.state.scope.channelId = value;
|
|
71
|
+
break;
|
|
72
|
+
case "thread":
|
|
73
|
+
case "threadid":
|
|
74
|
+
this.state.scope.threadId = value;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
this.updateStatus();
|
|
80
|
+
this.display.addChatMessage("系统", `Scope 已更新: ${JSON.stringify(this.state.scope)}`);
|
|
81
|
+
}
|
|
82
|
+
handleActor(args) {
|
|
83
|
+
if (args.length > 0) {
|
|
84
|
+
this.state.actor.id = args[0];
|
|
85
|
+
this.updateStatus();
|
|
86
|
+
this.display.addChatMessage("系统", `Actor ID 已更新: ${args[0]}`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this.display.addChatMessage("系统", `当前 Actor: ${this.state.actor.id}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async handleRecall(query) {
|
|
93
|
+
if (!this.am) {
|
|
94
|
+
this.display.addChatMessage("错误", "agent-memory 未初始化");
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (!query) {
|
|
98
|
+
this.display.addChatMessage("系统", "请输入查询内容,例如: /recall 发布流程是什么?");
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
this.display.addChatMessage("系统", `正在召回记忆: "${query}"...`);
|
|
103
|
+
const result = await this.am.recall({
|
|
104
|
+
query,
|
|
105
|
+
actor: this.state.actor,
|
|
106
|
+
scope: this.state.scope,
|
|
107
|
+
topK: 10,
|
|
108
|
+
includeMemory: true,
|
|
109
|
+
includeDocs: false,
|
|
110
|
+
});
|
|
111
|
+
// Update memories display
|
|
112
|
+
this.updateMemories(result.memory);
|
|
113
|
+
this.display.updateMemoryDisplay(result.memory);
|
|
114
|
+
// Show in chat
|
|
115
|
+
if (result.memory.length > 0) {
|
|
116
|
+
this.display.addChatMessage("召回", `找到 ${result.memory.length} 条记忆`);
|
|
117
|
+
result.memory.slice(0, 3).forEach((mem, idx) => {
|
|
118
|
+
this.display.addChatMessage("记忆", `${idx + 1}. [${mem.type}] ${mem.content.substring(0, 60)}...`);
|
|
119
|
+
});
|
|
120
|
+
if (result.memory.length > 3) {
|
|
121
|
+
this.display.addChatMessage("记忆", `... 还有 ${result.memory.length - 3} 条记忆`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
this.display.addChatMessage("召回", "未找到相关记忆");
|
|
126
|
+
}
|
|
127
|
+
if (result.context) {
|
|
128
|
+
this.display.addChatMessage("Context", result.context.substring(0, 200) + (result.context.length > 200 ? "..." : ""));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
this.display.addChatMessage("错误", `召回失败: ${error}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
quit() {
|
|
136
|
+
if (this.am) {
|
|
137
|
+
this.am.close();
|
|
138
|
+
}
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.CommandHandler = CommandHandler;
|
|
143
|
+
//# sourceMappingURL=command-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-handler.js","sourceRoot":"","sources":["../../../src/cli/commands/command-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SplitScreenChat = exports.ChatConsole = void 0;
|
|
4
|
+
var chat_1 = require("./chat");
|
|
5
|
+
Object.defineProperty(exports, "ChatConsole", { enumerable: true, get: function () { return chat_1.ChatConsole; } });
|
|
6
|
+
var chat_split_1 = require("./chat-split");
|
|
7
|
+
Object.defineProperty(exports, "SplitScreenChat", { enumerable: true, get: function () { return chat_split_1.SplitScreenChat; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AAAA,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,2CAA+C;AAAtC,6GAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display manager for split-screen chat UI
|
|
3
|
+
*/
|
|
4
|
+
import { MemoryItem } from "../../types";
|
|
5
|
+
export declare class DisplayManager {
|
|
6
|
+
private chatBox;
|
|
7
|
+
private memoryBox;
|
|
8
|
+
private statusBar;
|
|
9
|
+
private screen;
|
|
10
|
+
constructor(chatBox: any, memoryBox: any, statusBar: any, screen: any);
|
|
11
|
+
private chatHistory;
|
|
12
|
+
addChatMessage(sender: string, message: string): void;
|
|
13
|
+
updateChatDisplay(): void;
|
|
14
|
+
updateMemoryDisplay(memories: MemoryItem[]): void;
|
|
15
|
+
updateStatusBar(actorId: string, scope: any, memoryCount: number): void;
|
|
16
|
+
clearChatHistory(): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=display-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-manager.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/display-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,cAAc;IAEvB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;gBAHN,OAAO,EAAE,GAAG,EACZ,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,GAAG;IAGrB,OAAO,CAAC,WAAW,CAAgB;IAEnC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IASrD,iBAAiB,IAAI,IAAI;IAOzB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI;IA4BjD,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAYvE,gBAAgB,IAAI,IAAI;CAIzB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Display manager for split-screen chat UI
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DisplayManager = void 0;
|
|
7
|
+
class DisplayManager {
|
|
8
|
+
constructor(chatBox, memoryBox, statusBar, screen) {
|
|
9
|
+
this.chatBox = chatBox;
|
|
10
|
+
this.memoryBox = memoryBox;
|
|
11
|
+
this.statusBar = statusBar;
|
|
12
|
+
this.screen = screen;
|
|
13
|
+
this.chatHistory = [];
|
|
14
|
+
}
|
|
15
|
+
addChatMessage(sender, message) {
|
|
16
|
+
const timestamp = new Date().toLocaleTimeString();
|
|
17
|
+
this.chatHistory.push(`[${timestamp}] ${sender}: ${message}`);
|
|
18
|
+
if (this.chatHistory.length > 100) {
|
|
19
|
+
this.chatHistory.shift();
|
|
20
|
+
}
|
|
21
|
+
this.updateChatDisplay();
|
|
22
|
+
}
|
|
23
|
+
updateChatDisplay() {
|
|
24
|
+
const content = "=== Chat History ===\n\n" + this.chatHistory.join("\n");
|
|
25
|
+
this.chatBox.setContent(content);
|
|
26
|
+
this.chatBox.setScrollPerc(100);
|
|
27
|
+
this.screen.render();
|
|
28
|
+
}
|
|
29
|
+
updateMemoryDisplay(memories) {
|
|
30
|
+
if (memories.length === 0) {
|
|
31
|
+
this.memoryBox.setContent("=== Memories ===\n\nNo memories yet.\n\nType a message to store memories.");
|
|
32
|
+
this.screen.render();
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const lines = [`=== Memories (${memories.length}) ===\n`];
|
|
36
|
+
memories.forEach((mem, idx) => {
|
|
37
|
+
const typeStr = `[${mem.type}]`;
|
|
38
|
+
const confStr = mem.confidence ? ` (${(mem.confidence * 100).toFixed(0)}%)` : "";
|
|
39
|
+
const content = mem.content.length > 60
|
|
40
|
+
? mem.content.substring(0, 60) + "..."
|
|
41
|
+
: mem.content;
|
|
42
|
+
lines.push(`${idx + 1}. ${typeStr}${confStr}`);
|
|
43
|
+
lines.push(` ${content}`);
|
|
44
|
+
if (mem.tags && mem.tags.length > 0) {
|
|
45
|
+
lines.push(` Tags: ${mem.tags.join(", ")}`);
|
|
46
|
+
}
|
|
47
|
+
lines.push("");
|
|
48
|
+
});
|
|
49
|
+
this.memoryBox.setContent(lines.join("\n"));
|
|
50
|
+
this.memoryBox.setScrollPerc(0);
|
|
51
|
+
this.screen.render();
|
|
52
|
+
}
|
|
53
|
+
updateStatusBar(actorId, scope, memoryCount) {
|
|
54
|
+
const scopeStr = [
|
|
55
|
+
scope.projectId,
|
|
56
|
+
scope.channelId,
|
|
57
|
+
scope.threadId,
|
|
58
|
+
].filter(Boolean).join("/") || "default";
|
|
59
|
+
const content = `Agent Memory Chat | Actor: ${actorId} | Scope: ${scopeStr} | Memories: ${memoryCount}`;
|
|
60
|
+
this.statusBar.setContent(content);
|
|
61
|
+
this.screen.render();
|
|
62
|
+
}
|
|
63
|
+
clearChatHistory() {
|
|
64
|
+
this.chatHistory = [];
|
|
65
|
+
this.updateChatDisplay();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.DisplayManager = DisplayManager;
|
|
69
|
+
//# sourceMappingURL=display-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-manager.js","sourceRoot":"","sources":["../../../src/cli/ui/display-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Screen layout components for split-screen chat
|
|
3
|
+
*/
|
|
4
|
+
export interface ScreenComponents {
|
|
5
|
+
screen: any;
|
|
6
|
+
statusBar: any;
|
|
7
|
+
chatBox: any;
|
|
8
|
+
memoryBox: any;
|
|
9
|
+
inputBox: any;
|
|
10
|
+
}
|
|
11
|
+
export declare function createScreenLayout(): ScreenComponents;
|
|
12
|
+
//# sourceMappingURL=screen-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen-layout.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/screen-layout.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,GAAG,CAAC;IACZ,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;CACf;AAED,wBAAgB,kBAAkB,IAAI,gBAAgB,CAuHrD"}
|