AI News HubLIVE
站内改写2 分钟阅读

Claude Code 循环:本地后台任务队列管理器

Aiball 是一个本地守护进程,为 Claude Code 提供共享积压任务管理。它通过 MCP 和 SSE 事件总线实现无中断的任务排队与自动处理,支持 Web UI、CLI 和 MCP 工具操作,所有数据本地存储,无遥测。

来源Hacker News AI作者: quazarzero

Claude Code 循环:本地后台任务队列管理器

Aiball 是一个开源本地守护进程,专为 Claude Code 用户设计,旨在提供一个共享积压任务队列,实现多会话间的无缝协调。该项目由 David Berlioz 开发,采用 MIT 许可证,目前处于实验阶段。

核心机制

Aiball 的核心是“软循环”(soft-loop)机制。用户或另一个 Claude 会话可以随时通过 Web UI、MCP 工具 (ticket_new) 或 CLI 提交任务(ticket)。任务会落入指定项目的积压队列中,并定向到特定的 Claude 会话 (通过 consumer_id) 或广播给项目所有者。

关键设计在于,Claude 会话在处理当前任务时不会被中断。当会话的当前回合结束时,Stop 钩子会触发(由 claude-loop 全局注册或每循环注册),检查该消费者的积压队列。如果非空,钩子会将待处理的任务以提示形式注入到下一轮用户提示中,仿佛用户直接输入了“这是积压任务”。

随后,Claude 会逐个处理积压任务:读取任务、发布回复(通过 ticket_reply)、提出解决方案(标记为“resolved”),并关闭自己的任务(标记为“close”),每个动作都会向其他订阅者发出事件。循环持续直到没有可操作的任务为止,会话在保有完整上下文的情况下正常结束。

重要设计选择

  • 决策附加在评论上:当代理提出解决方案时,标签直接附加在评论上,而不是独立的“决策”行。报告者可以在原地接受或拒绝,审计线索保留在做出决策的线程中。
  • SSE 事件总线claude-loop 会话订阅 /api/events,在有新通知时立即唤醒,无需轮询延迟。

界面与工具

Aiball 提供多种操作方式:

  • Web UI:浏览器界面,支持任务管理、项目统计等。
  • CLI 命令aiball 命令用于初始化、检查状态等;claude-loop 命令用于启动带有 tmux 包装器的循环会话。
  • MCP 工具:包括 pollunreadticket_getticket_replyticket_newsubscribe 等。

特别推荐使用 claude-loop 包装器,它将 Claude 会话保留在 tmux 中,自动处理积压任务。用户可以在一天中排队多个任务,然后离开,Claude 会在每次收到通知时唤醒并处理它们。

安装与使用

快速安装步骤:

  1. 克隆仓库并运行 ./install.sh --auth-init 来安装守护进程(systemd 用户单元)和二进制文件。
  2. 在浏览器中打开 http://127.0.0.1:7777 创建管理员账户。
  3. 在每个仓库中运行 aiball init 来配置 .mcp.json.aiball.yaml
  4. 使用 claude-loop -- --resume 启动循环会话。

其他设置包括:交互式 Claude(不带 tmux)、裸 MCP 配置、创建消费者令牌、通过 Tailscale 远程访问等。

功能特性

  • 每个项目范围内的任务与线程评论,支持 Markdown、图片粘贴、自动链接引用和子任务。
  • 移动端读取收件箱(通过 Tailscale 私有加密连接)。
  • 审核规则与策略(手动/自动/自动回复)。
  • 生命周期信号:解决方案提议、阻塞升级、暂停、重新打开。
  • 可点击问答:任务主体中的 GFM 复选框变为可点击引用的提问。
  • 自动轮询停止钩子。
  • 全文搜索(FTS5)、项目统计、离线备用 CLI。

技术细节

守护进程运行在 127.0.0.1,使用 Unix 域套接字和 SQLite 数据库。所有存储保留在本地 ~/.local/share/aiball 目录下,无云后端,无遥测。

生命周期管理:通过 systemctl --user start/stop aiball 控制,日志可通过 journalctl 查看,数据目录即 ~/.local/share/aiball。状态检查使用 aiball check 命令。

目前仅支持 Claude Code,但协议是通用的(MCP + 小型 HTTP/CLI 表面),未来可能支持其他 CLI 代理。

总结

Aiball 为 Claude Code 用户提供了一种优雅的异步工作流管理方式,将任务排队与自动化处理结合,避免了中断和上下文丢失。它的本地优先、无遥测的设计也符合隐私意识用户的需求。尽管目前处于实验阶段,API 和模式仍在变化,但其核心概念已经展示出提升 AI 代理协同工作生产力的潜力。