关于 fleet
fleet 是通过 azlin 管理多个 Azure VM 上编码 Agent 的命令行技能。它整合会话监控、任务与项目跟踪,以及可提出或执行操作的 admiral 循环。
主要功能
- 01监控 VM 会话和 Agent 状态
- 02侦察、查看与观察会话
- 03排队分配任务并跟踪项目
- 04运行 dry-run 或自主 admiral 循环
- 05管理会话并传递身份验证
适用场景
- 01检查多个 VM 上编码 Agent 的活动
- 02为 fleet 会话中的 Agent 排队分配任务
- 03跟踪关联 GitHub issue 的项目目标
- 04在推进会话前检查拟执行操作
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rysweet/ amplihack --skill fleet安装后在 Claude Code 中输入/fleet确认已加载。
详细介绍
/fleet
Fleet 编排 — 通过 azlin 管理运行在多台 Azure VM 上的编码 Agent(Claude Code、Copilot、Amplifier)。
使用 /fleet <command> 调用,或直接描述你的需求,Claude 会选择合适的命令。
所有命令
状态与监控
| 命令 | 功能 |
|---|---|
fleet status | 快速查看所有 VM 和会话的文本概览 |
fleet scout | 发现、接管、试运行推理并显示报告 |
fleet snapshot | 捕获所有受管理会话的某个时间点状态 |
fleet watch <vm> <session> | 实时查看单个会话的状态 |
fleet observe <vm> | 按模式分类观察会话 |
fleet tui | 交互式 Textual TUI 仪表板 |
Admiral 控制
| 命令 | 功能 |
|---|---|
fleet advance | LIVE — 对会话进行推理并执行操作 |
fleet dry-run | 显示 Admiral 会采取的操作(不执行) |
fleet run-once | 执行单次 PERCEIVE->REASON->ACT 循环 |
fleet start | 运行自主 Admiral 循环 |
会话管理
| 命令 | 功能 |
|---|---|
fleet adopt <vm> | 将现有 tmux 会话纳入管理 |
fleet auth <vm> | 同步身份验证令牌(GitHub、Azure、Claude) |
任务管理
| 命令 | 功能 |
|---|---|
fleet add-task "prompt" | 为 fleet 排队安排工作 |
fleet queue | 显示任务队列 |
fleet dashboard | 项目级跟踪 |
fleet report | 生成 fleet 状态报告 |
项目与知识
| 命令 | 功能 |
|---|---|
fleet project add/list/remove | 管理 fleet 项目 |
fleet project add-issue <proj> <num> | 将 GitHub issue 作为项目目标进行跟踪 |
fleet project track-issue <proj> | 按标签从 GitHub issue 同步目标 |
fleet graph | fleet 知识图谱摘要 |
Copilot
| 命令 | 功能 |
|---|---|
fleet copilot-status | 显示 Copilot 锁定状态和目标状态 |
fleet copilot-log | 显示 Copilot 决策历史 |
快速参考
| 用户说 | 命令 |
|---|---|
| “我的 Agent 在做什么?” | fleet scout |
| “显示 fleet” | fleet status |
| “向所有会话发送后续步骤” | fleet advance |
| “不经确认直接推进” | fleet advance --force |
| “查看 dev/cybergym 正在做什么” | fleet watch dev cybergym |
| “为新 VM 添加身份验证” | fleet auth <vm> |
| “为 fleet 排队安排此任务” | fleet add-task "prompt" |
| “为 myapp 跟踪 issue #42” | fleet project add-issue myapp 42 |
| “从 GitHub 同步目标” | fleet project track-issue myapp |
| “打开仪表板” | fleet tui |
关键选项
fleet scout [--session vm:session] [--vm VM] [--skip-adopt] [--incremental] [--save PATH]
fleet advance [--session vm:session] [--vm VM] [--force] [--save PATH]
fleet dry-run [--vm VM ...] [--backend auto|anthropic|copilot|litellm]
fleet adopt <vm> [--sessions s1 s2]
fleet watch <vm> <session> [--lines 30]
fleet auth <vm> [--services github azure claude]
fleet add-task "prompt" [--priority high] [--repo URL]
fleet start [--interval 300] [--max-cycles 10]
环境
| 变量 | 必需条件 |
|---|---|
AZLIN_PATH | 所有命令(如果 azlin 位于 PATH 中,则自动检测) |
ANTHROPIC_API_KEY | scout、advance、dry-run、run-once、start |
Admiral 配置
- 模型:Claude Opus 4.6(
claude-opus-4-6) - 最大输出令牌数:128,000(推理 JSON)
- 每个会话收集的上下文:完整 tmux 滚动缓冲区 + 最早 50 条和最新 200 条转录消息
- 安全性:拦截 57 种危险输入模式(并设有安全允许列表)、置信度阈值(send_input 为 60%,restart 为 80%)、advance 默认启用 --confirm
- 文档:
docs/fleet-orchestration/ADMIRAL_REASONING.md
状态图标
| 图标 | 状态 | 含义 |
|---|---|---|
[~] | 思考中 | Agent 正在处理 |
[>] | 运行中 | Agent 正在生成输出 |
[.] | 空闲 | Agent 停在提示符处,等待指示 |
[X] | Shell(Agent 已停止) | 此会话中未检测到 Agent |
[Z] | 已挂起 | Agent 已转入后台,但仍在运行 |
[!] | 错误 | 在会话输出中检测到错误 |
[+] | 已完成 | Agent 已完成任务 |
[?] | 等待输入 | Agent 提出问题,等待回复 |
性能与架构
- 顺序轮询 VM:从
azlin list发现会话(无需 SSH)。通过顺序 SSH 捕获窗格 - 缓存 SSH 输出:Scout 会缓存第 1 阶段的 tmux 捕获结果,供第 3 阶段推理使用(无需重复轮询)
- 增量 Scout:
--incremental标志会跳过未更改的会话,使用~/.amplihack/fleet/last_scout.json - 复用堡垒机隧道:通过
get_existing_tunnels()复用现有 SSH 隧道,而不是新建隧道 - PR URL 检测:在远程 VM 上使用
gh pr list,根据 git 状态可靠地检测 PR - 推理中的健康指标:将
fleet_health.py接入SessionContext,用于 admiral 决策 - 统一状态分类器:在
_status.py中使用单一规范分类器(TUI/CLI 不再出现双轨差异) - 模块化 CLI:命令拆分至
_cli_session_ops.py、_cli_scout_advance.py、_cli_formatters.py(每个文件均少于 400 LOC) - 项目分组:Scout 报告按已注册项目对会话分组,并显示未完成的目标
如何运行
通过 Bash 执行:
fleet <command> [options]
呈现结果
运行 fleet scout 或 fleet advance 后,按以下格式向用户呈现输出:
-
摘要表格 — 将 CLI 输出整理成清晰的 Markdown 表格,列为: VM | 会话 | 状态 | 操作 | 置信度 | 摘要
-
建议输入 — 对于任何
send_input决策,展示 admiral 想要发送的内容 -
后续命令 — 始终以报告中的可执行后续步骤结束:
fleet advance向所有会话发送下一条命令fleet advance --confirm在执行前逐一审核fleet advance --session vm:session推进一个指定会话fleet watch <vm> <session>检查指定会话
评论
支持 Markdown