🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

sANDzER0/dsh-hippocampus

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
未验证

Platform: DSH web profile

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/26 · 已提供中文文档

DeepSeek Harness 的跨会话项目记忆——捕获 / 整合 / 召回,关键词 + 可选的本地 Ollama 语义搜索。灵感来自 magic-context。

综合分
27.5
GitHub 分
27.5
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add sANDzER0/dsh-hippocampus
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
是什么
dsh 原生插件 · chat
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 30 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-hippocampus

License: MIT
Platform: DSH web profile

一个面向 DeepSeek Harness(DSH)的自管理跨会话项目记忆层——
将 cortexkit/magic-context 的
捕获 / 巩固 / 召回(Capture / Consolidate / Recall)循环,
重新实现为原生 DSH 插件。

状态:功能完备,并已针对真实工作负载验证。记忆工具、
提示注入、事件驱动的自动捕获、巩固子代理、CJK 分词
关键词搜索、可选语义搜索(本地 Ollama 或 OpenAI 兼容)、
压缩检查点 + 记忆感知的压缩摘要、信号门控的
回顾性捕获流程,以及 DSH Web UI 内的设置页面。

背景

DeepSeek Harness (DSH) 是一个
基于 Cordis 的代理框架:每项能力都是 cordis.yml
组合中的一个插件行,服务/事件/插槽是扩展原语,dsh web
提供 GUI 服务。本项目以单个宿主组合行的形式发布,因此每个预设的每个会话
都能获得该记忆层——无需按会话挂载。

magic-context 是一个出色的记忆
系统,适用于 OpenCode/Pi 风格的框架。本项目是在 DSH 原语上对其理念的
从零开始的原生重新实现——未使用其任何代码。

与 magic-context 的区别

| | magic-context | dsh-hippocampus |
|---|---|---|
| 范围 | 记忆层加上上下文管理(历史学家分区、m[0]/m[1] 缓存稳定变换、字节精确重放) | 仅记忆层——DSH 负责压缩和上下文塑形 |
| 存储 | SQLite(context.db、FTS5、向量 BLOB) | DSH storageDomain JSON 快照(整快照 RMW、序列化写入) |
| 检索 | sqlite-vec / 本地 ONNX / 远程嵌入 | Intl.Segmenter CJK 分词 + 评分排序;可选本地 Ollama 或任何 OpenAI 兼容的 /embeddings;JS 内余弦相似度 |
| 捕获 | 与其分区引擎绑定的历史学家事实提升;dreamer 定时任务 | 正则启发式 + 信号门控的回顾性流程,其子代理通过幂等工具调用写入;压缩前触发插槽 |
| 压缩 | 完全替换宿主的压缩 | 观察并增强 DSH 的原生压缩(检查点捕获 + 记忆感知摘要),而不触碰所有权 |
| 打包 | 多包 monorepo(TS + Rust) | 两个纯 JS 函数体(src/host.js、src/client.js),由一个脚本派生为可部署的 ESM——零构建依赖 |

完整的设计理由——范围边界、流水线细节和平台
实现说明——见 DESIGN.md。

功能

- 持久记忆——ctx_memory(写入 / 列出 / 删除)跨五个精选
类别加上自动管理的 CHECKPOINT 条目;作用域限定为稳定的项目
身份,因此记忆跟随项目,而非会话。
- 召回 — 对记忆和笔记执行 ctx_search:支持 CJK 的 token 评分、
逐字子串强命中、可选的语义余弦相似度,以及当部署启用
session-query-sqlite 时的跨会话历史搜索。
- 提示注入 — 最高重要性的记忆会被渲染进每一轮模型对话
(受数量和字符预算限制)。
- 自动捕获 — 用户消息中的决策/约束措辞以及对
已知配置文件的写入会变成记忆;内容分类器会排除
机器来源的文本(harness 快照、提醒、自身子报告)。
- 回顾式捕获 — /ctx-retro 扫描缓冲的近期用户消息;
纠正/重述信号会派发一个子代理,由其提炼持久事实
并通过幂等的 ctx_memory 调用自行写入。包含定时器和压缩前
触发器,并带有冷却和单飞闩锁。
- Dreamer 整合 — /ctx-dream 生成一个可继续的子代理,由其
去重/整理记忆并回报到会话中。
- 压缩感知 — 压缩摘要会作为可搜索的 CHECKPOINT
记忆(T0)存储,持久记忆会被注入摘要器输入,使
摘要保持连续性感知(T1)。
- 设置页面 — DSH Web 设置中的 Magic Context 部分:语义
搜索开/关、提供商切换(本地 Ollama / OpenAI 兼容端点)、
端点/模型/密钥、Ollama 检测和服务启动、注入预算、
捕获开关 — 全部实时生效(无需重启)。

