文件型工作记忆:memorize/recall 把关键前提逐字保存在会话笔记文件,无损挺过上下文压缩。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:ICCuse/dsh-file-memory
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
面向长任务的文件型工作记忆。两个模型侧工具——memorize 与 recall——把关键前提以逐字字节形式保存在工作区内按会话隔离的笔记文件里,因此能无损地挺过上下文压缩:摘要器可以把事实模糊或丢掉,但文件能逐字节原样往返。
为什么
压缩检查点是 LLM 生成的、并逐代被 LLM 重写;prompt 空间里的"状态文档"提案每一轮仍会对上一版状态再摘要。文件是 agent 手上唯一无损的介质:写一次,读回即原样。这是对 prompt 空间压缩的务实补充,在当前随附的 compaction-basic 后端上今天就能用。
工具
| 工具 | 行为 |
|---|---|
memorize(entries) |
把逐字去重后的行追加到 <workspace>/.dsh-notes/<session>.md。 |
recall(query?) |
读回笔记,可选按包含 query 的行过滤;输出上限 maxRecallChars。 |
两者都要求 agent 会话与已挂载的 fs 服务;笔记文件相对会话工作区 cwd 解析(会话无 cwd 时回退到后端默认基准)。
配置
| 字段 | 默认 | 含义 |
|---|---|---|
maxRecallChars |
6000 |
recall 输出上限。 |
notesDir |
.dsh-notes |
工作区内的笔记目录名;必须是裸目录名。 |
maxRecallChars 必须为 >= 1 的整数;配置错误在插件加载时直接抛错。
安装
尚未发布到 npm —— 直接从此仓库安装:
npm install github:ICCuse/dsh-file-memory
# 或:pnpm add github:ICCuse/dsh-file-memory
然后在 profile 组装中挂载(package.json 已声明 dsh.bundle):
- id: dsh-file-memory
name: 'dsh-file-memory'
发布后亦可 dsh plugin --profile web add dsh-file-memory。
链接
同类插件
LoserFox/distill★ 15
自动对话蒸馏:后台 subagent 反省 + 技能 create/update。
omdsh-dev/dsh-mnemon★ 11
Mnemon 深度集成:本地三层记忆(Runtime Memory、可检索 Documents、受监督 Memory Spaces)。
modusensus/dsh-mneme★ 8
跨会话记忆:SQLite + 可人工编辑的 Markdown 镜像,后台自动巩固(去重/合并/冲突裁决),提供 6 个记忆工具。
nowledge-co/nowledge-mem-deepseek-harness★ 5
给所有 AI 工具和 Agent 共用的一层记忆:注入 Context Bundle、提示时检索、MCP 工具与回合结束 DSH 线程捕获。
Jesse-njx/dsh-memory★ 2
基于 DSH 无损会话日志的引用式记忆:蒸馏出的事实带 `(sessionId, eventRange)` 引用,可随时展开回原始日志片段。
PerryLink/dsh-memento★ 1
有界、分层、带审批门、可审计的跨会话记忆:`ctx.memory` 服务 + 零依赖 SQLite 存储 + `memory` 工具与冻结快照注入;写入必过审批门,模型可见内容可自会话日志重建。