前言¶
在 DSH 里跟模型调试工作流时,常见局面是:这一轮 shell 命令终于跑通,下一轮又要从零拼一遍,或者模型把步骤写进 Markdown——能读不能跑。上下文一压缩,工具调用的参数和报错也跟着没了,跨会话更难找回当初那份「真的成功过」的命令链。
dsh-seal-scripts 针对的是这两条线:把已验证的 TypeScript / shell 等脚本链固化成本地工具脚本(含清单、每文件 sha256、系统提示词条目),之后在任意会话里按原状执行;同时在 DSH 压缩上下文时把被压掉的内容落盘成回顾文件,供跨会话固存和按线索回读。
下面介绍插件定位、核心能力、安装步骤和典型用法。事实依据为 GitHub 仓库 README 与 npm 包 dsh-seal-scripts(当前资料中版本为 0.5.0,MIT 许可证)。
这是什么¶
- 名称:dsh-seal-scripts(社区目录:gosutry/dsh-seal-scripts)
- 维护者:gosutry
- 分类:工作流
- 宿主:DeepSeek Harness(DSH),peer 要求
@deepseek-ai/dsh>=0.2.1-rc.2、<1.0.0 - 运行时:Node
>=18,零运行时 npm 依赖
插件重心是脚本固存:一次跑通的链落成目录、写入清单、注入系统提示词末尾的工具组列表,下一轮可直接调用,不重新推导命令。底座是回顾:压缩时原文落盘,按自然日衰减后仍可通过工具按工作区搜索并读回,也是「将之前会话的流程总结成工具」的原料来源。
脚本固存¶
和笔记式总结的差异¶
模型擅长把流程写成 Markdown,但产物不能执行;也常在现场重拼命令,每次略有不同。本插件保存的是脚本全文——当初跑通时的字节级副本,参数顺序、入口文件、步骤声明一并写入 toolScript.json 与 _index.json,执行时按 argv 数组传递、不经 shell 拼串。
产物目录结构¶
数据落在 $DSH_HOME/session-memory/toolSequence/:
_index.json # id、标题、用途、入口、参数、步骤、每文件 sha256
<id>/
toolScript.json # 脚本全文、docs、hashes、provenance
<脚本文件> # .sh / .js / .mjs / .cjs / .ps1 / .bat / .cmd
README.md
<说明>.md # 只读说明,不参与执行
_runs/ # 每次执行的完整 stdout/stderr 日志
装好后,系统提示词末尾会出现「工具组」清单(每条含 id、用途、入口、参数),模型无需你重复提醒有哪些工具。
怎么触发封存¶
对模型说下面之一即可,由模型调用对应 DSH 工具:
| 你说 | 行为 |
|---|---|
| 将上述流程总结成工具 | 固化当前会话刚跑通的步骤 |
| 将之前会话的流程总结成工具 | 先 session_tool_create_read 从回顾读原文,再封存 |
前提是命令链真的跑通过;写入的是成功的那份,不是草稿。
执行相关工具¶
| 工具 | 作用 |
|---|---|
session_tool_create_write |
封存一条链 |
session_tool_create_read |
只读回回顾原文(含工具调用与结果) |
session_tool_call |
按清单原状执行;dryRun: true 只回显;不带参数时列出全部工具 |
跑前会比对清单中的 sha256;手改脚本后默认拒绝,除非 allowDrift: true。支持 bash、node、powershell、cmd 等解释器;整组工具可导出为 toolSequence.zip(store)并在预览后导入。
上下文回顾¶
回顾解决的是压缩后细节丢失:DSH 发生压缩时,被压掉的事件当场写成回顾文件(纯代码路径,无额外模型调用),工具调用与参数原样保留。
使用前须在设置里打开总闸:
- 设置 → 工具(脚本)管理 → 选项 → 打开「自动回顾」(默认关闭;关闭则不产生回顾,跨会话固存也缺少原料)。
回顾按本地日历日做四级衰减:压缩当天可见原文层 → 次日摘要 → 约 3–28 天日记 → 29 天起关键词索引;本工作区自有的那份在被读回时可加深并锁定。搜索顺序为本工作区 → 子级 →(需许可)平级与上级。
相关工具在「自动回顾」打开后才注册:
| 工具 | 作用 |
|---|---|
session_mem_read |
用线索 need 找一条命中回顾 |
session_mem_write |
读原文区、写关键词与日记 |
回顾与固存的关系可以概括成:回顾是跨会话、换机器时 session_tool_create_read 的原料库。
安装与启用¶
在 DSH 插件管理器中添加本包(包名、本地绝对路径、tarball 或 Git 地址均可)。--profile 必填,例如 web:
dsh plugin --profile web add dsh-seal-scripts
本地开发目录会以 link 形式登记:
dsh plugin --profile web add /path/to/dsh-seal-scripts
也可在设置 → 插件 → 添加中填写来源。装完后重开 profile / 重开 DSH;设置里出现 工具(脚本)管理 即表示加载成功。
典型用法¶
按 README 快速开始,顺序如下:
- 打开「自动回顾」(若需要跨会话封存或回顾能力)。
- 在当前会话跑通一套你以后会再用的命令链。
- 对模型说:「将上述流程总结成工具」。
- 新会话中直接:「跑一下 \<id>」;若只想看命令不执行,可加「先看看命令别执行」。
示意对话(输出为文档示例,非实测日志):
你:把刚才这套打包流程存成工具
模型:(调用 session_tool_create_write)已装好工具脚本 dsh-plugin-pack,目录 …/toolSequence/dsh-plugin-pack
入口 pack.sh,参数 source_dir out_dir,下一轮装配后进入系统提示词。
(新会话)
你:跑一下 dsh-plugin-pack,源码目录是 /sdcard/Download/dsh-seal-scripts-0.4.6
模型:(调用 session_tool_call)exit 0,N 个文件,sha256 与清单一致
数据备份可拷贝 $DSH_HOME/session-memory/ 下的纯文本文件。宿主缺某块能力时插件会按 README 说明降级关闭对应功能,而非整页崩溃。
适用场景与注意¶
适合谁
- 经常在 DSH 里反复执行同一套打包、抓页、转码、SSH 流水线,且希望命令与成功时一致。
- 长会话、多轮压缩,仍需要把旧对话里的工具调用细节找回来,或从旧回顾固化成工具。
- 需要在机器或会话之间搬运一整组工具脚本(导出 zip / 导入预览)。
安装与运行前请注意
- 插件通过 DSH 调用脚本,以当前 DSH 进程的用户与权限执行;封存的内容会直接跑在你机器上,安装前应阅读 源码与 LICENSE(MIT)。
- 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态奉行「一切皆插件」,本包是社区维护的工作流类插件。
- 「清单词刷新时刻」默认为新会话开始前取一次工具列表;当前会话内新装的工具若未刷新档位,可能要到下一轮会话才进系统提示词——README 对「会话内实时刷新」有说明。
- 已知限制以 README「已知限制」一节为准;导入 zip 不支持 zip64 与加密包等约束见官方文档。
结尾¶
dsh-seal-scripts 把「跑通一次」和「以后还能原样跑」绑在同一份脚本与 sha256 清单上,并用压缩时落盘的回顾补上上下文被剪掉后的缺口。若你的工作流主要在 DSH 智能体里演化,值得先试安装与「自动回顾」,再封存一条你已在当前会话验证过的短链。
- 社区目录:https://www.skillhub.cn/plugins/gosutry/dsh-seal-scripts
- GitHub:https://github.com/gosutry/dsh-seal-scripts