stratagate-dsh 0.2.15 → 0.2.19

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.
@@ -1,6 +1,6 @@
1
1
  # StrataGate for DeepSeek Harness
2
2
 
3
- [English](README.md) · [简体中文](README.zh-CN.md)
3
+ [English](../README.md) · [简体中文](README.zh-CN.md)
4
4
 
5
5
  面向 DeepSeek Harness 的自动、本地优先跨会话记忆。StrataGate 能够记住用户偏好、项目决策、已完成的对话和工具结果;Agent 回答前会检查找回的证据,并可将其展开追溯到原始消息。无需单独部署记忆服务器。
6
6
 
@@ -31,7 +31,7 @@ flowchart LR
31
31
  4. **相关不代表足以回答。** Evidence Gate 会单独判断当前证据是否充分。证据不足时,Agent 必须继续搜索、展开来源或明确说明无法确认,而不能把相似结果直接当成答案。
32
32
  5. **检索与强化彼此分离。** 搜到一条记忆不会自动提高它的权重;只有证据通过评估并真正用于回答后,才会记录使用情况。这样可以避免“越常被搜到,就越容易继续被搜到”的自我强化循环。
33
33
 
34
- 这条链路在本地完成持久化,并通过幂等写入回执防止 DSH 重放或重试造成重复记忆。只读 Memory UI 展示的也是同一套来源、派生和使用审计关系。
34
+ 这条链路在本地完成持久化,并通过幂等写入回执防止 DSH 重放或重试造成重复记忆。Memory UI 展示的也是同一套来源、派生和使用审计关系。
35
35
 
36
36
  ## Agent 推荐指南
37
37
 
@@ -70,9 +70,9 @@ DSH_HOME/stratagate/memory.db
70
70
  - 默认不保存子 Agent 的对话轮次;同一项目中的子 Agent 仍然可以读取项目记忆。
71
71
  - 每个 DSH 对话轮次都有持久化的写入回执,因此重放或重试不会导致重复保存。
72
72
  - StrataGate 会执行现有的 Block 摘要、Event 提取、Element 投影、搜索、Evidence Gate(证据门控)以及仅在使用后触发的强化。
73
- - 每次主模型调用前,插件都会注入完整 open tail、每个已封 Block 当前衰减指针所指向的层级,以及最多 4 条激活 Event 和 4 条 active ElementFact。
73
+ - 每次主模型调用前,插件只会注入当前会话的 open tail 与已封 Block,并额外注入最多 4 条项目级激活 Event 和 4 条 active ElementFact。Block 仍会作为来源证据持久化,但绝不会自动带入其他会话。
74
74
 
75
- 激活查询由当前人类消息和 open tail 最近两个 turn 组成。现有 BM25 搜索继续作为词面相关性门槛,只有 pinned 和 safety 记忆可以例外进入候选;现有记忆权重提供第二路排序,再由 RRF 融合相关性与权重排序。激活区固定使用约 900 tokens 的预算,不会随数据库增大而增长。
75
+ 激活查询由当前人类消息和当前会话 open tail 的最近两个 turn 组成。现有 BM25 搜索继续作为词面相关性门槛,只有 pinned 和 safety 记忆可以例外进入候选;现有记忆权重提供第二路排序,再由 RRF 融合相关性与权重排序。激活区固定使用约 900 tokens 的预算,不会随数据库增大而增长。
76
76
 
77
77
  自动上下文只包含精简的 Event 与 fact 字段,并明确标注为历史背景而非指令。构建自动上下文不会调用 `recordMemoryUse`,不会增加 `mentionCount`,也不会更新 `lastAdoptedTurn`。现有 `memory_*` 工具仍用于更深入、经过 Evidence Gate 的主动检索,也是触发采用强化的唯一入口。
78
78
 
@@ -90,16 +90,16 @@ memory_record_use
90
90
 
91
91
  提示词协议要求模型在依赖检索证据前完成评估。仅搜索不会强化记忆。非空的 `memory_record_use` 只接受最近一次“证据充分”评估中的证据,并使用 DSH 工具调用 ID 作为幂等回执。
92
92
 
93
- ## 只读记忆界面与使用审计
93
+ ## 记忆界面与使用审计
94
94
 
95
- 打开 DSH 设置并选择 **StrataGate Memory**。该页面提供:
95
+ 打开 DSH 设置并选择 **StrataGate-AgentMemory**。该页面提供:
96
96
 
