dsh-seal-scripts:把跑通的命令链封存成可重跑工具

前言

在 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 发生压缩时,被压掉的事件当场写成回顾文件(纯代码路径,无额外模型调用),工具调用与参数原样保留。

使用前须在设置里打开总闸:

  1. 设置 → 工具(脚本)管理 → 选项 → 打开「自动回顾」(默认关闭;关闭则不产生回顾,跨会话固存也缺少原料)。

回顾按本地日历日做四级衰减:压缩当天可见原文层 → 次日摘要 → 约 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 快速开始,顺序如下:

  1. 打开「自动回顾」(若需要跨会话封存或回顾能力)。
  2. 在当前会话跑通一套你以后会再用的命令链。
  3. 对模型说:「将上述流程总结成工具」。
  4. 新会话中直接:「跑一下 \<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
羽毛球分组比赛记分
小程序二维码

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

小夜