DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

yueyexiayu /

yueyexiayu/dsh-jiyi

Verified

DSH desktop plugin: durable cross-session memory, scoped hybrid recall, grounded relevance checks and memory management.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@f0aa22cb
jiyi:让重要的记忆跨越会话,在适当的范围内补充上下文。原创示意插画,非应用截图。

jiyi · 记忆

让重要的事实留下来,让相关的上下文恰好出现。

为 DeepSeek Harness 带来可追溯、有边界的跨会话记忆。

简体中文 · English

v0.1.28  ·  MIT  ·  dsh-plugin

核心能力 · 工作方式 · 快速开始 · 配置 · 验证 · 常见问题


不必在每个新会话里重复交代项目约定。jiyi 在用户回合正常完成后后台整理有明确来源的长期事实。重要记忆按全局和当前项目范围自动载入,普通记忆通过中文和语义混合检索按需召回;输入框上方可以展开查看当前会话最近的已保存变化。

与 dshbot 同时使用时,私有 Bot 的会话不参与 jiyi 自动整理或召回;来源包含这些会话的旧记忆不会参与模型检索。已排队的任务会暂停,已有数据不会自动删除。隐私切换前已发送给模型的请求无法撤回;解除私有保护后,原先暂停的任务可能继续。

此版本使用独立的 storages/jiyi-v2 数据目录,从空记忆开始;旧 storages/jiyi 保留,不自动导入。首次启动沿用可读取的旧模型设置,不改变账号凭据。重要记忆的内容预算为 8192 UTF-8 字节,用户指定的分类和手写记忆不会被后台整理覆盖。后台失败会按队列重试,并可在面板查看。

[!NOTE] 本地保存,不等于完全离线。 记忆、索引与 Embedding 在本机;提取和相关性判断会将所需内容发送给你配置的 LLM 提供方,使用已有授权。

后台提取和相关性判断使用配置的模型;其用量不再归入原任务的成本账本。

此版本面向已移除成本准入的 DSH Host。旧版带成本控制准入的 Host 可能因后台请求缺少成本归属而阻断提取或相关性判断;请使用匹配的 Host。

对历史纠偏或成本复盘暂停记录,jiyi 保留同任务接续识别;无法确认的跨原因接续继续保留来源,不将其归入其他任务。

核心能力

🧠 跨会话记忆

在正常完成的回合后增量提取。保留用户来源、版本与替代关系,不批量导入全部历史。
🎯 有边界的召回

默认检索全局与当前项目;明确引用其他项目时才扩展,歧义不自动合并。
🧾 原文支持度

独立判断候选是否支持问项,并校验 id / version / quote,不补写未记录的细节。
🗂️ 独立管理面板

右侧栏新建独立记忆、查看来源、纠正或删除,管理项目别名、失败队列与模型设置。
🔎 本地混合检索

SQLite、FTS5 与384维 MiniLM 向量协同工作;相似度用于产生候选,不授权注入。
🛠️ 自动优先,工具补充

正常流程无需主模型主动搜索;jiyi_search 提供显式检索补充。错误与超时明确报告。

工作方式

jiyi 工作流:用户证据经后台提取保存到本机;新的输入经过限定范围的混合检索、独立支持度判断,最终引用原始事实。

  1. 整理:回合完成后,后台根据用户原文新增、更新或删除记忆,不采用助手推测;删除需要明确的纠正或撤销证据。
  2. 筛选:先限定项目范围,再用本地索引与向量产生候选。
  3. 判断:独立 LLM 判断原文对实际问项的支持度,严格验证逐字引用。
  4. 补充:注入带来源的原始事实,作为参考而非新指令;不是生成一条“新事实”。