97
97
  - 命名空间健康状态和各类记忆数量;
98
98
  - Events、Elements 和 Blocks 搜索;
99
99
  - 从每条派生记忆展开查看来源消息;
100
100
  - Usage Audit(使用审计)链路:从已记录的回答轮次出发,经由 Evidence Gate 的判断与选中的记忆,追溯到来源消息。
101
101
 
102
- 浏览器界面特意设计为只读:其 API 仅接受 `GET` 请求,界面也不提供编辑、删除、批准或导入操作。消息内容和结构化工具轨迹中的常见令牌及凭证格式,会在离开本地服务器前被脱敏。SQLite 数据库始终是唯一可信数据源。
102
+ 记忆数据仍然只读,界面不提供编辑、删除、批准或导入操作。唯一例外是“高级设置”中的全局 Block 衰减系数 λ:可按 `0.05` 步长调节,保存后立即应用到所有已有工作区,同时成为新工作区默认值,并在重启后保持。消息内容和结构化工具轨迹中的常见令牌及凭证格式,会在离开本地服务器前被脱敏。SQLite 数据库始终是唯一可信数据源。
103
103
 
104
104
  ## 配置
105
105
 
@@ -110,6 +110,7 @@ config:
110
110
  namespacePrefix: dsh
111
111
  globalNamespace: global
112
112
  blockTurnSize: 6
113
+ blockDecayLambda: 0.3
113
114
  ingestSubagents: false
114
115
  maxOutputTokens: 10000
115
116
  # 可选:为记忆处理指定专用模型。
@@ -117,10 +118,14 @@ config:
117
118
  # model: deepseek-chat
118
119
  ```
119
120
 
121
+ 配置文件中的 `blockDecayLambda` 是初始后备值;一旦在“高级设置”中修改,持久化的界面值优先生效。默认值为 `0.3`;数字越小,记忆遗忘越慢、消耗 token 越多,不建议大于 `0.4`。
122
+
120
123
  `project` 会根据规范化后的会话工作目录生成稳定的命名空间;`session` 会隔离每个 DSH 会话;`global` 则让所有会话共享同一个命名空间。
121
124
 
122
125
  `blockTurnSize` 控制每个 Block 封存多少个已完成的 DSH 轮次。插件默认值为 `6`,用于平衡模型调用成本与 Event 提取及时性;用户可以配置任意正整数。
123
126
 
127
+ `blockDecayLambda` 按当前 Block 锚点与同一 DSH 会话中最新已封存 Block 的距离控制衰减。默认值为 `0.3`;数字越小衰减越慢,不建议大于 `0.4`。open tail 中尚未封存的轮次不会增加 Block age。
128
+
124
129
  如果省略 `provider` 和 `model`,记忆处理会优先使用会话最近一次请求的路由,并以 DSH 默认模型作为后备。这两个配置项必须同时设置。
125
130
 
126
131
  ## 隐私与故障处理
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stratagate-dsh",
3
- "version": "0.2.15",
3
+ "version": "0.2.19",
4
4
  "description": "Automatic local-first cross-session memory for DeepSeek Harness with source-traceable recall",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -17,7 +17,7 @@
17
17
  "./cordis.patch.yml": "./cordis.patch.yml",
18
18
  "./package.json": "./package.json"
19
19
  },
20
- "files": ["dist", "cordis.patch.yml", "README.md", "CHANGELOG.md", "LICENSE"],
20
+ "files": ["dist", "cordis.patch.yml", "README.md", "docs/README.zh-CN.md", "CHANGELOG.md", "LICENSE"],
21
21
  "dsh": {
22
22
  "bundle": { "patch": "./cordis.patch.yml" },
23
23
  "client": {
@@ -33,6 +33,13 @@
33
33
  "prepare": "npm run build"
34
34
  },
35
35
  "keywords": [
36
+ "memory",
37
+ "dsh",
38
+ "deepseek",
39
+ "plugin",
40
+ "agent",
41
+ "cross-session",
42
+ "evidence",
36
43
  "deepseek-harness",
37
44
  "dsh-plugin",
38
45
  "agent-memory",
@@ -42,6 +49,9 @@
42
49
  "conversation-memory",
43
50
  "long-term-memory",
44
51
  "local-first",
52
+ "time-decay",
53
+ "usage-reinforcement",
54
+ "source-traceability",
45
55
  "source-tracing",
46
56
  "evidence-gate"
47
57
  ],