dsh-session-autarchive:按最後活動時間自動歸檔長期未用的 DSH 會話

前言

在 DeepSeek Harness(DSH)里長期開發時,側欄會積累大量會話。手動逐條點「歸檔」費時,全部留着又佔列表。若你只想把「很久沒再寫過消息」的會話收進歸檔列表、又希望置頂或個別會話永遠不動,就需要一條可配置的本地規則。dsh-session-autarchive 由社區維護者 taoziliyouchong 發佈,分類爲工作流,專門做這件事:按會話檔最後寫入時間判定,默認超過 5 天且不在保護範圍內的會話走官方歸檔通道,不是刪數據。

這是什麼

dsh-session-autarchive 是 DSH 插件,自動歸檔長期沒有活動的會話。判定依據是 $DSH_HOME/sessions/<工作區>/session-* 目錄內最新文件時間;已歸檔、在「不自動歸檔」名單裏、以及默認豁免的置頂會話都會跳過。側欄可對單條會話右鍵標記,通用設置裏可改天數。歸檔調用宿主官方的 archiveSession,歸檔後可在側欄歸檔列表中恢復。

維護者:taoziliyouchong。源碼與說明見 GitHub 倉庫;社區目錄頁:skillhub.cn 插件頁。DSH 生態採用「一切皆插件」思路,skillhub.cn 爲獨立社區目錄,與 DeepSeek / 幻方無官方從屬關係。

界面上的三處入口

插件在瀏覽器半邊通過 ctx.slots 掛四個座位,日常用法如下。

位置 作用
會話右鍵菜單 與「置頂會話/重命名/分叉會話/歸檔會話」並列的一行「不自動歸檔」;點一次標記,再點一次取消
會話行首 被標記的會話多一個小盾牌,表示不會被自動歸檔
懸停卡片 一行「不會被自動歸檔」文字說明
通用設置 最底一行「自動歸檔天數」;失焦或回車即保存,與宿主同一配置字段

服務探測使用 ctx.get,拿不到對應服務時會跳過該入口,不影響其他功能。

判定與執行

判定:掃描各工作區下的 session-* 目錄,用目錄內最新文件時間作爲「最後活動」。超過閾值(默認 5 天)、未歸檔、不在保護名單、且非置頂(置頂豁免默認開啓)的會話進入待歸檔列表。

執行:宿主每 10 分鐘跑一輪(啓動約 60 秒後第一次,窗口未打開也會執行)。瀏覽器半邊每 5 分鐘拉一次待歸檔清單,在具備官方歸檔通道時當場歸檔並刷新側欄。判定只讀本地文件時間,不聯網、不上傳內容。

若宿主側沒有 workspaceRegistry 服務,宿主只能列出待歸檔會話、無法自行歸檔,此時由瀏覽器半邊走官方通道執行。

安裝與啓用

下面命令來自倉庫 README,profile 名請按你的環境替換 desktop:

dsh plugin --profile desktop add github:taoziliyouchong/dsh-session-autarchive

安裝完成後重啓 DSH。package.json 中 engines 聲明 DSH 版本爲 >=0.2.1-rc.5 <0.3.0-0,README 寫明在 0.2.1-rc.5 實測通過,0.3 起不保證兼容。

發佈到 npm 後也可使用:

dsh plugin --profile desktop add dsh-session-autarchive

注意:插件默認開啓,閾值爲 5 天。 裝好即會按此口徑歸檔。若要先觀察或暫時關閉,可通過工具改配置:

# 工具 dsh-session-autarchive,action=config,enabled=false

插件以當前 DSH 進程權限運行本地文件與 API;安裝前建議瀏覽源碼與 MIT 許可證,確認符合你的安全預期。

工具 dsh-session-autarchive

工具名 dsh-session-autarchive,支持五個 action:

action 做什麼
status(默認) 配置摘要、當前待歸檔會話、保護名單、最近一次執行
run 立刻歸檔當前待歸檔會話;dryRun: true 只列清單不執行
protect 標記單個會話「不自動歸檔」(需 sessionId)
unprotect 取消標記
config 修改 days(天數)、enabled(開關)、exemptPinned(置頂是否豁免)

典型用法:先用 status 或 run 且 dryRun: true 看清候選列表,再決定是否 run;長期不動的會話用側欄右鍵或 protect / unprotect 維護名單。

數據文件

數據均在 $DSH_HOME/session-autarchive/:

文件 說明
protected.json 保護名單唯一來源,僅由 protect / unprotect 寫入;定時歸檔鏈不會改寫
state.json 開關、閾值、置頂豁免、最近一次執行結果;不存保護名單
audit.log 名單改動與每輪歸檔一行一條,便於按時間排查

寫入採用臨時文件加改名;讀盤失敗會重試,避免半截文件被當成空名單後覆蓋默認值。

適用場景與注意

適合:會話多、希望側欄只保留近期在寫的線程,又需要保留置頂或指定會話不被規則碰到的 DSH 用戶。

務必注意:

  • 只掃描 $DSH_HOME/sessions 下的會話檔,不在該目錄的會話不參與判定。
  • 不要與另一個自動歸檔插件同時安裝;同一組界面座位只能掛一份,重複安裝會出現兩行菜單和兩行設置。
  • 默認開啓且 5 天閾值;想先觀察可將 enabled 設爲 false,或把 days 調大。
  • 宿主本機路由僅接受迴環地址(127.*、::1 等),遠程訪問返回 403。

結尾

dsh-session-autarchive 把「按最後活動時間自動歸檔、可標記例外、可調天數」做成安裝即用的工作流插件,歸檔走官方 API,數據留在本地。進一步瞭解可打開 社區目錄頁 與 GitHub README。

羽毛球分组比赛记分
小程序二维码

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

小夜