设计边界:什么时候不会注入?
  • 新用户输入时载入当前范围的重要记忆,并触发普通记忆的自动召回。
  • 业务码不自动等于 HTTP 状态,表示约定不证明未记载的实现。明确否定、同义问法和混合问题中的已知部分可构成支持。
  • 幻造、重复、过期或非法引用会失败;超时和错误不冒充“无相关记忆”,不会退回到相似度直接注入。
  • 不把记忆中的命令当指令,不把助手推测当用户事实;同版本不重复注入,工具续步不递归召回。
  • 纠正和删除影响后续检索,不抹除已有聊天中已经出现的文本。

快速开始

0. 准备环境

需要 已验证环境 / 说明
DSH 桌面端 需要已安装 DeepSeek Harness,依赖其 Host、LLM、工具与右侧栏 SDK
系统 macOS arm64;本版本不宣称其他平台已验证
运行环境 Node 24.21、Electron 44;命令行中需有 Node 24 和 npm
模型与账号 本地 MiniLM 资产;LLM 提供方的网络及已有授权

这是桌面文件系统插件,不是独立 Node 应用。已有安装请先备份插件、设置与 SQLite;不要直接覆盖数据目录。

1. 安装依赖与模型

export DSH_HOME="${DSH_HOME:-$HOME/.dsh}"
git clone https://github.com/yueyexiayu/dsh-jiyi.git "$DSH_HOME/plugins/jiyi"
cd "$DSH_HOME/plugins/jiyi"

npm ci --prefix deps
node scripts/prepare-models.mjs

安装器显式下载固定 revision,逐文件校验字节数与 SHA256;已有资产只做校验,错误会中止,不静默换模型。模型约129 MiB,首次下载需要时间。运行时禁止远程模型自动下载。

资源定义:模型清单 · 依赖锁定 · 安装脚本

2. 挂载为 desktop profile bundle

jiyi 作为 desktop profile bundle 加载。不要再用 cordis.patch.yml 的 - insert:;insert 已过时,本机不要用。同一 id 不要既做 bundle 又再 insert。

在 $DSH_HOME/profiles/desktop/package.json 两处都加上 jiyi:

  • dependencies:填写展开后的插件绝对路径,例如 "jiyi": "link:/Users/<用户名>/.dsh/plugins/jiyi"。JSON 中的 $DSH_HOME 不会自动展开。
  • dsh.profile.bundles:字符串 "jiyi",与包名相同

然后在该 profile 目录安装依赖,并确认 node_modules/jiyi 能解析到插件:

cd "$DSH_HOME/profiles/desktop"
npm install
node -e "console.log(require.resolve('jiyi'))"

不要再在 desktop cordis.patch.yml 里 - insert: 同一 id。需要改配置时只用对该 id 的 config 覆盖行。包内 bundle 声明 不要原样覆盖 desktop profile。

3. 重启并验证

⌘Q 完全退出 DSH,再重新打开。 从应用菜单“在浏览器中打开”进入正常认证入口,在右侧栏打开“记忆”:

  • 确认 Client / Host 均为 0.1.28。
  • 配置并分别验证提取、Embedding 与相关性模型。
  • 保存设置不等于验证成功;不要分享带认证信息的浏览器链接。

配置

设置 默认值 用途
提取模型 deepseek-account/deepseek-flash · 60000ms 从明确用户证据中提取事实
相关性模型 deepseek-account/deepseek-flash · 10000ms 独立判断候选对问项的支持度
Embedding Xenova/paraphrase-multilingual-MiniLM-L12-v2 q8 CPU · 384维 · 本地运行
候选 / 最终记忆 最多12 / 6条 限制进入判别和注入的条数
候选语义阈值 0.20 只选候选,不授权注入
注入预算 4000 UTF-8字节 包含元数据、来源和包装
状态陈旧时间 72小时 降低排序,而非删除
数据位置与资源限制
  • 数据与设置位于 $DSH_HOME/storages/jiyi-v2/,目录/文件权限为0700/0600;不在 Git 仓库中。不要提交数据库、WAL、凭据、私人会话或原始评测记录。
  • API 为 /api/jiyi,走 DSH 正常认证;凭据保留在 Host,不发送到 Client。
  • 模型冷加载默认上限120秒,单次推理与召回默认10秒;同一 Host 复用存活的隔离 Embedding 子进程,最多并发2个请求。过载、取消、超时和释放失败明确报告。
  • 运行库锁定 @huggingface/transformers@3.8.1。模型、node_modules 与运行缓存不提交到 Git。
  • LLM token 预算是否在服务端实施取决于提供方 adapter,不能把本地预算意图当作服务端硬限制。

