前言¶
在 DSH 的智能體流程裏,有些模型調用並不需要進入主 Session 的正式 transcript,但仍然需要調用、限制、取消,並且要能單獨統計用量。比如 Clarify 類工具可能需要生成上下文問題、選項和演進的 Draft 預覽,SeekTTY 類工具可能需要在 /status 裏分別展示官方用量、輔助用量和合計用量。
如果這些輔助調用全部混入官方 tokenUsage,來源就不清楚了;如果沒有併發和總 token 限制,主 Session 的運行面也會變得難控制。下面介紹 dsh-plugin-auxiliary-runtime,它把這類輔助模型調用放在一個可取消、可限制、可審計的運行時裏,並維護一份獨立於官方 tokenUsage 的用量賬本。
這是什麼¶
dsh-plugin-auxiliary-runtime 是 DeepSeek Harness(DSH)的社區 Host 插件,由 Hilbert-beinghappy 維護,許可證爲 MIT。當前版本爲 0.1.1。
它解決的問題可以概括爲三點:
1、把可取消的輔助模型調用綁定到已經存在的 live Session。
2、按 Session 做策略限制,而不是讓輔助調用無限併發或無限消耗 token。
3、把輔助調用的用量記錄到官方 storageDomain 中,形成與官方 tokenUsage 分開的賬本。
Clarify 和 SeekTTY 可以作爲可選消費者使用它,但它們不是安裝要求。
核心功能¶
可取消的輔助模型調用¶
插件支持可取消的輔助模型調用。調用綁定到一個已經存在的 live Session,並且屬於 no-tools 輔助模型調用。
取消不是簡單丟棄請求。運行時通過 AbortController 組合調用方信號和服務信號,使取消路徑與 provider 調用路徑保持一致。
准入與流式輸出邊界¶
輔助調用在 provider metadata 已經物化之後、streaming 開始之前進行 token-limit admission。
成功 live 調用會把模型文本臨時返回給同進程調用方。返回內容按流順序拼接,並且被限制在 65,536 個 UTF-16 code units。
terminal replay 返回持久化的狀態和用量,並帶有:
replayed: true
output: null
如果調用方需要新的文本,需要發起新的調用,而不是依賴 replay 返回新的模型輸出。
per-Session 策略限制¶
插件支持 per-Session policy limits,配置項包括:
maxConcurrentCalls
maxCallsPerSession
maxAuxiliaryTotalTokens
這些限制用於控制同一 Session 內輔助調用的併發數、調用次數和輔助 token 總量。
三來源用量視圖¶
插件提供三種來源不同的用量視圖:
| 視圖 | 含義 |
|---|---|
Official |
官方 Host tokenUsage 投影。 |
Auxiliary |
本插件維護的 auxiliary_runtime 賬本。 |
Combined |
供消費者查看的合計值,不進入官方投影。 |
用量按四個分桶記錄:
uncachedInputTokens
outputTokens
cacheReadTokens
cacheWriteTokens
Combined 值用於消費端合計展示,並且保持獨立於官方 tokenUsage。
持久化賬本¶
賬本使用官方 storageDomain:
auxiliary_runtime
version 0
其中包含兩張表:
calls
policies
持久化行用於保存調用和策略記錄。它不包含 prompts、messages、system text、model output、custom answers、credentials、environment values 或 filesystem paths。
失敗記錄只保存歸一化後的:
{ category, code }
版本 0 會保留 audit rows,並在達到 10,000 rows 時拒絕新的輔助調用。
Session fencing¶
記錄通過 Session id 和 session.header.createdAt 做 fencing。如果複用同一個 Session id,也會按新的 usage 和 policy identity 開始。
這個設計避免了複用 Session id 時把舊用量和舊策略混進新生命週期。
Fail closed¶
以下情況會 fail closed,避免在狀態不完整時繼續 dispatch:
- missing Host services
- missing live Session
- domain version mismatch
- invalid stored records
安裝與啓用¶
已覈實材料未提供官方安裝命令,因此本文不給出安裝命令,也不根據倉庫名拼接 dsh plugin add 一類的命令。
啓用前先確認 Host 版本。當前版本爲:
0.1.1
測試的 Host 版本包括:
0.1.0-rc.8
0.1.1-rc.2
其中 testedHost 爲:
0.1.1-rc.2
支持的部署形態是:
one Host process per DSH_HOME
插件以當前 DSH 進程權限運行。安裝前應檢查源碼、許可證和倉庫構建流程。
典型用法¶
官方 web Typert remotes¶
官方 web Typert 可以調用以下 remotes:
auxiliary-runtime/snapshot
auxiliary-runtime/cancel
這些 remotes 在 stock Host 0.1.1-rc.2 上可用。
auxiliary-runtime/snapshot 用於讀取快照,auxiliary-runtime/cancel 用於取消輔助調用。
同進程 run 服務¶
run 服務在同進程內可用,並且保持私有,不開放給其他 Host 插件。
這意味着其他 Host 插件不能直接複用同進程 run 服務來發起輔助調用。
Clarify 可選用法¶
Clarify 可以使用 Auxiliary Runtime 的同進程 run 服務,在主 Session transcript 之外生成:
- 上下文問題
- 選項
- 演進的 Draft 預覽
這裏的關鍵是“在主 Session transcript 之外”。Clarify 的問答和 Draft 預覽不需要被寫成主會話的正式 transcript。
SeekTTY 可選用法¶
SeekTTY 可以消費只讀快照,並在能力健康時於 /status 中展示:
Official
Auxiliary
Combined
這個用法適合需要在終端狀態裏區分官方用量、輔助用量和合計用量的場景。
適用場景與注意¶
適合使用這個插件的場景包括:
1、需要在 DSH 裏做 no-tools 輔助模型調用。
2、需要把輔助調用綁定到已有 live Session。
3、需要按 Session 限制併發、調用次數和輔助 token 總量。
4、需要區分 Official、Auxiliary 和 Combined 用量。
5、需要在 /status 或快照中查看輔助運行時狀態。
需要注意的邊界包括:
- 它不替代主 Session 的正式模型路由。
Clarify和SeekTTY是可選消費者,不是安裝要求。- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
- 已覈實材料未提供官方安裝命令,本文不猜測安裝命令。
Combined用量是消費端合計值,不進入官方tokenUsage投影。
鏈接¶
已覈實材料未提供目錄頁 URL,本文不猜測目錄頁地址。
GitHub 倉庫:
https://github.com/Hilbert-beinghappy/dsh-plugin-auxiliary-runtime