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
羽毛球分组比赛记分
小程序二维码

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

小夜