nightshift:無人值守運行的審計門控

前言

DSH 生態中的現有工具(如 ctx-budget、blastradius、rewind)通常針對單一時刻或特定狀態。當智能體無人值守運行數小時時,目標可能會漂移,預算可能會耗盡,或者步驟可能會靜默失敗。nightshift 作爲一個層,在執行期間守護這些契約。

介紹

運行一個代理數小時無人值守,並在早上獲得一份審計報告而非摘要。

核心功能

  1. Manifest 簽名:在開始前定義 objective(目標)、deliverable(交付物)、acceptance(驗收標準)、forbid(禁止模式)和 command(執行命令)。
  2. 檢查點與回滾:在驗證失敗時自動回滾。
  3. 審計報告生成:基於運行日誌渲染報告,而非摘要。
  4. 門控控制:在執行前攔截 forbidden patterns(禁止模式)、irreversibility class(不可逆類)和 curfew(宵禁)。
  5. 退出碼翻譯:與兄弟插件(如 ctx-budget、blastradius)通信。

安裝與啓用

使用官方安裝命令將插件添加到當前配置:

dsh plugin --profile web add github:liyixuan201211/nightshift

典型用法

在項目目錄下執行以下步驟:

  1. 初始化:簽署 Manifest,定義工作目標與約束。
   nightshift init --root ~/work --objective "finish the auth refactor and get the suite green" --deliverable "npm test passes" --accept "tests=npm test" --forbid "git push" --command "npm run build"
  1. 預檢:在開始前檢查環境是否滿足條件,是否允許啓動。
   nightshift preflight --root ~/work
  1. 執行:運行具體命令,並在失敗時自動回滾。
   nightshift step --root ~/work --verify "npm test" -- npm run build
  1. 驗收:對當前狀態進行驗收檢查。
   nightshift acceptance --root ~/work
  1. 生成摘要:生成審計報告,而非摘要。
   nightshift brief --root ~/work

關鍵行爲與限制

  • 定位:它不決定做什麼,只是堅守已決定的事項;它不是調度器,也不提供沙箱隔離。
  • 資源獲取:它不主動獲取內容,除非通過 --allow-npx 顯式允許。
  • 報告質量:審計報告的質量取決於驗收檢查的完備性。
  • 依賴:需要 Node.js 版本 >= 20。
  • 日誌存儲:日誌保存在 rewind 目錄內,且 rewind 調用必須包含 --exclude .nightshift 以避免污染快照。

退出碼說明

插件通過翻譯後的退出碼與外部系統交互:

退出碼 含義
0 正常完成
1 錯誤
2 用法錯誤
3 需要關注(預檢警告或步驟失敗並回滾)
4 被拒絕(門控攔截,未執行任何操作)
5 降級運行(部分檢查無法執行)
6 無事可做
羽毛球分组比赛记分
小程序二维码

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

小夜