把 cipher 记忆平台原生带进 DSH:四类记忆每轮沉淀、跨会话确定性检索经 systemPrompt.context 注入、洞察复核只进沉淀、会话级 UNNI/LOOP 模式(记忆驱动自动续轮)、记忆检索/写入两个工具,以及设置页(SOUL 编辑器)与 AgentPool 面板。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:NoxTyrannus/dsh-cipher
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
把 cipher 的核心设计——持续思考、三中台 (执行/洞察/记忆)、四类本地记忆(注意力/经验/偏好/认知)、UNNI/LOOP 会话模式—— 以 DSH 组合包形态原生落地(纯 TS bundle,无 Rust 进程、无需 cipher 二进制)。
在 DSH 中配置好模型后:UNNI 与 LOOP 会出现在 DSH 原生 agent preset 选择器里 (与标准模式 / PTC / 极简并列)。用这两个 preset 开的会话获得完整 cipher 管线: 每轮自动沉淀四类记忆、跨会话召回注入,LOOP 会话在每轮沉淀后自主续轮。
特性
- UNNI / LOOP 即原生 agent preset:插件激活时把两个 preset(复制部署的
standard组合 + 追加 cipher 行)物化进用户 preset 根——原生选择器立即显示,无需重启 - 四类记忆(注意力/经验/偏好/认知)每轮沉淀:4 个记忆 agent 并行(各 1 次 LLM 调用、错误隔离)
- 跨会话召回(确定性检索:类型配额 + 14 天时间衰减 + 词项/关键词命中)经
systemPrompt.context注入——快照变化才重录(缓存友好) - 洞察复核(每轮三问自检)输出只进沉淀,绝不裸抛给用户
- 会话级模式覆盖:会话头部
Cipher·UNNI / Cipher·LOOP切换(仅 cipher preset 会话显示); LOOP 自动续轮走Agent.followup(间隔+轮数护栏,不依赖 DSH goal API) - 两个模型工具:
cipher_memory_search/cipher_memory_ingest - 设置页(SOUL 编辑器、配额、LOOP 护栏、回退默认值)+ 侧边栏 AgentPool 面板(实时 subagent 状态)
- SOUL 可编辑,作为会话级静态 section 注入(提供方缓存友好)
安装
dsh plugin --profile <name> add dsh-cipher
安装后你会得到:
- 原生 agent preset 选择器(会话座位 / 设置 → 通用)里的 UNNI · 交互协同 / LOOP · 记忆驱动。
两个 preset 物化在用户 preset 根(
~/.dsh/.agent-presets/):复制部署的standard组合并追加 cipher 行;插件升级自动重同步、卸载自动清理;用户自建的同名 preset 绝不覆盖。 - Cipher 设置区(设置 → Cipher):SOUL 编辑器、LOOP 间隔/轮数上限、类型配额、沉淀/洞察开关
- 右侧可折叠「Cipher 池」(AgentPool)面板(subagent 模式/活动态/标签,5 秒刷新)—— 展开为右侧全高面板、折叠为右缘细条(细条即入口),设计语言对齐原生「会话/工作区」面板
- 会话头部 Cipher·UNNI / Cipher·LOOP 切换按钮(仅 cipher preset 会话显示)
- 两个工具:
cipher_memory_search/cipher_memory_ingest(仅 cipher preset 会话可用)
快速开始
- 在「设置 → 模型」配置好模型(插件复用 DSH 默认模型路由)。
- 开新会话时在 preset 选择器里选 UNNI 或 LOOP,发一条消息——轮次结束后记忆自动沉淀。
- 下一轮问"你记得我什么?"——召回的记忆已注入。
- LOOP 会话每轮沉淀后自主续轮(间隔+轮数护栏);也可用头部按钮在会话内切换模式。
要求
- Node.js >= 22.19
- DSH 需要 agent-presets roster 与可写的用户 preset 根(均为默认配置):preset 通过
agentPresets.copy('standard', ...)生成——部署的standard(或默认 preset)是组合源。 缺失时插件其余部分(设置/池面板)仍可用,但无法物化 UNNI/LOOP preset、cipher 行不会激活。 - 需在 DSH 配置模型;UNNI/LOOP 会话中每轮每个记忆 agent + 洞察各一次 LLM 调用(成本是设计内事实)
storageDomain可选:组合挂载存储时记忆持久化到部署 storages 目录(cipher_memory域); 未挂载时降级为进程内记忆(告警一次,重启不保留)
工作原理
行按平面划分(v0.1.2 "Design A"——cipher 能力只存在于 UNNI/LOOP preset 内):
| 平面 | 行 | 职责 |
|---|---|---|
| host(bundle patch) | dsh-cipher/core |
私有服务 ctx.cipher:四类记忆库、确定性检索、配额、会话模式、settings namespace |
| host | dsh-cipher |
双面行:host REST 路由(config/settings/mode/subagents)+ client 设置页/池面板/头部切换 |
| host | dsh-cipher/presets |
物化 UNNI/LOOP preset(copy standard → 追加 cipher 行 → 元数据;幂等、带版本标记、自愈) |
| preset(UNNI/LOOP) | dsh-cipher/memory |
沉淀:session/event turn/end → 证据 → 4 记忆 agent → 写库(去重+会话水位) |
| preset | dsh-cipher/insight |
三问自检证据复核 → 以 [INSIGHT] 经验沉淀 |
| preset | dsh-cipher/prompt |
注入:SOUL+模式 section(order 60 静态快照)+ 四类记忆 context(快照变化才重录) |
| preset | dsh-cipher/mode |
模式钉死(行 config presetMode,会话创建时落为默认)+ LOOP 沉淀后续轮调度 |
| preset | dsh-cipher/tools |
cipher_memory_search / cipher_memory_ingest |
preset 行与其他 DSH preset 行一样:每个 preset 挂载一次(standing mount),会话按 scope 加入。 标准/PTC/极简组合的会话完全没有任何 cipher 行。
存储说明:记忆域在运行时可选——存储故障(如 headless 一次性进程退出窗口)时会降级为进程内 存储(不失败该轮),而非中断对话。
模式语义(v0.1.2)
- UNNI(交互协同):用户与 agent 高度协同;执行/洞察结果成为沉淀依据,回复始终来自 agent 自身(信息隔离——中台输出不裸抛)。
- LOOP(记忆驱动):每轮沉淀完成后,会话以最新注意力/经验记忆为方向自动续轮(护栏:最小间隔
- 单会话轮数上限);收敛或用户中止则安静收尾。
- preset 钉死会话默认模式(行 config
presetMode);头部切换按会话覆盖(写modes表), 设置默认值是最末回退。
数据与隐私
- 记忆存于部署 storages 目录(
cipher_memory域;无存储组合时内存级)。 - 全部本地;沉淀/洞察/续轮的模型调用走 DSH 默认模型路由。
Model Experience(KV Cache 影响)
按 DSH 包约定披露:
- SOUL+模式 section(order 60):稳定重复前缀——会话内文本不变,提供方 prompt 缓存可复用; 修改 SOUL 会在下一次组装替换既有请求 token。
- 记忆 context(
cipher-memory):仅追加增长——快照变化(新沉淀/compaction 移除)时才重录, 否则每次组装零重录。 - 记忆注入块每次组装求值,但内容无变化时输出稳定文本。
cipher_memory_search/ingest为独立请求,不影响会话请求缓存。
开发
pnpm install
pnpm build # tsc(host lib/) + tsdown(client/client.js, __ModuleLoader__ 格式)
pnpm test # vitest(检索、证据边界、preset 物化)
pnpm preflight # 发布产物校验
- 服务包(
@deepseek-ai/dsh-*)为 peer 依赖,解析到 DSH 安装自身;唯一直接依赖是zod。
安全提示
安装插件即在你的机器上以你的权限执行第三方代码——请审阅源码后再安装。本包无发布后脚本
(prepare 仅构建自身产物)。
License
MIT
链接
同类插件
vectorize-io/hindsight#coding-agents★ 49727
Hindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
volcengine/OpenViking#examples/dsh-memory-plugin★ 39942
面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`viking://` URI 防护,以及对接 OpenViking 服务端的 recall/write 记忆工具。
agentscope-ai/ReMe#dsh★ 3594
将 DeepSeek Harness 接入 ReMe 本地优先、自进化的个人知识库:自动把已完成的主 Agent 对话沉淀为用户掌控的 Markdown 记忆,通过 reme_search 结合 BM25、可选向量检索和 wikilink 展开搜索对话与资料,并按日整理长期记忆。
zilliztech/memsearch#MemSearch★ 2745
供 DSH 与其他编程 Agent 共享的 Markdown 记忆,支持自动捕获、步骤前上下文注入、搜索召回,以及通过审阅面板实现 memory-to-skill 自进化。
vshulcz/deja-vu#extensions/dsh★ 1200
读取本机上其他三十三个编程智能体已经写下的会话文件——Claude Code、Codex、Cursor、VS Code Copilot Chat、opencode、OpenClaw、Hermes、Kimi、Cline、Zed 等,包括安装之前的历史:提供 deja_recall、deja_session、deja_blame、deja_fix、deja_how、deja_remember 六个工具与 /deja 命令,并可选地把召回结果加入运行时上下文。本地 BM25 索引,不用大模型,不用向量嵌入,不联网(dsh plugin --profile web add dsh-deja)。
adoresever/graph-memory★ 649
DeepSeek Harness 的可追溯、可检索跨会话记忆:把对话知识沉淀为带类型的图节点(任务/技能/事件)与关系边。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。