要求

- 一个带有 web profile 的 DSH 部署(dsh web)。该插件面向
DSH 附带的 Node 运行时(v24 级别);无需额外依赖。
- 仅语义搜索可选需要:Ollama 以及一个
多语言嵌入模型(ollama pull bge-m3,约 1.2 GB)。没有它,
插件完全以仅关键词模式运行 — 每条失败路径都会静默降级。

部署

node sync.mjs     # derive index.mjs + client.mjs + package manifest into the profile
(~/.dsh/profiles/web/node_modules/@local/dsh-hippocampus/)

然后在同一 profile 的补丁层
(~/.dsh/profiles/web/cordis.patch.yml)中注册一行 insert:

- insert:
- id: dsh-hippocampus
name: '@local/dsh-hippocampus'

并重启 dsh web(ESM 按进程缓存)。sync.mjs 会在写入任何内容之前
校验两部分(node --check + 导入冒烟测试)。

为什么是派生文件?加载器会将这一行作为真正的 ES 模块导入,而
src/host.js / src/client.js 是以普通函数体形式编写的(也可作为
动态插件 code.host / code.client 定义)。切勿直接复制
源码 — 顶层 return 在 ESM 下是致命的。

配置

在 Web UI 中打开 Settings → Magic Context。所有内容都会实时生效:

| 分组 | 旋钮 |
|---|---|
| 语义搜索 | 启用 · 提供方(Ollama / OpenAI 兼容) · 端点 · 模型 · API 密钥 · 连接探测 · 索引重建 |
| 本地 Ollama | 状态检测(可达 / 已安装 / 缺失) · 启动后台服务 |
| 注入与捕获 | 注入次数上限 · 字符预算 · 自动捕获开关 · 回顾自动触发开关 |

设置持久化在 memory 域(mc:cfg)中,并在读取时合并到默认值之上。API 密钥从不出现在 GET 响应中,写入路由仅接受回环对等方。

仓库布局

dsh-hippocampus/
├── DESIGN.md          # 设计文档:范围、流水线、压缩集成、
│                      #   配置模型、DSH 静态插件实现说明
├── src/
│   ├── host.js        # 宿主半部分(纯 JS 函数体):工具、注入、
│   │                  #   捕获监听器、回顾、/mc-api 桥接、T1 包装
│   └── client.js      # 客户端半部分(纯 JS 函数体):Magic Context 设置页面
├── sync.mjs           # 为两个半部分派生可部署的 ESM + 包清单;校验
├── package.json
├── LICENSE            # MIT
└── README.md

验证亮点

针对真实工作负载而非模拟进行测试:

- 持久性和幂等写入在进程重启和插件更新后依然有效。
- 一次真实的 /compact 端到端产生了一条检查点记忆;摘要器自身的输出确认了注入的记忆块存在于其输入中。
- 零重叠的改述查询(“怎么发布上线” vs 一条只说过“部署必须经 sync.mjs”的记忆)仅靠语义通道即可召回(相似度 ≈ 0.52)——按构造而言,关键词评分无法触及。
- 机器来源的文本(运行时快照、harness 提醒、子报告)被内容分类器挡在记忆流水线之外——在实时流量中,而不仅仅是在测试中。

注意事项与限制

- 语义搜索每次查询增加一次嵌入调用(bge-m3 在 CPU 上热推理约 6 秒;请求固定 keep_alive: 30m,因此空闲间隔不会重新支付约 41 秒的冷加载)。超时按场景拆分(查询 8 秒 / 探测 60 秒 / 扫描 120 秒)。
- 跨会话历史搜索需要在 profile 补丁层中启用 session-query-sqlite(以 openAt: never 选择加入发布)。
- 拼接进会话的子代理报告按签名和结构进行过滤;新颖的散文式报告仍是理论上的捕获风险——如果真有漏网之鱼,可通过 ctx_memory delete 删除杂散行。
- 对存储域的并发变更必须串行化:JSON 存储持久化整个快照(读-改-写)。本插件中的所有自动写入都经过同一条 promise 链,正是出于这个原因。
- 存储层对域 valueSchema 进行鸭子类型判断(仅调用 .parse/.safeParse),因此插件体不需要 zod 依赖。

许可证

MIT — 见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群