前言¶
DeepSeek Harness (DSH) 採用了插件化架構,這使得擴展功能變得靈活。在構建智能體應用時,AI 往往處於“永遠在線”的狀態。dsh-ai-curfew 插件將這種狀態改寫爲“按班表工作”。它通過兩個獨立的邏輯軸控制 AI 的行爲:一個是基於時段的“峯谷班表”,另一個是基於時間的“宵禁曲線”。插件會取兩者中更嚴格的一條規則生效。
核心功能¶
該插件通過 llm/stream waterfall 的短路機制實現下班控制,核心行爲如下:
- 行爲階段:AI 的狀態分爲“上班中”(滿血)、“打烊倒計時”(maxTokens 2048→64)、“已下班”(只回“。”)和“熄燈”(只回“明天再說。”)。
- 成本控制:下班後不再發起 API 請求,實現 0 token、0 成本和毫秒級返回。
- 雙重控制軸:
- A 峯谷班表:高峯時段不上班,低谷時段上班(如工作日的特定時段)。
- B 宵禁曲線:到點後預算沿錨點表從 2048 滑到 64。
- 取誰更嚴誰生效。
- 短路回覆:下班回覆不觸網,直接合成流式輸出,避免因請求失敗導致用戶看到“AI 死了”的情況。
- 靈活性:閘門 A 可以單獨關掉,退化成純宵禁插件。
安裝與啓用¶
DSH 通過 profile 隔離插件環境。請將 --profile desktop 替換爲你實際使用的 profile。
從 GitHub 安裝(推薦固定版本):
dsh plugin --profile desktop add github:qiz42144-web/dsh-ai-curfew#v0.1.0
從本地目錄安裝(用於開發調試):
dsh plugin --profile desktop add link:/絕對路徑/ai-curfew
配置文件位於 $DSH_HOME/dsh-ai-curfew/config.json。修改後按 mtime 熱讀生效,無需重啓 DSH。
配置說明¶
配置文件支持以下鍵值(其餘走默認值):
{
"enabled": true,
"timezone": "Asia/Shanghai",
"wakeUp": "09:00",
"curfewStart": "23:00",
"lightsOut": "03:00",
"peakShift": true,
"offDutyReply": "。",
"lightsOutReply": "明天再說。",
"anchors": [23, 2048, 24, 64],
"curve": "linear",
"debugNow": "01:30"
}
anchors:預算錨點表,格式爲[時刻, tokens]。curve:插值方式,支持linear(線性)、step(階梯)、easeIn(先穩後崩)。debugNow:時間機器功能,可手動指定時間進行測試。
使用方式¶
插件提供了一系列命令行指令,不經過模型,確保在下班狀態下也能使用。
/curfew:查看當前判定、預算與依據。/curfew overtime 30m:強制加班 30 分鐘(暫停宵禁,期間正常上班)。/curfew off:立刻下班。/curfew auto:恢復自動班表(取消加班、強制下班和時間機器)。/curfew debug HH:MM:時間機器,測試任意時段。/curfew debug clear:回到真實時間。
術語說明:插件中“加班”指的是你命令 AI 加班,而不是 AI 請求請假;off 指令只管“AI 下班”,不兼職表示“關閉宵禁”。
注意事項¶
- 尚未發佈到 npm:目前只能通過 GitHub 安裝。
- 重啓生效:改完代碼後需要重啓 DSH 才能生效。
- 默認關閉 safetyMaxTokens:下班回覆由插件邏輯直接生成,無需額外硬上限。若自行開啓,需根據模型的 reasoning effort 調整,否則可能導致請求失敗。
- 權限:插件以當前 DSH 進程權限運行,安裝前建議檢查源碼與許可證。