验证

验证类型 结果 如何理解
0.1.16 公开源码回归 · Node 184 / 184 历史结果:合成来源、受控 LLM,实际本地 Embedding / SDK
0.1.16 公开源码回归 · Electron 186 / 186 历史结果:安装包内实际 SDK;无失败、取消或跳过
固定样本 · Q13 首次5 / 5 发布前的指定本机实测
固定样本 · 36题 36 / 36 × 2轮 未将旧正确应注入项变空;不是全场景保证

固定样本实测也使用 deepseek-account/deepseek-flash;私人原始数据不公开。受控回归测试不代替真实语义验证,也不代表所有模型或未来请求都同样可靠。

本机召回p50约 1.43–1.45秒,此前为1.18–1.23秒;准确性修复不等于性能提升。

复现公开回归测试

先安装依赖与模型,并确保 /Applications/DeepSeek Harness.app 和 /usr/local/bin/node 可用。测试使用独立临时 SQLite,不需要云端账号,不操作正式记忆。缺少桌面 SDK 或资产会明确失败,不当作通过。

NODE_OPTIONS='' /usr/local/bin/node --test --test-timeout=90000 test/*.test.mjs
ELECTRON_RUN_AS_NODE=1 NODE_OPTIONS='' \
  '/Applications/DeepSeek Harness.app/Contents/MacOS/DeepSeek Harness' \
  --test --test-timeout=90000 test/*.test.mjs
for file in lib/*.js scripts/*.mjs; do /usr/local/bin/node --check "$file" || exit; done

公开夹具独立于私有会话;evidence/ 仅保留空目录占位,运行输出被忽略。当前相关性规则为 jiyi-relevance-v7,后台记忆整理版本为 jiyi-review-v1。上表结果属于旧版本,不能视为当前版本的测试结果。

常见问题

关闭记忆面板会停止工作吗?
不会。面板标签或文档不可见时暂停状态轮询,但不停止 Host;停用插件才停止提取与召回。

必须让主模型调用搜索工具吗?
不用。自动流程优先,jiyi_search 是显式检索的补充入口。

更新、迁移和卸载怎么做?
更新前备份插件与设置;运行中的 SQLite 使用 backup API 或安全一致性备份。从旧 topics/inbox 架构迁移,不可仅凭版本号假定无损。别名补登走 显式迁移脚本,先审阅计划和备份,不静默重写正式记忆。

卸载时从 desktop package.json 的 dependencies 和 dsh.profile.bundles 去掉 jiyi,删除已无用途的 node_modules/jiyi 链接,并去掉 desktop patch 里对该 id 的 config 覆盖(若有)。不要清空整个 patch。然后完全退出/重开 DSH。记忆数据是否保留由用户决定。

社区与许可

这是公开的 DSH 社区插件,已配置 description 与 dsh-plugin Topic;目录收录仍需对方审核,不代表官方自动安装或官方背书,没有自动提交自荐 PR。包名与 Host / Client bundle id 均为 jiyi,保留 private: true,不通过 npm 发布。

源码采用 MIT License。模型为独立的 Apache-2.0 资产,来源与固定revision见 模型清单;第三方依赖沿用各自许可。

记住事实,尊重边界。 · Read in English →
—/ 5

No ratings yet

Verified DSH bundle

Commit f0aa22cbb73c

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout