前言¶
在 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