前言¶
在長對話裏做智能體開發時,歷史消息會不斷進入模型的可見上下文,佔 token、干擾後續推理。新建會話能「斷上下文」,但會丟掉同一個 session 裏的工作區歸屬、側邊欄位置和完整持久化日誌。DeepSeek Harness(DSH)以插件方式擴展能力;dsh-clear-command 在單個會話內提供 /clear,只清空模型可見歷史,不刪除會話本身。
這是什麼¶
dsh-clear-command 是本地 DSH bundle:註冊全局命令 clear,在 Web 編輯器斜槓菜單與各 session 的 CLI 合成命令界面中均可使用 /clear。維護者爲 liufeicc,在 SkillHub 分類爲「記憶」;當前包版本爲 1.0.0(以倉庫 package.json 與目錄頁爲準),MIT License。
核心功能¶
下面介紹插件登記的能力與行爲邊界,均來自項目 README。
命令註冊¶
- 通過
cordis.patch.yml插入一條 Host 行,向 DSH 註冊全局clear命令。 - 實現集中在
index.js:命令註冊與 surface 替換邏輯。
/clear 做了什麼¶
- 清空模型可見歷史:智能體不再看到此前任何用戶與助手消息;下一次請求從 system prompt 加一行標記開始。
- 會話不變:同一 session id、標題、工作區成員關係、側邊欄位置;持久化日誌完整保留。這是 clear,不是 delete,也不是新建 session。
- 與
/compact同類機制:一次按位置的 surface 替換寫入 session log,重載與回放行爲確定。 - 界面與模型所見分離:Web transcript 由 append-origin 日誌事件推導,屏幕上仍可閱讀更早消息;僅模型側上下文被清空。
- 空閒階段執行:在 agent 的
runMaintenance階段運行(與手動 compact 同類預留)。若當前有 turn、排隊喚醒或其他維護任務佔用 agent,命令會報告狀態且不修改內容。 - 可審計:調用以普通
command/run與command/done記入 session log,transcript 中顯示爲命令行。
保留與限制¶
- 首部
system/messagesurface 節點保留(智能體指令);其後的內容被 shadow。 - 進入模型上下文的標記行爲英文(
[Earlier conversation cleared by the user; …]);命令面向用戶的文案爲簡體中文,與 bundle 自帶 UI 語言一致。 - 不操作已歸檔會話、其他會話或其文件。
安裝與啓用¶
已抓取資料中未給出形如 dsh plugin add … 的固定 Shell 安裝命令;SkillHub 目錄頁表述爲通過 DSH 安裝插件 liufeicc/dsh-clear-command。安裝前應在 GitHub 閱讀源碼與 LICENSE,並牢記插件以當前 dsh 進程權限運行。
本地開發時,README 說明在 profile 的 package.json 中用 link: 指向本插件目錄;Host 代碼由 Loader 加載,修改後需重載對應 Host 行(profile 重啓),不像部分 client 側插件那樣依賴 dsh-client-hmr 熱更新。
倉庫主要文件:
index.js # 插件主體
cordis.patch.yml # Host 行補丁
locale/{en,zh}.json # 插件管理器展示元數據
icon.svg
test/clear-contract.mjs
典型用法¶
在已啓用該 bundle 的 DSH 環境中,於任意 session 的命令界面輸入:
/clear
當 agent 處於空閒維護階段時,上述命令會執行 surface 替換;若 agent 正忙,則按 README 描述不會改動上下文。
離線契約測試(開發/驗證用):
node test/clear-contract.mjs <log.jsonl.zstd>
測試會解壓真實 session 日誌(例如 ~/.dsh/sessions/**/session.v*.jsonl.zstd),在 detached Session 上重放並打印替換後的 surface 與推導出的模型消息。
適用場景與注意¶
適合:需要在同一 session 內「給模型換一個乾淨上下文」、但又要保留會話標識、工作區與工作記錄的場景;與記憶類工作流搭配時,可區分「人可讀完整日誌」與「模型當前所見」。
注意:
- 僅影響當前會話的模型上下文,不替代會話管理或歸檔策略。
- 執行時機依賴 idle 維護階段,忙碌時調用無效且無靜默副作用以外的結構變更。
- 社區目錄 SkillHub 爲獨立站點,與 DeepSeek、幻方無官方從屬關係;插件來源爲 GitHub
liufeicc/dsh-clear-command。
結尾¶
dsh-clear-command 用一條 /clear 在會話內做確定性的模型上下文重置,會話與日誌仍在。目錄頁:https://www.skillhub.cn/plugins/liufeicc/dsh-clear-command;源碼與詳細行爲說明:https://github.com/liufeicc/dsh-clear-command。