用途:Nightshift 是面向 Hermes Agent 的自主夜间代码质量机器人,在配额重置前自动扫描仓库并执行代码质量、分析、文档等任务,产出 PR 或 GitHub issue。
主要能力:共 69 种任务,分 7 类——pr(24)、analysis(18)、options(13)、safe(5)、map(7)、emergency(3)、review(1)。26 个任务创建 PR(实际代码/产物改动),43 个任务创建 issue(发现、报告、建议),由 output_mode 字段决定输出类型。采用计划-实现-审查三阶段架构:计划阶段输出 JSON(steps/files/description),实现阶段执行计划并在迭代时带入审查反馈,审查阶段校验正确性并输出 {passed, feedback, issues},失败则回退实现,最多 3 次迭代。含成本分级(low/medium/high/very_high)与预算跟踪。
使用方式:状态存于 ~/.nightshift/,工作区 ~/nightshift-workspace/。常用命令:python3 ~/nightshift-workspace/nightshift.py --list-categories、--list-tasks、--dry-run,以及 python3 ~/nightshift-workspace/glm_quota.py --check。模型为 GLM 5.1(api.z.ai,model ID: glm-5.1)。cron 每 15 分钟触发,但仅在实际运行窗口(配额重置前 5-50 分钟)执行。PR 任务用 git -c user.name="Nightshift" -c user.email="contact+nightshift@micr.dev" 提交,且 gh pr create 需 --head BRANCH_NAME;issue 任务用 gh issue create,不提交文件、不建分支。
适用场景:公开仓库的夜间自动化代码质量维护、文档补齐、依赖更新、测试缺口分析、安全与隐私扫描等。
限制:rm -rf 被禁用,需用 shutil.rmtree();不允许格式化工具和新依赖;safe 类任务成本高(500k-1M tokens)需谨慎;emergency 任务有 4 周冷却;GLM 5.1 计划阶段可能输出非 JSON,需回退手动分析;nightshift.py 克隆操作可能超时;大单文件仓库会耗尽 delegate_task 迭代;需注意任务与仓库技术栈兼容性。配置项、收费与价格信息暂未提供。