最新资讯
dev.to Pando:OpenAI 如何通过放宽跨分支一致性,让 Git 支撑 Agent 速度的推送 dev.to 为能花钱或签发的 Agent 做威胁建模 dev.to Linux 本地提权:OpenAI 报告的 948 项发现 unite.ai NVIDIA 以 Vera CPU 对比 x86:聚焦 Agent 速度与能效容量 techmeme.com 消息称 NVIDIA 接触 Apollo,拟将 Brightspeed 的 130 多栋建筑改造为小型数据中心 thenewstack.io Factory 收购 HumanLayer,并称其为一个月内第三起 AI 编程初创收购 blogs.nvidia.com NVIDIA 称 Vera CPU 兼顾高吞吐与最快 Agent 性能 www.youtube.com Netflix 如何评估没有标准答案的 AI 任务 nytimes.com OpenAI 承诺让当地社区在数据中心项目中拥有更多话语权 unite.ai 约 60 万块 NVIDIA H200 因北京进口审批滞留香港 techcrunch.com Meta 称美国用户现可与 Muse AI 头像视频通话 theinformation.com Nvidia 应对数据中心阻力的变通方案:改造旧电话局建筑
多元动态
登录 注册
智能体 github.com · @KKKKhazix

agent-autoloop v1.2.0:新增状态查询、规则预演与备份恢复命令

原文 我的收藏

命令行 Agent 自动化中台 agent-autoloop 发布 v1.2.0,新增 status --json 输出原始状态供脚本和看板使用,rules explain 与 emit --dry-run 可在不连中台时预演规则和事件派发,backup/restore 支持中台运行时一致性备份(恢复需先停中台,备份含密钥)。修复飞书机器人无法修改他人身份消息时卡片状态停滞、交付插件遇 PR 落后 main 时提前结束本轮的问题。版本号改为仅写在 tag 上,MCP 和 ACP 上报版本修正为实际版本。

AI推荐理由 agent-autoloop v1.2.0 为命令行 Agent 自动化中台新增 status --json、rules explain、emit --dry-run、backup/restore 等命令,修复飞书卡片与交付插件问题,并明确版本号规则。对使用 Claude Code、Codex 等 CLI Agent 做后台任务调度的开发者有实际参考价值;但项目规模较小,发布说明未提供性能或可靠性验证。

62

正文

