T约束(dsh-tlock):给每轮生成装上 token 与时间双闸

前言

在 DSH 裏讓模型寫草稿或答一個問題,有時一輪會拉得很長:輸出字數失控,或在工具調用鏈裏一路改到半個項目。宿主側往往要等服務結束才能收束,開跑前也很難用一句話說清楚「寫到這兒就停」。

T約束(dsh-tlock)是面向 DSH 桌面工作流的一類插件:按 token 或按時間爲「當前這一輪」設硬上限,到量或到點調用取消並可選歸檔;還可從斷點繼續生成。下面按安裝、配置與歸檔結構說明用法與邊界。

這是什麼

T約束(包名 dsh-tlock,當前版本 0.3.2)由維護者 FenrisGe-RIS 發佈,歸類爲工作流插件,採用 MIT 許可。形態爲 DSH 插件(宿主 lib/index.mjs + Web 客戶端 lib/client.js),無獨立桌面程序;運行環境要求 DSH ≥ 0.2.1、Node ≥ 22,不引入第三方運行時依賴。

社區目錄頁:skillhub 上的 dsh-tlock。源碼與文檔:GitHub FenrisGe-RIS/dsh-tlock。DSH 生態強調「一切皆插件」;SkillHub 爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。

核心功能

雙閘:到量即斷、到點即斷

閘 量程 精度
Token 5 千 ~ 100 萬 / 輪 流式過程估算,嘗試結束時校準
時間 1 分鐘 ~ 2 小時 / 輪 從按下發送起計(含工具調用耗時)

達到上限 80% / 90% 時會詢問是否繼續;選「到此爲止」立刻斷,選「繼續」則不再打擾。硬斷在安全點生效:正在執行的工具調用不會被強行截斷,在下一個可中斷點停下。

面板與發送前確認

DSH 頁面右下角有 46px 黑色懸浮球(僅頁面內,不在系統桌面),點開爲可拖動的面板,位置會記住。硬斷時邊框變爲橙色,提示有待處理的輪次。

面板頁籤包括:約束模式(滑條、歸檔模式、進度、繼續/結束)、歷史歸檔瀏覽與清單、設置(插件開關、懸浮球、面板尺寸、中/英等)。

約束默認關閉時,按發送會先問「要不要開約束」;確認後開啓並彈面板,若不開可再按一次 Enter 直接發送。

Token 與時間各有一條滑條,刻度可吸附(如 token:5 千 / 5 萬 / 20 萬 / 40 萬 / 70 萬 / 100 萬;時間:1 / 10 / 30 分鐘,1 / 1.5 / 2 小時),也可手動輸入任意合法值。用量進度條爲綠色,便於對照本輪消耗。

歸檔

斷檔後若開啓歸檔,會在桌面創建目錄,結構示例:

桌面\DSH限定生成內容\token限定版\20261107-214503_重構登錄模塊\
├── 生成說明.md
├── 完整記錄.md
├── 完整記錄.json
└── meta.json

archiveMode 支持 brief(生成說明)、full(完整記錄 md/json)、both(二者加 meta.json)。可點「解除歸檔」:到量仍斷,但不寫文件。

本地行爲與數據

按 README 說明,插件不聯網、不上報;主要依賴 Node 內置模塊,讀會話事件算用量、調用 agent.cancel() 斷生成、將歸檔寫入桌面。設置與狀態落在 %USERPROFILE%\.dsh\storages\dsh-tlock\(如 settings.json),修改後約 500ms 內生效,無需重啓 DSH。

安裝與啓用

推薦從 GitHub 拉取指定版本安裝:

# 安裝(從 GitHub 拉取,推薦)
dsh plugin --profile desktop add https://codeload.github.com/FenrisGe-RIS/dsh-tlock/tar.gz/v0.3.2

也可從 Releases 下載壓縮包並按倉庫說明安裝。本地開發可用:

dsh plugin --profile desktop add file:C:/path/to/dsh-tlock

安裝後重啓 DSH 或刷新頁面,右下角應出現懸浮球。點開面板設定本輪 token / 時間上限後關閉面板,照常提問即可;到量會硬斷、可選歸檔並詢問是否繼續。

配置項

設置鍵與默認值(見 settings.json):

鍵 默認 說明
enabled true 插件總開關
tokenLimit 20000 每輪 token 上限(5000 ~ 1000000)
timeLimitSec 300 每輪時間上限(60 ~ 7200 秒)
archiveEnabled true 是否歸檔
archiveMode brief brief / full / both
warnPct [0.8, 0.9] 預警閾值
ball true DSH 內懸浮球
panelSize m 面板尺寸 s / m / l
lang zh zh / en

典型用法

  1. 安裝並刷新 DSH,確認懸浮球出現。
  2. 在「約束模式」拖動滑條或手動輸入本輪 token / 時間上限,選擇歸檔模式。
  3. 發送問題;接近 80% / 90% 時按需選擇繼續或停止。
  4. 硬斷後到桌面 DSH限定生成內容 下查看對應文件夾;需在面板內繼續時選「繼續生成」。

與 dsh-ration 可同時使用,二者獨立計量;README 稱需要更嚴格時可同時開啓,T約束 的閘會先觸發。

適用場景與注意

適合誰:需要在一輪對話內封頂輸出規模或牆鍾時間、並保留斷點快照的 DSH 桌面用戶;長任務裏工具調用多、時間閘常先於 token 閘觸發的情況,README 有明確說明。

權限與安全:插件以當前 DSH 進程權限運行,歸檔寫入用戶桌面目錄。安裝前宜自行查看源碼與 MIT 許可證,確認符合環境策略。

已知邊界(摘自官方文檔):

  1. Token 爲 quasi 實時,流式階段用字符估算,實際可能略超上限一個嘗試的量級。
  2. 時間含工具調用;子代理、後臺任務不計入父輪,需單獨發消息開新輪。
  3. 上限是每輪 ceiling,不是必須寫滿;短答會早停,下一輪重新計量。

結尾

T約束在 DSH 裏爲「當前這一輪」提供 token 與時間雙閘,斷檔內容可本地歸檔並繼續生成,適合把失控的長輪次收束在可預期的邊界內。

  • 目錄頁:https://www.skillhub.cn/plugins/FenrisGe-RIS/dsh-tlock
  • 倉庫:https://github.com/FenrisGe-RIS/dsh-tlock
羽毛球分组比赛记分
小程序二维码

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

小夜