dsh-engram:DSH 经验库与记忆痕迹插件

前言

在 DSH(DeepSeek Harness)里跑智能体时,经验往往散落在对话、笔记或各自为政的脚本里:能记下来,却不好按类型检索、按簇召回,也难以在控制台里统一查看与调参。纯手搓 JSON 或外挂笔记应用,又很难和 Harness 的工具面、侧栏契约对齐。

dsh-engram(Engram,记忆痕迹)由维护者 yhPrime 发布,归类为「记忆」类标准 DSH 插件。当前资料中的版本为 0.11.0,仓库星标为 0。它把「经验与技能引擎」和「经验库控制台」打进同一个插件包:重启 DSH 后只增加一行插件「dsh-engram」,左侧栏出现「经验库」,工具面与 /exp-ui/api 一并生效。下文按安装、结构、配置与典型用法说明,事实均来自 GitHub 仓库 README 与 package 信息。

这是什么

Engram 的定位可以概括为:经验与技能引擎 + 经验库控制台,一个标准 DSH 插件。

0.11.0 起,原先拆成的「引擎」与「控制台外壳」已合并为一个插件(plugin.js 为唯一入口),与 dsh-mnemon 等记忆插件在依赖上解耦。

核心功能

控制台与侧栏

安装并重启 DSH 后,控制台包含这些页面(README 原文列举):概览 / 关系图 / 经验 / 检索 / 记录 / 技能 / 类型 / 使用记录 / 设置。

工具面

同包内对 kernel 暴露的工具包括:exp_record、exp_recall、exp_feedback、exp_consolidate、exp_type,与控制台 API 路径 /exp-ui/api 一起生效。

引擎侧能力

kernel/ 目录承担存储、检索、簇路由、沉淀、反馈、技能等逻辑;经验库主数据落在配置指定的目录下的 exp-lib.json 等结构中(详见配置一节)。

关系图与主题

「关系图」页借鉴了社区中星海式三维关系图等交互思路(README「借鉴与致谢」表中有具体来源与版本说明)。配色默认读取 DSH 运行时主题 token(如 --dsw-alias-brand-primary),随当前主题变化;仅在手动选择预设时才会用固定配色。

Git 备份(可选)

在控制台「设置 → Git 仓库备份」可将经验库目录(<dataDir>/.git)当作普通 git 仓库管理:支持初始化、提交推送、仅 fast-forward 拉取,以及 autoBackupMinutes 间隔自动备份(最小 15 分钟,无改动会跳过)。GitHub 可走 OAuth 设备码登录,HTTPS 推送可用单独 token 字段;亦提供 GET/POST /exp-ui/api/sync 与 POST /exp-ui/api/github 等 API。TLS 拦截代理环境下,插件会尝试导出系统 CA 并重试(见 README「Git 备份」小节)。

安装与启用

官方 README 给出的安装步骤如下,不要凭插件名自行拼接 dsh plugin add github:owner/repo。

先在插件包目录执行打包,再按 profile 安装本地 tgz:

npm pack
dsh plugin --profile <profile> add ./dsh-engram-0.11.0.tgz

完成后重启 DSH。预期现象:插件列表中只有一行「dsh-engram」;侧栏出现「经验库」,控制台与工具面如上节所述。

安装前建议自行通读仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,经验库目录与 Git 凭据会落在本机配置与数据路径中。

仓库结构(便于读源码)

路径 作用
plugin.js 唯一入口:kernel 工具面 + 控制台 API
cordis.patch.yml 只插一条 engram 行
kernel/ 引擎:存储、检索、簇路由、沉淀、反馈、技能
ui/ 控制台:client.js(界面)、shell.js(API)、live.js/mock.js(数据源)
icon.svg 插件图标

package.json 还通过 exports 暴露了 engine、store、retrieval、skills 等子路径,便于在其他模块中按需引用(仍以仓库实际导出为准)。

配置

可在 DSH 插件行配置,或写入 ~/.dsh/engram/settings.json:

  • dataDir / currentRoot:经验库目录(含 exp-lib.json)
  • source:live(默认)或 mock(仅演示)
  • 内核参数:hint、usageLog、feedbackEta、routing、maxTypes 等,可在控制台「设置」页修改

Git 备份相关字段(远端地址、token、autoBackupMinutes 等)同样在设置页或 settings.json 中维护;HTTPS token 仅存本机,推送时经 http.extraHeader 使用。

典型用法

1. 用控制台管理经验库

  1. 安装 tgz 并重启 DSH。
  2. 打开侧栏「经验库」,在「设置」中确认 dataDir 与 source(演示可用 mock)。
  3. 在「记录 / 经验 / 检索 / 技能 / 类型」等页完成日常维护;需要可视化关联时在「关系图」中查看。

2. 在智能体流程中调用工具面

智能体侧通过 DSH 已注册的 exp_record、exp_recall、exp_feedback、exp_consolidate、exp_type 与经验库交互;具体参数与返回形态以仓库内 kernel/tools.js 及 ui/API.md 为准。

3. 同步与备份

  • 在 UI「设置 → Git 仓库备份」完成远端与(可选)GitHub OAuth。
  • 或用 HTTP API:GET /exp-ui/api/sync 查看状态;POST /exp-ui/api/sync 携带 { "action": "init" | "push" | "pull" | "status" }。

适用场景与注意

适合谁: 已在 DSH 上开发智能体、希望把「经验记录—检索—技能分层—类型与簇路由」收拢到同一插件与控制台内的开发者。

生态说明: DSH 的理念是「一切皆插件」;skillhub.cn 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本文不将其表述为官方应用商店。

注意:

  • 版本 0.11.0 要求 Node 22+;peer 依赖中含 @deepseek-ai/dsh-client-ui-primitives、@deepseek-ai/dsh-tools 等,部分标记为 optional,实际环境以你的 DSH 发行版为准。
  • mock 数据源仅作演示,生产应使用默认 live。
  • Git 拉取仅 --ff-only,远端与本地分叉时需人工处理。
  • 关系图与存储格式吸收了多个开源项目的思路,详见 README「借鉴与致谢」;使用与二次开发时请保留相应声明。

结尾

dsh-engram 把经验库引擎和控制台收成一个标准插件:侧栏「经验库」、多 Tab 控制台、五条 exp_* 工具面,以及可选的 Git 备份与 GitHub OAuth。若你要在 Harness 里长期积累可检索、可反馈、可技能化的经验,可按 README 打包安装 0.11.0 tgz,再从「设置」定好 dataDir 与内核参数。

  • 目录页:https://www.skillhub.cn/plugins/yhPrime/dsh-Engram
  • GitHub:https://github.com/yhPrime/dsh-Engram
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