zen-code 1.11.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -9
- package/cli.js +2 -0
- package/dist/MultiSelect-C_hSPGpl.mjs +655 -0
- package/dist/{_commonjsHelpers-DQNKXVTB.mjs → _commonjsHelpers-ByX85dGu.mjs} +2 -2
- package/dist/{app-BhZo0DLj.mjs → app-CdJSgzzZ.mjs} +24038 -23898
- package/dist/{checkpoint-1sAx_j1E-BooU9A3c.mjs → checkpoint-1sAx_j1E-DbNzRw_n.mjs} +1 -1
- package/dist/{checkpoint-DxiUsHMy-DFEP8QbP.mjs → checkpoint-DxiUsHMy-BVWm3y9_.mjs} +1 -1
- package/dist/{devtools-m8Lnvjy_.mjs → devtools-BxIzBVXg.mjs} +1 -1
- package/dist/{id-C7ZmcGdf.mjs → id-Bh5iJfyi.mjs} +1 -1
- package/dist/index-DXn61qXM.mjs +767 -0
- package/dist/{index-5NGBUtQV.mjs → index-tkCYsAxh.mjs} +2 -2
- package/dist/memory-BmHqUV4v.mjs +93 -0
- package/dist/{queue-BSCnCent-sNrBcJsV.mjs → queue-BSCnCent-DK-siJDC.mjs} +1 -1
- package/dist/{shallow-CpBXltMD.mjs → shallow-Buk4Nzc4.mjs} +2 -2
- package/dist/{MultiSelect-C5LXDu1p.mjs → use-input-CQELhJxU.mjs} +10200 -10339
- package/dist/zen-code.mjs +2 -2
- package/dist/zen-init.mjs +137 -136
- package/dist/zen-keyboard.mjs +13 -0
- package/package.json +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { u as C } from "./id-
|
|
2
|
-
import { B as v, c as x, T as $, m as I } from "./app-
|
|
1
|
+
import { u as C } from "./id-Bh5iJfyi.mjs";
|
|
2
|
+
import { B as v, c as x, T as $, m as I } from "./app-CdJSgzzZ.mjs";
|
|
3
3
|
import { createClient as O, createCluster as N } from "redis";
|
|
4
4
|
const W = [
|
|
5
5
|
{
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import "langchain";
|
|
2
|
+
import { A as t } from "./app-CdJSgzzZ.mjs";
|
|
3
|
+
import e from "zod";
|
|
4
|
+
import "@langchain/langgraph";
|
|
5
|
+
import "@langchain/openai";
|
|
6
|
+
t.extend({
|
|
7
|
+
initMessageCount: e.number().default(0)
|
|
8
|
+
});
|
|
9
|
+
const p = `你是一个负责管理记忆的 agent,你需要将最近的对话总结为多个独立的记忆片段,每个片段应该是一个具体、可检索的知识点。
|
|
10
|
+
|
|
11
|
+
## 记忆片段要求
|
|
12
|
+
|
|
13
|
+
每个记忆片段必须包含:
|
|
14
|
+
1. 具体的技术实现细节(包含简短的代码示例)
|
|
15
|
+
2. 关键文件或文件夹的位置和用途
|
|
16
|
+
3. 用户的明确请求和你的解决方案
|
|
17
|
+
4. 遇到的错误及修复方法
|
|
18
|
+
5. 重要的架构决策或代码模式
|
|
19
|
+
|
|
20
|
+
记忆片段应该:
|
|
21
|
+
- 独立完整,能够单独理解
|
|
22
|
+
- 包含足够的上下文信息
|
|
23
|
+
- 使用具体的文件名、函数名、代码片段
|
|
24
|
+
- 便于后续通过关键词检索
|
|
25
|
+
|
|
26
|
+
## 分析过程
|
|
27
|
+
|
|
28
|
+
在提供最终总结之前,请按时间顺序分析对话的每条消息和每个部分。对于每个部分,彻底识别:
|
|
29
|
+
- 用户的明确请求和意图
|
|
30
|
+
- 你处理用户请求的方法
|
|
31
|
+
- 关键决策、技术概念和代码模式
|
|
32
|
+
- 具体细节:文件名、完整代码片段、函数签名、文件编辑
|
|
33
|
+
- 你遇到的错误以及如何修复它们
|
|
34
|
+
- 特别注意你收到的具体用户反馈,尤其是用户告诉你以不同方式做某事时
|
|
35
|
+
|
|
36
|
+
## 记忆片段内容指南
|
|
37
|
+
|
|
38
|
+
你的总结应包括以下类型的记忆片段:
|
|
39
|
+
|
|
40
|
+
1. **主要请求和意图**:详细捕捉用户的所有明确请求和意图
|
|
41
|
+
2. **关键技术概念**:列出所有讨论过的重要技术概念、技术和框架
|
|
42
|
+
3. **文件和代码部分**:列举检查、修改或创建的具体文件和代码部分,包含完整的代码片段和为什么此文件很重要的说明
|
|
43
|
+
4. **错误和修复**:列出你遇到的所有错误以及如何修复它们,包括用户的反馈
|
|
44
|
+
5. **问题解决**:记录已解决的问题和任何正在进行的故障排除工作
|
|
45
|
+
6. **架构决策**:记录重要的架构决策和代码模式
|
|
46
|
+
|
|
47
|
+
## 示例记忆片段
|
|
48
|
+
|
|
49
|
+
"在 agents/code/tools/memory/storage_layer.ts 中实现了基于向量的记忆存储,使用 embeddings 进行语义检索,关键代码:\`\`\`typescript
|
|
50
|
+
await this.vectorStore.search(query, topK)
|
|
51
|
+
\`\`\`"
|
|
52
|
+
|
|
53
|
+
"用户请求翻译 summary_prompt 为中文,已完成翻译并保持了原有的结构和格式,包括所有标签和示例。文件位置:agents/code/middlewares/memory.ts"
|
|
54
|
+
|
|
55
|
+
"修复了记忆总结提示词,将其从简短描述改为详细的结构化指南,包含了每个记忆片段应该包含的具体内容和质量要求"
|
|
56
|
+
|
|
57
|
+
## 记忆冲突处理原则
|
|
58
|
+
|
|
59
|
+
在创建新记忆时,必须遵循以下冲突解决原则:
|
|
60
|
+
|
|
61
|
+
1. **以用户为主**:
|
|
62
|
+
- 用户的明确指示和反馈优先级最高
|
|
63
|
+
- 如果用户纠正了你的理解或做法,以用户的说法为准
|
|
64
|
+
- 用户的偏好设置和要求必须被准确记录
|
|
65
|
+
|
|
66
|
+
2. **以最新为主**:
|
|
67
|
+
- 对于同一主题的信息,最新的对话内容优先
|
|
68
|
+
- 如果用户修改了之前的决策,记录最新的决策
|
|
69
|
+
- 技术实现如果发生变更,记录最新的实现方式
|
|
70
|
+
|
|
71
|
+
3. **避免重复记忆**:
|
|
72
|
+
- 检查即将创建的记忆是否与已有记忆重复
|
|
73
|
+
- 如果内容相似或重复,不予记录
|
|
74
|
+
- 如果是对已有记忆的更新或补充,需要明确说明是更新内容
|
|
75
|
+
- 只有当信息有实质性差异或新增价值时才创建新记忆
|
|
76
|
+
|
|
77
|
+
4. **冲突解决示例**:
|
|
78
|
+
- ❌ 错误:同时记录"使用方案A"和"使用方案B"
|
|
79
|
+
- ✅ 正确:只记录"用户决定使用方案B(替代之前的方案A)"
|
|
80
|
+
- ❌ 错误:重复记录"文件位置在 /path/to/file"
|
|
81
|
+
- ✅ 正确:只记录一次,或在有新信息时说明"文件移动到新位置 /new/path"
|
|
82
|
+
|
|
83
|
+
## 注意事项
|
|
84
|
+
|
|
85
|
+
- 仔细检查技术准确性和完整性
|
|
86
|
+
- 确保每个记忆片段都是独立的、完整的
|
|
87
|
+
- 包含足够的代码示例和文件路径
|
|
88
|
+
- 记录用户的反馈和你的调整
|
|
89
|
+
- 应用记忆冲突处理原则,避免创建冲突或重复的记忆
|
|
90
|
+
`;
|
|
91
|
+
export {
|
|
92
|
+
p as summary_prompt
|
|
93
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { u as $ } from "./id-
|
|
2
|
-
import { B as g } from "./app-
|
|
1
|
+
import { u as $ } from "./id-Bh5iJfyi.mjs";
|
|
2
|
+
import { B as g } from "./app-CdJSgzzZ.mjs";
|
|
3
3
|
import { createClient as T } from "redis";
|
|
4
4
|
function k(u) {
|
|
5
5
|
if (u === null || typeof u != "object") return JSON.stringify(u);
|