@tom_doerr: 在隔离的 git worktrees 中编排 AI 代理 https://github.com/txtx/axel-app

X AI KOLs Timeline 工具

摘要

Axel 是一款 macOS 应用,配有 Rust CLI,可在隔离的 git worktrees 和 tmux panes 中编排 AI 代理,为多代理工作流提供任务管理界面。

在隔离的 git worktrees 中编排 AI 代理 https://t.co/imfAKHlYOf https://t.co/Z3HiQvLSlg
查看原文
查看缓存全文

缓存时间: 2026/05/25 10:49

在隔离的 git worktrees 中编排 AI 代理 https://t.co/imfAKHlYOf https://t.co/Z3HiQvLSlg

scarce/axel

来源:https://github.com/scarce/axel

Axel 适合那些既想要任务列表的宁静,又希望代理处于战斗模式的人——同时不丢失对运行内容、位置和原因的把控。它通过一个原生 macOS 应用和一个快速的 Rust CLI 结合,在 tmux 窗格、基于 Ghostty 的终端和 git worktrees 中编排多个 AI 代理——界面灵感来自 Things

[!重要] Axel 目前处于测试阶段,可能存在错误。欢迎贡献和报告问题。


Axel 的体验感受

  • 一个干净、类似 Things 的任务和优先级收件箱。
  • 一张活跃代理的实时地图,每个代理锚定到一个 worktree 和终端。
  • 一个系统,让“在新的 git worktree 中启动另一个代理”感觉就像“打开一个新标签页”一样轻松。

Axel 的功能

Axel 将代理工作转变为一流的工作流程:

  • 带有意图的任务:排队、运行和完成代理任务,带有状态、优先级和上下文。
  • 真实终端:在 tmux 窗格和 Ghostty 中管理实时会话(Claude、Codex 等)。
  • Worktree 优先隔离:一个代理,一个分支——不再相互干扰。
  • 收件箱与权限:在单一信息流中查看代理请求并快速批准。
  • 技能与上下文:来自 ./skills~/.config/axel/skills 的可复用提示词。
  • 内置同步:Automerge CRDT + Supabase,实现无冲突协作。

Axel 的工作原理(简版)

  1. 你在应用中创建一个任务。
  2. Axel 通过 CLI 启动一个终端会话。
  3. 代理在 tmux 中运行,可选地在新的 git worktree 中。
  4. 应用显示实时输出、事件和权限提示。
  5. 工作完成后,你关闭循环并发布。

组件

原生 macOS 应用 (SwiftUI)

  • 五列工作区布局,用于任务、收件箱、终端、技能和团队。
  • 用于实时代理事件和权限请求的 SSE 收件箱。
  • SwiftData + Automerge,用于本地状态和设备间同步。

Axel CLI (Rust)

  • 启动 tmux 网格和代理窗格。
  • 读取 AXEL.md 布局和技能。
  • 管理 worktrees 和会话恢复。

终端层

  • Ghostty:快速、现代的终端模拟。
  • tmux:用于窗格编排。
  • git worktrees:用于干净的代理隔离。

快速开始

要求:macOS 14+、Xcode 15+(用于应用)、Rust(用于 CLI 开发)

# 在 Xcode 中打开应用
open Axel.xcodeproj

# 运行应用(调试)
./run.sh

当你启动 Axel 时,如果 CLI 尚未安装,它可以将其安装到 ~/.local/bin


典型流程

1. 创建一个任务“重构 API 缓存”
2. 将其分配给新的 worktree 中的 Claude
3. Claude 在 tmux + Ghostty 中运行
4. 权限请求出现在收件箱中
5. 审查输出,合并,并标记完成

项目结构(部分)

Axel/
├── Views/macOS/          # macOS UI (tasks, inbox, terminals)
├── Services/             # SSE inbox, sync, CLI orchestration
├── Models/               # SwiftData entities
Packages/
├── GhosttyKit/           # terminal emulation
├── AutomergeWrapper/     # CRDT sync wrapper

贡献

我们希望 Axel 成为一种你愿意每天使用的工具。以下是我们在贡献中看重的:

  • 工作流优先:每个功能都应减少多代理工作时的思维负担。
  • 优雅克制 UI:清晰与愉悦,绝不杂乱。
  • 终端真实性:真实的 tmux 窗格、真实的 worktrees,不做假。
  • 性能:快速启动、快速渲染、快速代理恢复。

如果你感兴趣,请提出 issue 或发送 PR,内容需包括:

  • 简短的问题描述
  • 建议的解决方案
  • 任何设计说明或工作流细节

相关实验

我们在该领域构建过其他系统(不一定很好,但提供了有用的经验):

  • https://github.com/txtx/surfpool
  • https://github.com/txtx/moneymq

状态

Axel 正在积极开发中。核心工作流已就绪,我们每周都在使其更加完善。


有关工作区特定说明,请参见 CLAUDE.md

相似文章