Official release notes (https://github.com/KKKKhazix/agent-autoloop/releases/tag/v1.2.0) 这一版加了几个命令,修了飞书卡片和交付插件的问题,版本号也有了写明的规则。 **新命令** - `agent-autoloop status --json`:输出 `/v1/state` 的原样结构,给脚本和看板用(#93,chenjie1129)。 - `agent-autoloop rules explain` 和 `agent-autoloop emit --dry-run`:不连中台,看规则生效的样子,预演一条事件会派给谁(#94,chenjie1129)。 - `agent-autoloop backup [目录]` 和 `agent-autoloop restore `:中台运行时也能做一致性备份,恢复要先停中台(#92,chenjie1129)。备份里有密钥,要和密钥一样保管。 **修复** - 飞书不让机器人改别的身份发的消息时,已经结束的卡片另发一条,不再停在回答之前的样子(#95,wuleiyuan)。 - 交付插件遇到 PR 落后 main 时,在这一轮内同步并接着走,不再结束这一轮等中台重试(#88,jasoncodevault)。 **版本号** - 版本号现在只写在 tag 上。`agent-autoloop --version` 显示 `v1.2.0`,比最新发布新的代码显示“未发布”。MCP 和 ACP 上报的版本也对了,之前一直是 1.0.0。 - 版本号怎么加、承诺不破坏什么,写在[协议](https://github.com/KKKKhazix/agent-autoloop/blob/main/docs/protocol.md#版本与兼容)里。 用 `agent-autoloop update` 更新。 --- This release adds a few commands, fixes Feishu cards and the delivery plugin, and writes down the rules for version numbers. **New commands** - `agent-autoloop status --json` prints `/v1/state` as it is, for scripts and dashboards (#93, chenjie1129). - `agent-autoloop rules explain` and `agent-autoloop emit --dry-run` show the rules in effect and preview who an event would go to, without contacting the hub (#94, chenjie1129). - `agent-autoloop backup [folder]` and `agent-autoloop restore ` take a consistent backup even while the hub runs; restoring needs it stopped (#92, chenjie1129). A backup holds your keys, so keep it as safe as they are. **Fixes** - When Feishu won't let the bot change a message sent under another identity, a finished card is sent again instead of staying as it looked before the answer (#95, wuleiyuan). - The delivery plugin syncs a PR that's behind main within the same run and carries on, instead of ending the run and waiting for the hub to retry (#88, jasoncodevault). **Version numbers** - The version number now lives only on the tag. `agent-autoloop --version` says `v1.2.0`, and code newer than the latest release says it's unreleased. MCP and ACP report the right version too; they had said 1.0.0 all along. - How the number moves and what it promises not to break is in the [protocol](https://github.com/KKKKhazix/agent-autoloop/blob/main/docs/protocol.md#版本与兼容). Update with `agent-autoloop update`. Repository README (current repository documentation, not release changes) # Agent Autoloop **让你的命令行 Agent 在后台自己接活、自己跟进到底;平时不烦你,遇到拿不准的事才发卡片找你拍板。** **中文** | [English](README.en.md) [上手](#上手) · [场景模板](#拿来即用的场景模板) · [插件](#插件体系四个方向都能自由替换) · [内核](#内核的四个机制) · [文档](#更多文档) ![架构图](docs/architecture.svg) ## 它解决什么问题? 平时我们用 Claude Code、Codex 这类命令行 Agent,大多是“人守着终端用”:你输一句话,盯着它跑,等它问你下一步;一旦关掉窗口或者人走开,事情就断了。 **Agent Autoloop** 是一个极轻量的自动化中台。它把任务调度做成一个零外部依赖的**内核**,把事件来源、Agent、通知通道,甚至代码上线流水线全部拆成可随时插拔的**插件**。 - **一台电脑、一条命令就能跑。** 装在你的 Mac 或 Linux 上,不用买云服务器,也不用开放公网端口。 - **一行配置接新 Agent。** 不需要 SDK,也不需要改 Agent 源码,能接收提示词并打印最后一条回复的命令行工具都能接。 - **没有后台界面。** 需要你拍板时把卡片推到飞书、钉钉、企微、Slack、Discord 或桌面通知;想看全局进展,敲一行命令。 ## 上手 支持 macOS 和 Linux。运行前需要装好 Node 24、Git、curl,以及任意一个你已经登录好的命令行 Agent,不需要 GitHub 账号。也可以直接把[安装说明](INSTALL.md)丢给你的 Agent,让它替你装好。 > **Windows 版:待定。** 很多朋友在问 Windows 版,我都看到了。我现在人在外面出差,手边没有 Windows 电脑,没法真机开发和测试,所以现在还不能在 Windows 上用。这个周末(11 月 7、8 日)回家后,我会把它开发完,做完兼容性测试,再正式推出。进度会更新在 [#17](https://github.com/KKKKhazix/agent-autoloop/issues/17)。 ```bash curl -fsSL https://raw.githubusercontent.com/KKKKhazix/agent-autoloop/main/install.sh | sh ``` 安装和 `agent-autoloop update` 都装最新的 [Release](https://github.com/KKKKhazix/agent-autoloop/releases),那是通过了全部检查的版本。 装好后用你本机的 Agent 真实走一遍“提问 → 退出等回复 → 拍板 → 接着干完”: ```bash agent-autoloop try ``` 下面是在终端里的真实输出: ```text 事件发出去了,Agent 开始干活…… Agent 结束了这一轮,问了你一个问题。它现在不占进程、不花 Token。 【等你决定】#1 试跑:选一个颜色 这是一次试跑,选哪个都行。 1. 蓝色 2. 绿色 回答:agent-autoloop answer 1 答完运行 agent-autoloop status,能看到它接着把活干完。 ``` 交互终端里直接输入数字回车;非交互终端运行 `agent-autoloop answer 1 2` 选择“绿色”。再跑 `agent-autoloop status`,就能看到它接上刚才的会话并显示“你选了绿色,试跑通过”,还有今天和最近 7 天的轮数、Token 和费用([统计口径](skills/agent-autoloop/SKILL.md#看情况回答))。 ## 一件事怎么转起来 编号和上面的架构图一一对应: 1. **新事件进来。** 早上 9 点的定时任务、GitHub 上新提的 Issue、业务系统报的错,都变成一条标准事件送进内核。 2. **按规则派活。** 内核照你写的规则,决定交给哪个 Agent、去哪个目录干。同一件事排队时又来的消息,会合并成一轮处理。 3. **干完一轮就退出。** Agent 把结果写在最后一条回复里,进程直接退出。 4. **拿不准才问你。** 碰到删数据、重启服务、花钱、对外发消息这类事,内核通过飞书或桌面通知发一张卡片给你。等你回复期间,它不占后台进程,也不消耗 Token。 5. **点一下,接着干。** 你选完,它接上原来的对话,把剩下的活干完。 能自己搞定的事走图上方的自动闭环:直接办完,或者约个时间(比如半小时后)再醒来复查,全程不打扰你。 ## 日常怎么配? ### 写一份规则(`rules.json`) 不需要写胶水代码。打开 `~/.agent-autoloop/rules.json`,在 `rules` 里写清楚**什么事、交给谁、在哪个目录干**。`to` 填 `agents` 里已有的名字。比如每天早上 9 点写早报: ```json { "name": "早报", "when": { "cron": "0 9 * * *" }, "to": "codex", "cwd": "~/notes", "prompt": "整理昨天的笔记和提交,写今天的早报。" } ``` 外部事件写法一样,只是要先接好来源。比如有人提新 Issue 时交给 Codex,先按[说明](skills/agent-autoloop/SKILL.md#接一个事件插件)在 `sources` 里登记 `github`: ```json { "name": "处理 issue", "when": { "source": "github", "types": ["issues.opened"] }, "to": "codex", "cwd": "~/code/app", "skill": "handle-issue", "parallel": 3 } ``` 保存后几秒内自动生效,可以运行 `agent-autoloop check` 检查;`agent-autoloop rules explain` 看生效的规则和下次定时,`agent-autoloop emit --dry-run` 预演一条事件会派给谁(不连接中台、不写日志)。就算改错了,或者文件被删、读不到,系统也会继续按旧规则跑,并发卡片提醒你。 ### Agent 怎么跟中台配合? 中台对 Agent 只有一个约定:**在最后一条回复里交代结果**。事情办完了,正常输出一句结论就行。需要向你请示时,在回复末尾附一段 `agent-autoloop` 代码块: ````text 订单已经核对完毕,库存充足。 ```agent-autoloop { "ask": [{ "title": "怎么发货?", "text": "两种方式今天都能发出。", "options": ["快递", "自提"], "key": "shipping" }] } ``` ```` 除了提问(`ask`),还能发通知(`notice`)、关闭已解决的卡片(`resolve`)、预约复查(`later`)和触发新事件(`events`)。通告不需要回答,但结案时可以顺手写一句处理说明,这句话会留在卡片上。万一 JSON 写错了,中台只让它在原会话里重写最后这段回复,不会把已经干完的业务重做一遍;重写也失败时,保留原结论并通知你回执没有生效。接着旧会话跑也一样:会话接不上才开新的;接上了、干到一半断了,就算没跑成,过几分钟回到原会话重试,不开新会话重做。 ## 拿来即用的场景模板 每套模板都带规则、任务 Skill 和启用说明。 | 想做什么 | 已经封装好的流程 | |---|---| | [每日早报](examples/recipes/morning-brief/README.md) | 默认每天 8 点整理本地笔记和 Git 提交,写入 `briefs/YYYY-MM-DD.md` | | [跟进 GitHub Issue](examples/recipes/github-issues/README.md) | 每 5 分钟查新 Issue,在本地改代码并通知你查看;不提交、不推送、不回复 Issue | | [线上告警排查](examples/recipes/ops-alerts/README.md) | 接收报错、对照代码查原因,需要重启时发卡片询问,回答后继续 | | [用户反馈处理](examples/recipes/feedback/README.md) | 重读反馈当前状态、修复、交付核实、准备回复;需要决定时飞书问你,回答后继续 | | [网站巡检](examples/recipes/website-watch/README.md) | 每 5 分钟检查状态和关键内容,首次异常交给 Agent,持续异常不重复通知,恢复后更新原卡片 | | [飞书周报与业务摘要](examples/recipes/feishu-brief/README.md) | 周日 18 点按你的权限读汇报和指定表格,生成本地摘要;飞书只发简短摘要,完整稿留在本机 | | [PR 自动交付](skills/agent-autoloop/SKILL.md#交付流水线) | 打上 `deliver` 标签后,审查、等 CI、合并、等发布并核对线上版本 | **启用:** 打开对应说明,把任务 Skill 放进所用 Agent 的 skills 目录,把示例规则合入 `~/.agent-autoloop/rules.json`,替换电脑名和路径,再运行 `agent-autoloop check`。 反馈处理、网站巡检和飞书摘要默认使用北京时间,只发给本人的飞书私聊。样例数据都是虚构的;脚本和回执只用本地 HTTP 与假飞书 CLI 验证过,没有在真实账号上跑过完整业务。 更多模板:[Claude 委托 Codex 处理网页](examples/recipes/browser-handoff/README.md)、[每周代码清理](examples/skills/weekly-sweep/SKILL.md)、[交付 PR](examples/skills/ship-pr/SKILL.md)。 ## 插件体系:四个方向都能自由替换 内置插件随程序安装,填好配置即可启用;第三方插件用 `agent-autoloop add ` 安装。 | 方向 | 内置 | 配置 | |---|---|---| | **事件**:怎么发现新活 | [GitHub Webhook](plugins/github/source.ts)、[GitLab Webhook](plugins/gitlab/source.ts)、[HTTP 接口](docs/protocol.md#来源把世界变成事件)、[定时规则](skills/agent-autoloop/SKILL.md#改规则)、[Issue 轮询脚本](examples/watch-github-issues.sh) | [说明](skills/agent-autoloop/SKILL.md#接一个事件插件) | | **Agent**:谁来干活 | [Claude Code](plugins/claude/agent.ts)、[Codex](plugins/codex/agent.ts)、[ACP](plugins/acp/agent.ts)、[通用命令](plugins/command/agent.ts) | [说明](skills/agent-autoloop/SKILL.md#接一个-agent) | | **通道**:去哪找你拍板 | [桌面通知](plugins/desktop/channel.ts)(默认开启)、[飞书](plugins/feishu/channel.ts)、[钉钉 / 企微 / Slack / Discord](plugins/webhook/templates.ts) | [说明](skills/agent-autoloop/SKILL.md#接一个通道) | | **交付**:把 CI/CD 也做成插件 | [`delivery`](plugins/delivery/delivery.ts) | [说明](skills/agent-autoloop/SKILL.md#交付流水线) | **实测情况:** Claude Code、Codex 和 ACP(官方 Codex ACP 适配器)跑通了多轮问答和跨进程会话续接;飞书跑通了发送、按钮回调和卡片更新;四种 Webhook 模板只在本地模拟服务上验证过,GitLab Webhook 按官方文档的格式测试,没连过真实 GitLab。这些文字通道靠回答链接拍板,要把 `hub.publicUrl` 配成手机或电脑能打开的地址。 **其他命令行 Agent 一行接入。** 设置 `use: "command"` 并传入命令数组,`{prompt}` 作为独立参数传递,不会被当成 shell 代码执行。下面的命令整理自各家官方文档,我们还没有逐个跑过: | Agent | 接入命令 | |---|---| | [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/cli-help.md#dsh-headless) | `dsh --profile headless {prompt}` | | [pi](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/cli.md) | `pi --print {prompt}` | | [OpenClaw](https://docs.openclaw.ai/cli/agent) | `openclaw agent exec {prompt}` | | [Hermes](https://hermes-agent.nousresearch.com/docs/user-guide/cli) | `hermes chat -q {prompt}` | | [Cursor](https://cursor.com/docs/cli/reference/parameters) | `agent -p --trust {prompt}` | | [WorkBuddy / CodeBuddy](https://www.codebuddy.ai/docs/cli/headless) | `codebuddy -p {prompt}` | **交付流水线。** 给 GitHub PR 打上 `deliver` 标签后,它会自己跟进到上线:**审代码 → 等 CI → 合并 PR → 等部署 → 核对线上版本**。审查和交付配置只从 `main` 读取,绝不在接单电脑上检出或运行 PR 里的代码;排队、并发和重试直接复用内核。 **写自己的插件。** 从 [Agent](examples/plugins/hello-agent/agent.ts)、[通道](examples/plugins/hello-channel/channel.ts)、[事件](examples/plugins/hello-source/source.ts) 三个可运行的最小模板开始,见[插件开发说明](docs/plugins.md)。要让 Agent 操作网页,先看[浏览器接入](docs/plugins.md#浏览器接入)。命令行和 [MCP](skills/agent-autoloop/SKILL.md#mcp-与密钥撤销) 也能查看和回答卡片。 ## 内核的四个机制 内核约 1800 行代码、零运行时依赖。它不读系统时钟、不用随机数、不向外发请求,插件主动连进来,账号凭据留在各自的插件里;同样的输入永远得出同样的结果。它把四个计算机领域的成熟做法用到了命令行 Agent 上: - **挂起零消耗**:等你拍板时进程直接退出,等待状态存在数据库里,Agent 不用一直挂着。你三天没回,这三天就没有 Agent 进程在跑、不花 Token,只有很轻的中台在后台等着;你一回答,它接着原来的对话继续干。 - **事件溯源**:所有状态都从一条只追加的日志算出来,日志和索引在同一个事务里写进磁盘,写完才应答。进程被强杀,已经确认的事不丢(整机断电没有单独测过);任何一轮为什么跑、结果是什么,一条命令就能查清;数据格式变了就从日志重建,不用写迁移脚本。 - **指令数据分离**:思路和 SQL 参数化一样。Issue 的标题和正文等外部文字只作为资料放进文件,不拼进提示词,提示词里只有校验过字符的类型、编号和链接;用哪个 Agent、在哪个目录、什么权限,只由你本机的规则决定,事件里带 `cwd`、`agent`、`access` 字段会被直接拒收。 - **跳数熔断**:思路和网络包的 TTL 一样。Agent 交回的事件会再派给 Agent,层数一路累加,经过人工提问和定时复查也不清零,Agent 自己改不了;超过 8 层就只记录、不再派活,并发一张卡片告诉你。 ### 自己跑一遍 在程序目录 `~/.agent-autoloop/app` 下运行: | 验证什么 | 命令 | |---|---| | 任何一轮的来龙去脉 | `agent-autoloop why 1` | | 20 万步模拟断网、丢包、崩溃和重复提交,一个种子就能复现 | `node sim/random.ts 24301 200000` | | 强杀进程 1000 次,已确认的记录一条不丢 | `node sim/crash.ts 1000 12648430` | | 下面的性能数字 | `npm run benchmark` | ```text 第 1 轮 · 演示 11-03 20:47:25 规则版本 #1 11-03 20:47:25 触发事件:来源 local · 类型 demo.start · 对象 example 11-03 20:47:25 local 领取(演示程序) 11-03 20:47:25 结束:演示完成 ``` ### 实测性能 Apple M5 Pro、24 GB、Node 24.21.0。写入逐条提交,事务落盘后才应答。`npm run benchmark` 的达标线按这台机器定,换台机器可能报未达标。 | 指标 | 实测 | |---|---:| | 冷启动 | 88.78 ms | | 空闲内存 | 59.94 MB RSS | | 1000 个同时等待的长轮询 | 170.49 MB RSS | | 持久化写入 | 2394 条/秒 | | 派活 p99 | 1.82 ms | | 排队 5000 时被挡下的心跳 p99 | 1.66 ms | | 110 万条事实时的启动 | 99.8 ms | | 内核行数(含空行和注释) | 1651 | | 运行时依赖 | 0 | 历史变大后,状态汇总会变慢,日志和索引也继续占磁盘;格式变化后的首次启动要从日志全量重建,110 万条用时 43.1 秒。[完整数据和测法](docs/protocol.md#历史增长实测)。 ## 用量与合规说明 中台直接调用你本机已经安装并登录好的命令行工具,不会读取或转存你的账号凭据。模型调用消耗算在你自己的账号名下,额度和使用范围遵循各家模型厂商的服务条款。 在高频自动化场景下,各家厂商通常更建议使用 API Key(个人订阅额度主要是为日常人工交互设计的,详见 [Anthropic](https://code.claude.com/docs/en/legal-and-compliance) 与 [OpenAI](https://learn.chatgpt.com/docs/auth) 的官方说明)。如果你用它对外提供服务,请使用 API Key。本项目为独立开源项目,与上述厂商无隶属或背书关系。 ## 更多文档 - [安装说明](INSTALL.md) - [规则与交付流水线配置手册](skills/agent-autoloop/SKILL.md) - [如何编写插件](docs/plugins.md) - [完整通信协议](docs/protocol.md) - [安全边界说明](SECURITY.md) - [参与贡献与交流](CONTRIBUTING.md) - [项目开发约定](AGENTS.md) 仓库目录 | 位置 | 放什么 | |---|---| | `kernel/` | 内核:决策、事实日志、状态投影、到期任务、规则匹配、接口行为与卡片表单 | | `host/` | 运行外壳:Node HTTP、文件与 SQLite 连接、时钟、配置、后台服务和插件加载 | | `protocol/` | 通信格式、JSON Schema、输入校验、HTTP 客户端和一致性检查 | | `worker/` | 接单程序:领活、运行 Agent、心跳与停止、读取和提交回执 | | `cli/`、`bin/` | 用户命令及启动入口,包括状态、回答、`why`、MCP、更新与卸载 | | `plugins/` | 内置 Agent、事件、通道和交付插件 | | `examples/recipes/` | 完整场景:规则、任务 Skill 和启用说明 | | `examples/plugins/`、`examples/skills/`、`examples/*.sh` | 最小插件模板、独立任务手册和 Shell 示例 | | `skills/agent-autoloop/` | 中台的正式配置与操作手册,安装时也提供给 Agent 使用 | | `docs/` | 通信协议、插件开发说明与中英文架构图 | | `tests/`、`sim/` | 日常行为测试,以及模拟、穷举、强杀和变异检查 | | `scripts/`、`.github/workflows/` | 性能与真机验证、安装冒烟脚本,以及 Linux / macOS CI | | 根目录文档与 `install.sh` | 中英文 README、安装说明、安全边界、开发约定、许可证与安装脚本 | 读代码可以从 `bin/agent-autoloop.ts` → `cli/main.ts` 开始,再按功能进入 `host/`、`worker/` 或 `plugins/`;内核设计先看[协议](docs/protocol.md)。同名文件分属不同层:`host/http.ts` 转换 Node 请求,`kernel/http.ts` 定义接口行为;`protocol/rules.ts` 校验输入,`kernel/rules.ts` 定义规则类型和匹配。 [MIT License](LICENSE)

来源报道 · 1 篇 · 以下链接均前往原始媒体

← 返回精选动态 原文

更多内容