跳到正文
cccskills
免费在 GitHub 公开中文介绍

ao-rules

查阅 AO 各技能共用的主机识别、连接、任务分派、审批和秘密信息处理规则,了解如何区分本地与远程主机及其会话。

原文查看原文说明

Shared rules and the connection helper for every ao-* skill (run Orchestrator from chat). Read before running any ao-* skill.

OrchestratorInc/agent-orchestrator星标 13,872(GitHub 13,872 + cccskills 0)

实测评分 未实测

查看安装方法

适用场景

  • 使用 AO 技能前查看共用规则
  • 区分多台主机上的会话
  • 确认远程主机的连接方式
  • 了解审批和秘密信息规则

中文介绍

功能

本参考资料汇总其他 ao-* 技能共同遵循的规则。它说明如何区分运行 AO 的计算机,如何将主机名与会话编号组合起来标识会话,以及如何连接本地或远程主机。资料还说明哪些请求应交给协调器处理,例如开始或调整工作、制定计划;哪些操作可以直接执行,例如查看状态或落实用户的选择。内容也涵盖审批类型和风险判断、文件变更、认证信息以及向代理发送消息时的规则。

适用场景

使用 AO 技能前可以查阅,尤其适用于 AO 部署在多台计算机上、需要避免操作错主机的情况。需要了解哪些情况应征求用户批准,或如何处理秘密信息时,也可参考。

使用示例

  • “使用 AO 技能前,请确认主机的指定方式。”
  • “请查看远程主机的连接规则。”
  • “请根据共用规则确认这项操作是否需要用户批准。”

注意事项

连接使用 AO API 和 curl,JSON 由 python3 处理。连接远程主机需要一个包含主机地址和密码的标头文件。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

文档检查

AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。

安全性发送数据、删除文件、执行命令等是否有说明
A良好资料限制读取凭据文件,并规定标头只能传给 curl。
安装难易度所需工具和 API 密钥是否少且有说明
B部分不足需要 AO API、curl、python3;远程连接还需标头文件。

不计入评分。 由 AI(OpenAI Codex)于 2026年10月29日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 SKILL.md 重新评估,并在此处更新结果。

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

包含的文件(1)

  • SKILL.md8.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

AO rules

Every ao-* skill follows these rules. Other skills link here instead of repeating them.

AO hosts

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:

FieldExampleMeaning
nameProA 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
reachlocal or remoteHow you get to its AO
vialaptopThe ListMachines label of the computer whose shell you use
basehttp://192.168.1.20:7444Remote only. The host's LAN address from AO's remote access settings
header~/.ao-grok/studio.headerRemote only. File on via that holds the host's password
  • local: the Grok Bot desktop app runs on the AO host. via is the host itself.
  • remote: the Grok Bot desktop app runs on another computer. You call the host's AO API over the network from 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.

Calling AO

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"
}
  • Local host: use aoapi as is.
  • Remote host: on the via computer, first set AO_REMOTE_BASE='<base>' AO_REMOTE_HEADER="$HOME/.ao-grok/<name>.header".
  • Build JSON bodies with python3 -c 'import json,sys; print(json.dumps(...))' "$ARG", never by pasting text into quotes.
  • Anything longer than one line goes in a file first: ~/.ao-grok/out/<date>-<short name>.md on via. The user can see what was sent.
  • Use the ao CLI only where a skill says "local only".

Errors

You seeMeaning and next step
AO_NOT_RUNNING, or connection refused on a local hostAO is not running there. Ask the user to open AO
Connection refused or timeout on a remote hostThe 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 hostThe host's password changed. Run ao-setup "Remote host" again
HTTP 404 on a session pathNo such session on that host. Check the host name
Any other errorAO returns JSON with message. Relay it in plain words

Who does what: orchestrator first

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.

  • Send to the orchestrator (ao-orchestrator): starting or changing work, "catch me up", "why", "what next", plans, and anything that needs judgement about the code.
  • Do directly: status lists (ao-status), answering a pending request with the user's own pick (ao-answer), stop and interrupt, merges after the user's yes, files and screenshots (ao-actions).
  • Never start a worker yourself in a project that has a live orchestrator. Ask the orchestrator instead. With no orchestrator, ask the user whether to start one or to start the worker directly.
  • After you act directly on a worker (answer, stop, merge), the orchestrator sees it through AO. Don't send it a separate note.

