dsh-recall

DSH PLUGIN记忆与知识

仓库 LIghtJUNction/dsh-recall · npm @lightjunction/dsh-recall

记忆与知识 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

为 DSH 提供可搜索的会话摘录存储,通过 recall_save、recall_search、recall_delete 三个工具显式保存、检索与删除项目对话片段。

一句话选型结论

按资料字段整理

dsh-recall 是记忆与知识类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,列出 4 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-11-02 创建于 2026-11-02
README 5.0 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:LIghtJUNction/dsh-recall
  1. 1
    确认版本与运行环境

    Node.js 要求 >=24;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求>=24来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@4.0.5、@deepseek-ai/dsh-agent@0.2.1-rc.2 等 5 个需要同时安装的同级依赖
npm 包名@lightjunction/dsh-recall可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-recall:为 DeepSeek Harness 提供可检索的会话摘录

  • 显式保存对话摘录
  • 字面 AND 关键词搜索
  • 按版本号安全删除
  • 本地明文存储与并发锁

适用场景

记忆

上游标签

deepseek-harnessdsh-plugin

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-11-04): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✕ 未通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 插件目录树加载失败
  • L5.3_HTTP_SERVED HTTP 服务响应

风险详情

  • 结论说明 静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。
  • 风险计数 严重 0 / 高 0

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 列出了 4 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 需要同时装好同级依赖,漏装会启动失败。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-recall当前 L4 · 沙盒安装通过 低风险 0 未标注 有
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方LIghtJUNction仓库 dsh-recall · 默认分支 main
分类记忆与知识knowledge
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言TypeScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-11-02 · 2026-11-02最后推送 2026-11-12
本站收录2026-11-02首次进入本站目录的时间

README 全文

5.0 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-recall

DSH 0.2.1-rc.2 plugin. Node >=24; developed and tested locally with Node 26 / TypeScript 5.9.3. Release CI is configured for Node 24; that CI run is separate from local verification.

Install from a GitHub Release

After a release is published, install its built archive into your DSH profile:

dsh plugin --profile headless add https://github.com/LIghtJUNction/dsh-recall/releases/download/v0.1.0/lightjunction-dsh-recall-0.1.0.tgz
dsh headless --dump-config

The release URL is the expected v0.1.0 asset location, not a claim that it has already been published. Use the archive and SHA256SUMS attached to the same GitHub Release. The package includes a DSH bundle patch and built JavaScript; no Pi dependency is needed. Restart DSH after installation. Substitute your existing profile for headless if needed.

Configuration

The default bundle config is {}: each tool uses the invoking agent's working directory. A host call without an agent requires an explicit root. To pin a host-local workspace, add an override in your profile's cordis.patch.yml:

- id: dsh-recall
config:
root: /absolute/local/project

The root must already exist. It is interpreted on the DSH host, using Node filesystem APIs. A remote DSH world or sandbox does not redirect these operations: only enable this plugin for a host-local project. This is not a remote-world adapter or a security sandbox.

Tools and examples

  • recall_save({role:"user",text:"We chose SQLite for the local cache",sessionId:"optional-source-id"}) saves only the explicitly provided excerpt. The source ID defaults to the current agent ID, or manual for a host call. Exact duplicate role/text/session combinations return the existing record.
  • recall_search({query:"sqlite cache",limit:10}) performs literal case-insensitive AND matching on saved text, newest first. Omit the query to list saved excerpts. Results include id, revision, role, text, sessionId and savedAt.
  • recall_delete({id:"",expectedRevision:""}) removes one saved excerpt only when its revision matches. An unknown ID or stale revision fails explicitly.

Ask DSH: “Explicitly save this decision in recall: we chose SQLite for the local cache.” Later: “Search recall for sqlite cache.” Excerpts are untrusted quoted conversation data, not instructions. No session log is automatically searched, copied or summarized. Caller-supplied role/session attribution is not independently authenticated.

Storage and limits

The store lives in /.dsh-recall/records.json. The directory is created with mode 0700 and replacement files with mode 0600 (subject to filesystem/platform behavior). This is plaintext, not encryption: save only material appropriate to keep in this project, exclude .dsh-recall/ from version control, and do not save secrets. This plugin intentionally does not edit your .gitignore.

At most 200 records / 4 MiB total, 50,000 UTF-8 bytes per excerpt, 200 characters per session ID, 500 per search query, and a search limit of 1–50. Traversal, symlink storage paths and nonregular files are rejected. Malformed stores fail closed; they are never silently reset. Search does not create storage. Records survive DSH/plugin restarts and are shared across agents using the same local root.

Writers acquire .dsh-recall/write.lock exclusively. Concurrent writers fail with “store busy” and can retry; accepted writes use a fsynced temporary file and atomic rename so readers see a complete old or new store. Temporary files and locks are removed on normal success/failure. A process crash can leave a lock/temp file: stop all writers, inspect/recover the store, then manually remove the stale lock/temp. There is no automatic stale-lock stealing or crash-time directory fsync guarantee. Cancellation is checked before commit and work is drained on dispose; a rename already committed is not rolled back by a later cancellation.

No Pi picker/menu, global Pi store migration, Markdown notes/templates, automatic session capture, DSH session-search replacement or automatic prompt injection is provided.

Filesystem boundary and verification

Path checks reject ordinary symlink redirection; regular-file opens use no-follow flags and inode checks, bounded reads and cancellation. These checks are not a sandbox against a malicious process concurrently replacing ancestor directories; use a trusted local workspace. Linux/macOS-style filesystem semantics are the intended target; Windows behavior has not been verified.

npm run check

The suite uses real Cordis, DSH ToolRuntime, agent-loop and an offline scripted model; it verifies actual model tool dispatch and results in the following model request, plus limits, revision/path checks, cancellation and unregistration. It requires no live model credentials. check includes TypeScript checks for source/tests, behavior tests and a build. See UPSTREAM.md for pinned source and migration differences and NOTICE for upstream MIT attribution.

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-recall 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:LIghtJUNction/dsh-recall` 即可。对应的 npm 包名是 `@lightjunction/dsh-recall`。

dsh-recall 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

dsh-recall 安全吗?

低风险。静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。

dsh-recall 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-recall 需要什么运行环境?

Node.js >=24;需要同时安装 @deepseek-ai/cordis@4.0.5、@deepseek-ai/dsh-agent@0.2.1-rc.2、@deepseek-ai/dsh-llm@0.2.1-rc.2、@deepseek-ai/dsh-tools@0.2.1-rc.2、@deepseek-ai/dsh-working-directory@0.2.1-rc.2。环境不满足时安装会失败,建议先确认本机版本。

dsh-recall 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-recall 有哪些功能?

显式保存对话摘录、字面 AND 关键词搜索、按版本号安全删除、本地明文存储与并发锁。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

6 条
不同作者的仓库分开列,请确认你要装的是哪一个
记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

LIghtJUNction 的其它插件

6 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-11-04。