airtap
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAirtap
Airtap
Use the bundled CLI to interact with Airtap tasks.
scripts/airtap.py使用附带的 CLI与Airtap任务进行交互。
scripts/airtap.pySafety
安全注意事项
- Use this skill for Airtap or mobile-app requests that can be delegated to an Airtap device.
- Prefer . Do not target a physical receiver unless the user explicitly asks for that device.
--receiver-id cloud - is local-only by default. Use OpenClaw delivery only when the host explicitly wants mirrored updates.
task poll - Do not ask the user to paste tokens into chat. Use preconfigured environment variables or the
local file.
scripts/.env - Never invent OpenClaw targets, thread IDs, reply IDs, or account scopes.
- 将此技能用于可委托给Airtap设备的Airtap或移动应用请求。
- 优先使用。除非用户明确指定,否则不要针对物理接收端设备。
--receiver-id cloud - 默认仅本地运行。仅当主机明确需要同步更新时,才使用OpenClaw推送。
task poll - 不要要求用户在聊天中粘贴令牌。使用预配置的环境变量或本地文件。
scripts/.env - 切勿编造OpenClaw目标、线程ID、回复ID或账户范围。
Setup
设置步骤
Run commands from the skill directory.
First, sign in to , open Settings, create a personal access token, and copy
it.
https://airtap.ai/appCreate or update with:
scripts/.envbash
python3 scripts/airtap.py --add-token "your-personal-access-token"Or copy the template and fill in the personal access token:
bash
cp scripts/env.example.txt scripts/.envThe script loads on startup and values from that file override same-named shell
environment variables.
scripts/.envRequires and . If missing:
requestspython-dotenvbash
pip3 install -r requirements.txt从技能目录运行命令。
首先,登录,打开设置,创建个人访问令牌并复制。
https://airtap.ai/app通过以下命令创建或更新:
scripts/.envbash
python3 scripts/airtap.py --add-token "your-personal-access-token"或者复制模板并填写个人访问令牌:
bash
cp scripts/env.example.txt scripts/.env脚本启动时会加载,该文件中的值会覆盖同名的Shell环境变量。
scripts/.env需要依赖和。如果缺失:
requestspython-dotenvbash
pip3 install -r requirements.txtCommand Reference
命令参考
Run all commands as .
python3 scripts/airtap.py <resource> <action> ...| Command | Use when | Notes |
|---|---|---|
| You need to choose a receiver. | Helpful before task creation. |
| Model choice matters for the task. | Main Airtap choices are |
| You want to start a new task. | Add |
| You need recent tasks. | Useful when you need to recover a |
| You need a one-time task snapshot. | Useful for debugging or inspecting the final state. |
| You need to monitor a running task. | Polls locally by default and can optionally forward updates into OpenClaw. |
| The task needs more input. | Use for clarification, continuation, or resuming work. |
| The task should stop. | Use when the user no longer wants the task to continue. |
| The task depends on user location. | Send the location as raw JSON. |
所有命令格式为。
python3 scripts/airtap.py <资源> <操作> ...| 命令 | 使用场景 | 说明 |
|---|---|---|
| 需要选择接收端时 | 创建任务前使用会很有帮助。 |
| 模型选择对任务至关重要时 | 主要的Airtap选项为 |
| 想要启动新任务时 | 仅在需要覆盖默认模型时添加 |
| 需要查看近期任务时 | 用于找回 |
| 需要获取任务一次性快照时 | 用于调试或检查最终状态。 |
| 需要监控运行中的任务时 | 默认本地轮询,也可选择将更新同步至OpenClaw。 |
| 任务需要更多输入时 | 用于澄清、续接或恢复任务。 |
| 需要终止任务时 | 当用户不再希望任务继续时使用。 |
| 任务依赖用户位置时 | 以原始JSON格式发送位置信息。 |
Choosing A Model
模型选择
- Only list models when model choice matters. Do not call for every task.
model get-list - If you do not send during task creation, Airtap defaults to
modelId.airtap-1.0-flash - (
Airtap 1.0 Flash) is the default. Use it for shorter tasks that benefit from lower latency.airtap-1.0-flash - (
Airtap 1.0) is slower. Use it for more complex tasks where better reliability is worth the extra latency.airtap-1.0 - returns the models available to the current account. Most users see
model get-listandairtap-1.0. Debug users may also seeairtap-1.0-flash.airtap-1.0-lite
- 仅在模型选择对任务有影响时列出模型。不要每次任务都调用。
model get-list - 如果在创建任务时未发送,Airtap会默认使用
modelId。airtap-1.0-flash - (
Airtap 1.0 Flash)是默认选项。适用于能从低延迟中获益的短任务。airtap-1.0-flash - (
Airtap 1.0)速度较慢。适用于更复杂、更看重可靠性的任务,值得为此付出额外延迟。airtap-1.0 - 会返回当前账户可用的模型。大多数用户会看到
model get-list和airtap-1.0,调试用户可能还会看到airtap-1.0-flash。airtap-1.0-lite
Monitoring Long-Running Tasks
监控长时间运行的任务
Airtap tasks can take a few seconds to several minutes. Treat them as long-running jobs.
- Create the task and capture the returned .
taskId - If you only need a local wait loop, call
.
python3 scripts/airtap.py task poll --task-id "<task-id>" - If the host explicitly wants OpenClaw channel updates, read and call
references/openclaw.mdwithtask polland any routing fields required for the destination conversation.--openclaw-target - Let keep polling until
task pollreaches one of the states in the task-state glossary below.taskState - Read the final JSON response from .
task poll
task poll- It polls internally every 10 seconds by default.
task get-details - It stops automatically when the task completes, fails, is cancelled, or needs user input.
- It returns the same task details payload plus a summary.
_poll - Bare only polls Airtap locally.
task poll --task-id ... - OpenClaw delivery requires .
--openclaw-target - OpenClaw delivery is milestone-based by default: acknowledgement, one plan/start update, and the final or waiting-state update.
- Add only when the host explicitly wants every Airtap agent update forwarded.
--openclaw-verbose - Detailed OpenClaw routing flags and examples live in .
references/openclaw.md
How to read the task details returned by or :
task polltask get-details- is ordered conversation history. The first message is typically the original user request. Later entries are usually agent updates.
messages - Most progress updates come from the latest message.
type: "agent" - Inside an agent message, inspect text parts first.
- is the main progress update.
text - and
groupare UI grouping fields that help categorize the update.subGroup - may contain user follow-ups that have been accepted but not processed yet.
queuedUserMessages
Airtap任务可能需要几秒到几分钟的时间,将其视为长时间运行的作业。
- 创建任务并记录返回的。
taskId - 如果仅需要本地等待循环,调用。
python3 scripts/airtap.py task poll --task-id "<task-id>" - 如果主机明确需要OpenClaw频道更新,请阅读,并调用带有
references/openclaw.md和目标对话所需路由字段的--openclaw-target。task poll - 让持续轮询,直到
task poll达到下方任务状态术语表中的某一状态。taskState - 读取返回的最终JSON响应。
task poll
task poll- 默认每10秒内部调用一次进行轮询。
task get-details - 当任务完成、失败、被取消或需要用户输入时自动停止。
- 返回与相同的任务详情负载,外加
task get-details摘要。_poll - 仅使用时仅在本地轮询Airtap。
task poll --task-id ... - OpenClaw推送需要参数。
--openclaw-target - OpenClaw推送默认基于里程碑:确认消息、一次计划/启动更新,以及最终或等待状态更新。
- 仅当主机明确要求转发每一步Airtap代理更新时,才添加参数。
--openclaw-verbose - 详细的OpenClaw路由标志和示例请查看。
references/openclaw.md
如何解读或返回的任务详情:
task polltask get-details- 是按顺序排列的对话历史。第一条消息通常是原始用户请求,后续条目通常是代理更新。
messages - 大多数进度更新来自最新的消息。
type: "agent" - 在代理消息中,先检查文本部分。
- 是主要的进度更新内容。
text - 和
group是UI分组字段,用于对更新进行分类。subGroup - 可能包含已被接受但尚未处理的用户跟进消息。
queuedUserMessages
Task States
任务状态
- : the task finished successfully.
COMPLETED - : the task could not be completed.
FAILED - : the task was cancelled.
CANCELLED - : the user must perform some action on the device.
WAITING_FOR_USER_INTERVENTION - : the agent needs clarification before continuing the task.
WAITING_FOR_USER_INPUT - : the task reached the maximum step limit and needs approval to keep going.
WAITING_FOR_USER_CONTINUE
- :任务成功完成。
COMPLETED - :任务无法完成。
FAILED - :任务已被取消。
CANCELLED - :用户必须在设备上执行某些操作。
WAITING_FOR_USER_INTERVENTION - :代理需要用户澄清才能继续任务。
WAITING_FOR_USER_INPUT - :任务已达到最大步骤限制,需要用户批准才能继续。
WAITING_FOR_USER_CONTINUE
Required Agent Behavior
代理必备行为
- If the host expects OpenClaw channel updates while Airtap is running, call with
task polland the required routing flags. Otherwise use local-only--openclaw-target.task poll - Use milestone-only OpenClaw delivery by default. Add only when the host explicitly wants every Airtap step forwarded.
--openclaw-verbose - On , ask the user the needed clarification, then forward the answer with
WAITING_FOR_USER_INPUT.task add-user-message - On , tell the user exactly what action they need to perform on the device, wait for confirmation, then resume with
WAITING_FOR_USER_INTERVENTION.task add-user-message - On , summarize the progress so far, ask whether to continue, and if the user approves, resume with
WAITING_FOR_USER_CONTINUE.task add-user-message - On , summarize the result using the latest agent updates.
COMPLETED - On or
FAILED, report the final state and any useful context from the latest agent message.CANCELLED - If any Airtap API call returns or another request failure, tell the user to get an updated version of the Airtap skill before retrying.
404
- 如果主机期望Airtap运行时同步OpenClaw频道更新,请调用带有和所需路由标志的
--openclaw-target。否则使用仅本地运行的task poll。task poll - 默认使用仅基于里程碑的OpenClaw推送。仅当主机明确要求转发每一步Airtap操作时,才添加参数。
--openclaw-verbose - 当状态为时,向用户询问所需的澄清信息,然后通过
WAITING_FOR_USER_INPUT转发答案。task add-user-message - 当状态为时,明确告知用户需要在设备上执行的操作,等待确认后通过
WAITING_FOR_USER_INTERVENTION恢复任务。task add-user-message - 当状态为时,总结当前进度,询问用户是否继续,若用户同意则通过
WAITING_FOR_USER_CONTINUE恢复任务。task add-user-message - 当状态为时,使用最新的代理更新总结结果。
COMPLETED - 当状态为或
FAILED时,报告最终状态以及最新代理消息中的有用上下文。CANCELLED - 如果任何Airtap API调用返回或其他请求失败,请告知用户获取最新版本的Airtap技能后再重试。
404
Examples
示例
Create a task with the default model:
bash
python3 scripts/airtap.py task create --message "Open Instagram" --receiver-id cloudList available models when the task is complex:
bash
python3 scripts/airtap.py model get-listCreate a task with the more reliable Airtap model:
bash
python3 scripts/airtap.py task create \
--message "Compare the price of a product on Amazon and Zepto" \
--receiver-id cloud \
--model-id airtap-1.0Monitor a running task locally only:
bash
python3 scripts/airtap.py task poll --task-id "task_abc123"Answer a clarification request or continue a paused task:
bash
python3 scripts/airtap.py task add-user-message --task-id "task_abc123" --message "Continue"Cancel a task:
bash
python3 scripts/airtap.py task cancel --task-id "task_abc123"使用默认模型创建任务:
bash
python3 scripts/airtap.py task create --message "Open Instagram" --receiver-id cloud当任务复杂时列出可用模型:
bash
python3 scripts/airtap.py model get-list使用更可靠的Airtap模型创建任务:
bash
python3 scripts/airtap.py task create \
--message "Compare the price of a product on Amazon and Zepto" \
--receiver-id cloud \
--model-id airtap-1.0仅本地监控运行中的任务:
bash
python3 scripts/airtap.py task poll --task-id "task_abc123"回复澄清请求或恢复暂停的任务:
bash
python3 scripts/airtap.py task add-user-message --task-id "task_abc123" --message "Continue"取消任务:
bash
python3 scripts/airtap.py task cancel --task-id "task_abc123"Notes
注意事项
- Image attachments are supported for and
task createviatask add-user-message.--image-file - For OpenClaw relay details and examples, read .
references/openclaw.md
- 和
task create支持通过task add-user-message参数添加图片附件。--image-file - 有关OpenClaw转发的详细信息和示例,请阅读。
references/openclaw.md