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 无事可做
羽毛球分组比赛记分
小程序二维码

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

小夜