Decisions

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:

  1. Default mode: show each question or approval to the user as a card with the exact options. Answer only with their pick for that request. Never reuse a pick for a new request.
  2. Away mode starts when the user says something like "I'm away", "decide for me" or "keep it moving". Save the scope and the end time in memory. Then:
    • Answer routine questions yourself, and tell the user afterwards what you picked and why.
    • Accept 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.
    • Leave product direction, money, publishing and anything the user kept for themselves to the user.
    • Away mode ends at the end time or when the user is back. Say when it ended.
  3. Standing approvals: the user may list kinds of approvals to always accept. Follow the list exactly.

AO gives no risk level, so you judge it. Treat these as a floor. If a command looks riskier, call it high.

RiskExamples
highDeletes 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
lowReading or searching files, git status/diff/log, tests, lint, typecheck, builds
normalEverything 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.

Writes

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.

Secrets

  • The header file holds a host's password. Pass it only to curl as -H @<file>. Never open, print, copy or paste it.
  • Never read AO's own credential files: ~/.ao/mobile/, ~/.ao/data/agent-accounts/, ~/.ao/electron/, or any *token*, *auth*, .env or keychain item.
  • If session text contains a key, never repeat it.

Messages to agents

  • Before you send a follow-up, read the last turn (aoapi GET "sessions/<id>/history?offset=0&limit=1") so you don't repeat or contradict it.
  • Keep messages short and concrete: what is right so far, then the next step. Leave out check-ins, your own process and these rules.
  • Start every message you send with [via Grok Bot], so the user can tell it apart in AO.

Output

  • Answer first, in short plain words. Say what you could not check.
  • Write every session as <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.
  • Give times in the user's timezone.
  • One message per event. If two checks report the same thing, say it once. News (a merge, a finished review) is reported once: ao-status keeps a seen list.
  • Send files with SendToUser. Copy them to the box first with CopyToBox.

Memory

  • Save hosts, modes and preferences, not activity. A check where nothing changed is not worth a note.
  • When the user corrects you, save the correction.
  • A follow-up you promise for later ("I'll tell you when it's done") goes into a Routine, not only into memory.

Grok Bot only

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 stepOther agents
ListMachines, every connected computerOnly the computer you run on, as a local host
RoutinesRun the check once when asked
CardsPlain text with numbered options
MemoryAsk, or use the notes file the user names
SendToUser, CopyToBoxGive the file path

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

ao-actions

免费有简介

操作 AO 会话和拉取请求,包括中断或恢复工作、发起评审及经确认后合并。还可截取会话浏览器画面、发送指定文件、保持主机运行或安排定期任务。

  • 中断或恢复 AO 会话
  • 评审或合并拉取请求
  • 接收会话截图或成果文件
OrchestratorInc/agent-orchestrator1.4万2026年10月30日 更新

ao-answer

免费有简介

查找 AO 中等待用户回复的会话,将待答问题和待审批事项整理成选项,并把所选答复直接发送到对应会话。离开模式下也会遵循 AO 的决策规则。

  • 查看 AO 中等待回复的事项
  • 回答指定会话的问题
  • 批准待执行的命令或变更
OrchestratorInc/agent-orchestrator1.4万2026年10月30日 更新

ao-desktop-dev

免费有简介

启动或重启真实的 AO 桌面应用,用本地数据查看界面改动;也可组合多个拉取请求分支进行本地评审,并排查 Electron 进程、端口冲突和 preload bridge 不匹配。

  • 在 AO 桌面应用中检查界面改动
  • 用隔离数据或现有本地数据测试
  • 组合多个拉取请求分支评审界面
OrchestratorInc/agent-orchestrator1.4万2026年10月30日 更新

ao-orchestrator

免费有简介

将项目请求或问题发送给 AO 协调器,等待回复并转达结果。可用于启动或调整工作、了解项目进展、询问原因,以及讨论计划和后续步骤。

  • 启动项目工作
  • 询问进度或项目概况
  • 向协调器转达变更请求
OrchestratorInc/agent-orchestrator1.4万2026年10月30日 更新

ao-setup

免费有简介

此技能可查找运行 AO 的电脑并将其登记为主机,也可按需添加没有 Grok Bot 桌面应用的远程主机、记录默认交互模式,并设置定时检查或工作日摘要。

  • 首次使用 AO 前检查环境
  • 登记本地主机
  • 添加远程主机
OrchestratorInc/agent-orchestrator1.4万2026年10月30日 更新

ao-status

免费有简介

汇总多个 AO 主机上的会话状态,查看可合并的拉取请求和新的评审通知,也可检查会话最近的请求与回复,生成简要的每日摘要。

  • 查看 AO 中运行或等待的任务
  • 查找可合并的拉取请求
  • 了解新的评审结果和 PR 动态
OrchestratorInc/agent-orchestrator1.4万2026年10月30日 更新

查看 OrchestratorInc 的全部技能

报告此技能的问题