dsh-trivium 0.3.0 → 0.4.1
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 +106 -77
- package/lib/client.js +1348 -1
- package/lib/episode.js +278 -0
- package/lib/index.js +127 -39
- package/lib/pins.js +155 -0
- package/lib/schema.js +5 -0
- package/lib/server.js +73 -0
- package/lib/settings.js +26 -0
- package/lib/store.js +36 -8
- package/package.json +9 -5
package/README.md
CHANGED
|
@@ -1,144 +1,173 @@
|
|
|
1
|
-
# dsh-trivium
|
|
1
|
+
# dsh-trivium — DSH 进程内图记忆
|
|
2
2
|
|
|
3
|
-
DeepSeek Harness
|
|
3
|
+
DeepSeek Harness 的跨会话图记忆插件:按节点和边记,默认少注入,设置页可改可归档。会话标题栏多一个 **会话图**:compaction 收成方框,可从检查点 fork,可选记忆芯片钉进下一轮。每个工作区一个 `.dsh/trivium.tdb`,不另起服务。
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
> **快速安装**(已有 `dsh web`):`dsh plugin --profile web add dsh-trivium` → 重启 **dsh web** → 打开工作区。设置页会出现「Trivium 记忆」。
|
|
8
|
-
|
|
9
|
-
钉死 **`@deepseek-ai/dsh@0.1.0-rc.6`**。不要把本仓库拷进 `DeepSeek_Harness`。
|
|
10
|
-
|
|
11
|
-
npm:[`dsh-trivium@0.3.0`](https://www.npmjs.com/package/dsh-trivium) · GitHub:[QWQcool/dsh-trivium](https://github.com/QWQcool/dsh-trivium) · topic `dsh-plugin`
|
|
5
|
+
> **快速安装**:`dsh plugin --profile web add dsh-trivium` → 重启 **dsh web** → 打开工作区(设置里出现「Trivium 记忆」,对话旁出现「会话图」)。
|
|
12
6
|
|
|
13
7
|
---
|
|
14
8
|
|
|
15
9
|
## 安装
|
|
16
10
|
|
|
17
|
-
|
|
11
|
+
> 前提:已安装 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 并至少启动过一次 `dsh web`。当前测试宿主:`@deepseek-ai/dsh@0.1.0-rc.8`(从 rc.6 跟过来:设置里的「Trivium 记忆」、新会话短地图、跨会话 `ctx_find`、会话图标签均可用)。
|
|
18
12
|
|
|
19
13
|
```sh
|
|
20
14
|
dsh plugin --profile web add dsh-trivium
|
|
21
15
|
```
|
|
22
16
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
```sh
|
|
26
|
-
dsh plugin --profile web add github:QWQcool/dsh-trivium
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
然后**重启 dsh web**,选一个工作区。记忆文件在:
|
|
17
|
+
重启 **dsh web** 后生效。记忆文件在当前工作区:
|
|
30
18
|
|
|
31
19
|
```
|
|
32
20
|
<workspace>/.dsh/trivium.tdb
|
|
33
21
|
```
|
|
34
22
|
|
|
35
|
-
|
|
23
|
+
用 [Dsh_BatStart](https://github.com/QWQcool/Dsh_BatStart) 的(启动器已钉 `0.1.0-rc.8`),双击启动就会装上,不必再执行上面这条。
|
|
24
|
+
|
|
25
|
+
本地跟源码联调:
|
|
36
26
|
|
|
37
27
|
```sh
|
|
38
|
-
cd dsh-trivium
|
|
39
28
|
npm install
|
|
40
29
|
node scripts/link-dsh.mjs
|
|
41
30
|
```
|
|
42
31
|
|
|
43
|
-
|
|
32
|
+
然后重启 `dsh web`。
|
|
44
33
|
|
|
45
|
-
|
|
34
|
+
## 更新
|
|
46
35
|
|
|
47
|
-
|
|
36
|
+
```sh
|
|
37
|
+
dsh plugin --profile web add dsh-trivium
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
装完重启 **dsh web**。源码联调则在仓库里 `git pull` 后再跑一次 `node scripts/link-dsh.mjs`。
|
|
41
|
+
|
|
42
|
+
## AI 时代安装
|
|
43
|
+
|
|
44
|
+
把下面这句话复制给助手即可:
|
|
48
45
|
|
|
49
46
|
```text
|
|
50
|
-
请在 DeepSeek Harness
|
|
51
|
-
|
|
52
|
-
执行:dsh plugin --profile web add dsh-trivium
|
|
53
|
-
然后重启 dsh web。记忆落在 <workspace>/.dsh/trivium.tdb。
|
|
47
|
+
请在 DeepSeek Harness 上执行:dsh plugin --profile web add dsh-trivium
|
|
48
|
+
然后重启 dsh web。设置里会出现「Trivium 记忆」,会话标题栏「对话 / 轨迹」旁会出现「会话图」。
|
|
54
49
|
```
|
|
55
50
|
|
|
56
51
|
---
|
|
57
52
|
|
|
58
|
-
##
|
|
59
|
-
|
|
60
|
-
原装 DSH 没有跨会话图记忆。装上之后:
|
|
53
|
+
## 做什么
|
|
61
54
|
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
- **跨会话** — 会话 A 记下「鉴权走 header X」,会话 B 调用 `ctx_find("鉴权")` 命中,并带上它连着谁(`about` / `decided` / `broke` / `fixed`)。
|
|
56
|
+
- **默认安静** — 新会话只注入一张短地图(≤400 token)。模型要用再调工具,不会每一步灌满。
|
|
57
|
+
- **会话图** — compaction 切一段就收成一个方框;点方框用 DSH 原生 fork 开分支;勾选的记忆芯片从当前这段的下一轮注入。
|
|
58
|
+
- **人能改错** — 设置 → Trivium 记忆:搜、看邻居、改名 / 正文、合并、归档或删除。
|
|
59
|
+
- **抽取偏严** — 闲聊、一次性改文件、密钥不入库。
|
|
60
|
+
- **可选 embedding** — 默认关。官方 DeepSeek 对话接口没有 embeddings;可填 OpenAI 兼容地址。
|
|
64
61
|
|
|
65
|
-
|
|
62
|
+
### 四个工具
|
|
66
63
|
|
|
67
|
-
|
|
64
|
+
| 工具 | 说明 |
|
|
65
|
+
|---|---|
|
|
66
|
+
| `ctx_find` | 检索,返回摘要和图路径 |
|
|
67
|
+
| `ctx_read` | 按 id 读全文和入边 |
|
|
68
|
+
| `ctx_remember` | 手动写入 |
|
|
69
|
+
| `ctx_link` | 两点之间建有向边 |
|
|
68
70
|
|
|
69
|
-
|
|
71
|
+
内核仍是这四个。会话图不加第五个工具。
|
|
70
72
|
|
|
71
73
|
---
|
|
72
74
|
|
|
73
|
-
##
|
|
75
|
+
## 会话图
|
|
74
76
|
|
|
75
|
-
|
|
77
|
+
入口:当前会话标题栏 **对话 / 轨迹 / 会话图**。这是情节图,不是记忆编辑器;改错的节点仍走设置页。
|
|
76
78
|
|
|
77
|
-
|
|
78
|
-
- 导出 / 导入 **JSON**(可回写图)
|
|
79
|
-
- 导出 **Markdown**(只读投影,给人、给 git;带边,例如 `- 鉴权走 header X —about→ AuthGateway`)。改完不要把这篇散文再解析回来,回写走 JSON 或本页编辑
|
|
80
|
-
- **一次性**导入已有的 `~/.workbuddy/MEMORY.md` 或工作区 `.workbuddy/memory/MEMORY.md`(偏严宁漏,不持续同步)
|
|
81
|
-
- 注入策略、抽取开关、可选远程 embedding(OpenAI 兼容 URL,默认关)
|
|
79
|
+
### 方框
|
|
82
80
|
|
|
83
|
-
|
|
81
|
+
- 没压过上下文:只有一个「后续」方框。
|
|
82
|
+
- 一次成功的 compaction 之后:左边历史检查点(摘要来自 DSH),右边仍是「后续」。
|
|
83
|
+
- 方框自己不压缩。质量来自 DSH 已经做的摘要替换;fork 时不会再总结一遍。
|
|
84
|
+
- 「改名」只改方框标题,不动 DSH 摘要。点方框可跳回对话里对应的检查点,或打开轨迹。
|
|
84
85
|
|
|
85
|
-
|
|
86
|
+
### 分叉
|
|
87
|
+
|
|
88
|
+
点方框上的分叉图标,会弹出「分叉为新会话」。这个名字会出现在左侧会话列表里(默认是源标题加 `(1)`)。
|
|
89
|
+
|
|
90
|
+
确认后走宿主的 `session.fork`:子会话出现在侧边栏,前缀(含当时已经压过的摘要)由 DSH 拷过去。有检查点时从那个检查点切开;只有「后续」时就从你点的那个方框连出去。
|
|
86
91
|
|
|
87
|
-
|
|
92
|
+
对话页里用 DSH 自带 fork,切回会话图也能看到对应分支。侧边栏归档一个子会话后,图上的分叉方框会跟着消失;取消归档会再出现。
|
|
88
93
|
|
|
89
|
-
|
|
94
|
+
画布:空白处拖动平移,滚轮缩放。
|
|
95
|
+
|
|
96
|
+
### 记忆芯片
|
|
97
|
+
|
|
98
|
+
会话图顶部可展开勾选。列出未归档的 preference / decision / entity(experience 不进芯片,避免太吵)。
|
|
99
|
+
|
|
100
|
+
| 操作 | 生效时机 |
|
|
90
101
|
|---|---|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
| `ctx_link` | 两节点之间建有向带标签的边。 |
|
|
102
|
+
| 勾上某条 | 当前这段里你再发的**下一条**带上它(L0,≤300 token) |
|
|
103
|
+
| 取消勾选 | 再下一轮不再带 |
|
|
104
|
+
| 已经发出去的轮次 | 不回写 |
|
|
95
105
|
|
|
96
|
-
|
|
106
|
+
芯片按会话隔离。新开会话、fork 出的子会话默认都不勾;需要的话在分叉对话框旁打开「分叉时继承钉选」,或到子会话里重新勾。短地图仍在 session-start 自动带,不占芯片位。建议标记只是提示,不会自动勾上。
|
|
97
107
|
|
|
98
108
|
---
|
|
99
109
|
|
|
100
|
-
##
|
|
110
|
+
## 界面截图
|
|
101
111
|
|
|
102
|
-
|
|
112
|
+
以下入口在本机 DSH Web(`0.1.0-rc.8`)上仍在。截图摄于较早的 rc.6 界面。
|
|
103
113
|
|
|
104
|
-
|
|
114
|
+
### 会话 — `ctx_find("鉴权")`
|
|
105
115
|
|
|
106
|
-
|
|
116
|
+

|
|
117
|
+
|
|
118
|
+
会话开头注入 `dsh-trivium` 短地图;模型调用 `ctx_find`,命中「本仓库鉴权走 header X」。
|
|
119
|
+
|
|
120
|
+
### 轨迹 — 上下文注入可见
|
|
121
|
+
|
|
122
|
+

|
|
123
|
+
|
|
124
|
+
### 设置 — 注入策略
|
|
125
|
+
|
|
126
|
+

|
|
127
|
+
|
|
128
|
+
### 设置 — 记忆条目
|
|
107
129
|
|
|
108
|
-
|
|
130
|
+

|
|
109
131
|
|
|
110
|
-
|
|
111
|
-
- 默认 `autoRecall` 关。模型若不调 `ctx_find`,窗口里就只有短地图。
|
|
112
|
-
- 抽取会漏:白名单没命中的事实不会进库;tool 失败→成功的经验,只在失败/修复文本或邻近用户话里点名了实体时才连边。
|
|
113
|
-
- 同一 `.tdb` 不要被两个 Node 进程同时打开(普通 `dsh web` 是单进程)。
|
|
114
|
-
- 旧的脏行不会自动清;人在 Settings 里改或归档。
|
|
115
|
-
- Markdown 导出不能当回写格式。WorkBuddy 导入不是双向同步。
|
|
132
|
+
### 会话图 — 对话 / 轨迹旁的第三标签
|
|
116
133
|
|
|
117
|
-
|
|
134
|
+

|
|
135
|
+
|
|
136
|
+
标题栏出现「会话图」。没压过的会话只有一个「后续」方框;顶部是记忆芯片(默认不勾)。compaction 之后左边出现历史方框,分叉从方框连到子会话。
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 限制
|
|
141
|
+
|
|
142
|
+
- 模型不调 `ctx_find`、也不勾芯片时,窗口里主要是开场短地图。
|
|
143
|
+
- 抽取会漏;脏数据要在设置里改或归档。
|
|
144
|
+
- 同一个 `.tdb` 不要两个 Node 进程同时打开(正常只开一个 `dsh web` 即可)。
|
|
145
|
+
- Markdown 导出是给人看的,不能再解析回去。WorkBuddy 导入是一次性,不是双向同步。
|
|
146
|
+
- 会话图只投影 compaction 与 fork,不会按消息条数自己切方框。
|
|
147
|
+
- 改插件设置后需要重启 `dsh web`。
|
|
148
|
+
- 宿主升到 rc.8 后,DSH 自己的旧会话库可能打不开(官方 SQLite 格式不兼容)。工作区里的 `.tdb` 图记忆还在;对不上号的旧会话图方框可以当情节残留,不影响 `ctx_find`。
|
|
118
149
|
|
|
119
150
|
---
|
|
120
151
|
|
|
121
|
-
##
|
|
152
|
+
## 更新说明
|
|
122
153
|
|
|
123
|
-
|
|
154
|
+
**0.4.1** — 宿主钉到 `@deepseek-ai/dsh@0.1.0-rc.8`。功能与 0.4.0 相同。已在 rc.8 上确认:设置「Trivium 记忆」、新会话短地图、跨会话 `ctx_find`、会话图标签。
|
|
124
155
|
|
|
125
|
-
|
|
156
|
+
**0.4.0** — 会话图、记忆芯片、从检查点 fork。
|
|
126
157
|
|
|
127
158
|
---
|
|
128
159
|
|
|
129
|
-
##
|
|
160
|
+
## 发布信息
|
|
130
161
|
|
|
131
|
-
|
|
132
|
-
lib/index.js 工具、短地图、抽取钩子
|
|
133
|
-
lib/store.js TriviumDB
|
|
134
|
-
lib/markdown.js MEMORY.md 只读导出、WorkBuddy 一次性导入
|
|
135
|
-
lib/extract.js 规则 + 小 prompt;每批限写
|
|
136
|
-
lib/client.js Settings「Trivium 记忆」
|
|
137
|
-
lib/server.js 本机 API
|
|
138
|
-
```
|
|
162
|
+
**0.4.1** — 宿主钉到 `@deepseek-ai/dsh@0.1.0-rc.8`。功能与 0.4.0 相同。已在 rc.8 上确认:设置「Trivium 记忆」、新会话短地图、跨会话 `ctx_find`、会话图标签。
|
|
139
163
|
|
|
140
|
-
|
|
164
|
+
**0.4.0** — 会话图、记忆芯片、从检查点 fork。
|
|
165
|
+
|
|
166
|
+
---
|
|
141
167
|
|
|
142
|
-
##
|
|
168
|
+
## 发布信息
|
|
143
169
|
|
|
144
|
-
|
|
170
|
+
- GitHub: https://github.com/QWQcool/dsh-trivium
|
|
171
|
+
- npm: [`dsh-trivium@0.4.1`](https://www.npmjs.com/package/dsh-trivium)
|
|
172
|
+
- 测试宿主:`@deepseek-ai/dsh@0.1.0-rc.8`
|
|
173
|
+
- License: MIT(依赖 [TriviumDB](https://github.com/TriviumDB/triviumdb) 为 Apache-2.0)
|