rickwindman/dsh-destinywind-memory ↗★ 0
dsh-destinywind-memory
长期记忆库:在网页设置的「记忆」页增删记忆条目,每条都注入所有会话的系统提示(改数据请走 HTTP API)。 适合需要跨会话保持特定背景信息或长期记忆的AI对话任务。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:rickwindman/dsh-destinywind-memorydsh-destinywind-memory
在 DeepSeek Harness Web GUI 的设置面板中提供长期记忆库,并支持随时增删。
它做什么
- 设置面板新增「记忆」页(
settings.sectionSlot,order: 16):紧跟在设置导航的「插件」页之下、排在「技能」页之上;可添加(带可选标签)、浏览、删除记忆条目。 - 每条记忆跨会话持久保存于
DSH_HOME/destinywind-memory/memory.json,并自动注入 Agent 系统提示词(systemPrompt.section,order: 216)——即每个新对话开场就能看到。 - 纯插件实现:不修改 DSH 任何其他文件。
存储格式
%USERPROFILE%\.dsh\destinywind-memory\memory.json(DSH_HOME 环境变量可覆盖)
{ "memories": [ { "id": "uuid", "text": "正文", "tags": ["标签"], "createdAt": 1699999999999 } ] }
上限:text 8000 字符(超出截断)、tags 最多 12 个、条目最多 1000;text 为空则拒绝写入。
从旧版 dsh-hindsight-memory 升级
- 新存储目录首次读取时若不存在,会自动收养旧目录
~/.dsh/hindsight-memory/memory.json里的记忆并写入新位置;旧目录保留原样作为备份,确认无误后可自行删除。 - 若两者都不存在,则以空库启动。
⚠️ 改数据请走 HTTP API,不要直接改 json
Host 半是 let cache = null,只读一次文件:直接编辑 memory.json,运行中的进程看不到(要重启才生效)。API 会同时更新内存数组并原子落盘(tmp + rename),立即生效。
| 操作 | 请求 |
|---|---|
| 列表 | GET /dsh-destinywind-memory/memories |
| 新增 | POST /dsh-destinywind-memory/memories,body { text, tags } |
| 删除 | DELETE /dsh-destinywind-memory/memories/ |
$body = @{ text = '记忆正文'; tags = @('标签') } | ConvertTo-Json
Invoke-RestMethod -Method POST -Uri 'http://127.0.0.1:3080/dsh-destinywind-memory/memories' `
-Body ([System.Text.Encoding]::UTF8.GetBytes($body)) `
-ContentType 'application/json; charset=utf-8'
渲染规则与推荐写法
renderPrompt() 会把每条 text 里的所有空白压成一个空格,每条渲染成一个 - bullet,抬头固定为「## 长期记忆(destinywind memory bank)」。
所以:写紧凑单段,不要依赖换行、缩进或 markdown 结构。
推荐做法:记忆只写一句话索引(「需要 X 时加载技能 Y」),细节写成技能 —— 因为每条记忆都会进入每一个对话的系统提示,越短越好:
- 记忆条:
维护 dsh-connect-* 插件时,先加载技能 dsh-connect-plugins。 - 技能正文:
C:\Users\raoke\.dsh\skills\dsh-connect-plugins\SKILL.md(长文档放这里,按需加载)
文件
| 路径 | 作用 |
|---|---|
index.js | Host 半:存储、HTTP 路由、系统提示词 section |
client.js | Client 半:设置面板「记忆」页 UI |
cordis.patch.yml | 一行,把本插件插入 composition |
locale/zh.json、locale/en.json | 插件元信息文案(中 / 英) |
icon.svg | 插件图标(大脑剖面 + 记忆节点),显示在设置导航与插件列表中 |
Host 侧改动(index.js)重启 dsh web 生效;Client 侧改动(client.js)刷新页面(F5)即可。
安装与卸载
- 声明了
dsh.bundle.patch,装完即生效:plugin_manager { action: "install_bundle", target: "" },安装后重启dsh web。 - 卸载不会删除已存记忆:内容在
~/.dsh/destinywind-memory/memory.json,需要自行删除。 - 若不希望某些条目继续注入对话,用
DELETE /dsh-destinywind-memory/memories/或设置页删除即可。
许可
MIT,见 LICENSE。