操作 AO 会话和拉取请求,包括中断或恢复工作、发起评审及经确认后合并。还可截取会话浏览器画面、发送指定文件、保持主机运行或安排定期任务。
- 中断或恢复 AO 会话
- 评审或合并拉取请求
- 接收会话截图或成果文件
查阅 AO 各技能共用的主机识别、连接、任务分派、审批和秘密信息处理规则,了解如何区分本地与远程主机及其会话。
Shared rules and the connection helper for every ao-* skill (run Orchestrator from chat). Read before running any ao-* skill.
实测评分 未实测
查看安装方法本参考资料汇总其他 ao-* 技能共同遵循的规则。它说明如何区分运行 AO 的计算机,如何将主机名与会话编号组合起来标识会话,以及如何连接本地或远程主机。资料还说明哪些请求应交给协调器处理,例如开始或调整工作、制定计划;哪些操作可以直接执行,例如查看状态或落实用户的选择。内容也涵盖审批类型和风险判断、文件变更、认证信息以及向代理发送消息时的规则。
使用 AO 技能前可以查阅,尤其适用于 AO 部署在多台计算机上、需要避免操作错主机的情况。需要了解哪些情况应征求用户批准,或如何处理秘密信息时,也可参考。
连接使用 AO API 和 curl,JSON 由 python3 处理。连接远程主机需要一个包含主机地址和密码的标头文件。
本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。
AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。
不计入评分。 由 AI(OpenAI Codex)于 2026年10月29日 评估。仅供参考,安装前请同时查看原文。
安装前可以查看交给 AI 代理的指令内容。
Every ao-* skill follows these rules. Other skills link here instead of repeating them.
An AO host is one computer that runs the AO daemon. Each host has its own projects, sessions and orchestrators, and AO never links them: a repo cloned on two hosts is two separate projects. AO names a project after its folder, so both can still get the same id, and then the same session id (for example agent-orchestrator-1-12) can exist on both. Always name a session as <host>/<session id>, and act only on the host that owns it.
Memory keeps one note named AO hosts, with one line per host:
| Field | Example | Meaning |
|---|---|---|
name | Pro | A short name: the user's pick, else the model word of the ListMachines label (Pro, Air, mini). Never the network hostname such as MacBookAir.lan |
reach | local or remote | How you get to its AO |
via | laptop | The ListMachines label of the computer whose shell you use |
base | http://192.168.1.20:7444 | Remote only. The host's LAN address from AO's remote access settings |
header | ~/.ao-grok/studio.header | Remote only. File on via that holds the host's password |
via is the host itself.via. The ao CLI on via talks only to via's own AO, so never use it for a remote host.One computer can be via for itself (local) and for other hosts (remote) at the same time.
Every run: call ListMachines, then use every host whose via computer is connected, in parallel, labelled by host name. Say once which hosts you could not reach. Never hard-code machine ids or home paths.
Start every shell command that calls AO with this helper. It works in zsh and bash:
aoapi(){ # aoapi METHOD PATH [JSON]
local base hdr=() data=() f="${AO_RUN_FILE:-$HOME/.ao/running.json}"
if [ -n "$AO_REMOTE_BASE" ]; then base="$AO_REMOTE_BASE"; hdr=(-H @"$AO_REMOTE_HEADER")
else [ -f "$f" ] || { echo "AO_NOT_RUNNING" >&2; return 3; }
base="http://127.0.0.1:$(grep -o '"port": *[0-9]*' "$f" | grep -o '[0-9]*$')"; fi
[ -n "$3" ] && data=(--data "$3")
curl -sS --fail-with-body --max-time 30 -X "$1" "${hdr[@]}" -H 'Content-Type: application/json' "${data[@]}" "$base/api/v1/$2"
}
aoapi as is.via computer, first set AO_REMOTE_BASE='<base>' AO_REMOTE_HEADER="$HOME/.ao-grok/<name>.header".python3 -c 'import json,sys; print(json.dumps(...))' "$ARG", never by pasting text into quotes.~/.ao-grok/out/<date>-<short name>.md on via. The user can see what was sent.ao CLI only where a skill says "local only".| You see | Meaning and next step |
|---|---|
AO_NOT_RUNNING, or connection refused on a local host | AO is not running there. Ask the user to open AO |
| Connection refused or timeout on a remote host | The host is asleep, off this network, or remote access is off. Ask the user to check AO's remote access settings on the host |
| HTTP 401 or 403 on a remote host | The host's password changed. Run ao-setup "Remote host" again |
| HTTP 404 on a session path | No such session on that host. Check the host name |
| Any other error | AO returns JSON with message. Relay it in plain words |
Each project on a host has at most one live orchestrator: an agent that plans the project's work, starts and steers workers, and gets their reports. It has more context than you do. You are the user's phone line to it.
A worker asks for two kinds of decision. A question (user_input) asks what to build. An approval asks permission to run a command or change files. Who decides depends on the mode, saved in memory:
low and normal approvals with the one-time option (kind allow_once). Never pick an allow_always option: it changes the agent's permissions for good. Never accept a high approval without the user's yes for that request.AO gives no risk level, so you judge it. Treat these as a floor. If a command looks riskier, call it high.
| Risk | Examples |
|---|---|
| high | Deletes outside the session's worktree, rm -rf, git push --force, push to main or master, git reset --hard, history rewrites, deploy, publish, release, secrets, credentials, tokens, sudo, system installs, payments |
| low | Reading or searching files, git status/diff/log, tests, lint, typecheck, builds |
| normal | Everything else, such as edits and commits in the session's worktree, or pushing the session's own branch |
Never invent the user's preferences. The worker decides how to do the work. The user decides what to build.
Change nothing on the user's computers unless the user approved that exact change in chat, or away mode or a standing approval covers it. Approval for one change is not approval for the next. Never delete or archive sessions or projects, never change AO settings, and never merge, publish or deploy without the user's yes for that item.
header file holds a host's password. Pass it only to curl as -H @<file>. Never open, print, copy or paste it.~/.ao/mobile/, ~/.ao/data/agent-accounts/, ~/.ao/electron/, or any *token*, *auth*, .env or keychain item.aoapi GET "sessions/<id>/history?offset=0&limit=1") so you don't repeat or contradict it.[via Grok Bot], so the user can tell it apart in AO.<host name>/<session id>, every time, in every skill and every line, even when only one host has that id: Air/agent-orchestrator-31, Pro/agent-orchestrator-1-249. Add the display name when it helps.These steps need tools only Grok Bot has. Any other agent (Claude Code, Codex, Cursor) runs on one computer and does this instead:
| Grok Bot step | Other agents |
|---|---|
| ListMachines, every connected computer | Only the computer you run on, as a local host |
| Routines | Run the check once when asked |
| Cards | Plain text with numbered options |
| Memory | Ask, or use the notes file the user names |
| SendToUser, CopyToBox | Give the file path |
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
操作 AO 会话和拉取请求,包括中断或恢复工作、发起评审及经确认后合并。还可截取会话浏览器画面、发送指定文件、保持主机运行或安排定期任务。
查找 AO 中等待用户回复的会话,将待答问题和待审批事项整理成选项,并把所选答复直接发送到对应会话。离开模式下也会遵循 AO 的决策规则。
启动或重启真实的 AO 桌面应用,用本地数据查看界面改动;也可组合多个拉取请求分支进行本地评审,并排查 Electron 进程、端口冲突和 preload bridge 不匹配。
将项目请求或问题发送给 AO 协调器,等待回复并转达结果。可用于启动或调整工作、了解项目进展、询问原因,以及讨论计划和后续步骤。
此技能可查找运行 AO 的电脑并将其登记为主机,也可按需添加没有 Grok Bot 桌面应用的远程主机、记录默认交互模式,并设置定时检查或工作日摘要。
汇总多个 AO 主机上的会话状态,查看可合并的拉取请求和新的评审通知,也可检查会话最近的请求与回复,生成简要的每日摘要。