适用于本地自动化开发者
如果本地脚本或 Agent 正在控制浏览器、编辑器、终端或上传工具,可以用这页让灵汐在任务完成前保持目标应用打开。
自动化指南
当本地脚本、工具或自动化流程还在使用某个应用时,让灵汐不要把它当成闲置应用关掉。
适用对象
当你的本地工具会启动或控制某个应用,并希望灵汐等任务真正结束后再清理它时,就看这页。
如果本地脚本或 Agent 正在控制浏览器、编辑器、终端或上传工具,可以用这页让灵汐在任务完成前保持目标应用打开。
日常使用不需要看这页。除非你要把自己的本地自动化工具接入灵汐,否则直接看使用指南就够了。
传输方式
灵汐在本机提供同一用户可访问的 Unix domain socket。你的工具可以通过它告诉灵汐:哪个应用还在忙。
~/Library/Application Support/Aion/ipc/ai-protection.sock 灵汐 2.11 还可以接收 aion:// 指令,用于切换场景、开关保护、管理列表、读取状态和控制窗口。默认关闭,需要在「设置 → 高级」手动开启。
aion://scene/activate?name=Coding 使用内置的 SKILL.md 包,让兼容的 Agent 能发现 Aion CLI,并在长任务期间主动申请保护。
aion install-skill 打开 SKILL.md 协议流程
动作
session.hellolease.beginlease.renewlease.endlease.listlease.can_close.replylease.can_close.request
握手与传输错误
session.hellosession.readysession.errorinvalid_handshakeunsupported_protocol_versionholder_id_mismatchunauthenticated 应用标识
策略限制
示例
{
"action": "session.hello",
"protocolVersion": 1,
"holderId": "agent.local.test",
"clientName": "Test Agent",
"pid": 42
} {
"action": "lease.begin",
"requestId": "req_123",
"holderId": "agent.local.test",
"appKey": "com.google.Chrome",
"leaseSeconds": 600
} {
"action": "lease.can_close.reply",
"requestId": "close_777",
"holderId": "agent.local.test",
"appKey": "com.google.Chrome",
"result": "extend_lease",
"leaseSeconds": 300
} 业务响应码
acceptedinvalid_payloadunknown_actionunknown_appnot_entitledholder_mismatchrequest_expiredlease_conflict 边界
实践页
先看这页里的稳定接入方式。如果某个工具有额外设置细节,再看对应实践页,不把所有边缘问题都塞进基础指南。
针对 Playwright、Puppeteer 等本地自动化运行时的避让与配置细节,帮助 Agent 顺畅地与灵汐并存。
阅读实践指南2.11 新功能
Socket 用来保护正在忙的应用;可选的 aion:// 指令用于更广的控制:切换场景、开关保护、更新列表、读取状态和控制窗口。除非你信任要调用它的本地工具,否则保持关闭。
打开灵汐 → 设置 → 高级 → External Agent Control / 外部控制,开启开关。默认关闭,需手动开启。
在终端中用 open "aion://..." 调用,或在代码中使用 NSWorkspace.shared.open(url)。指令会即时在主线程生效。
open "aion://scene/activate?name=Coding" ~/.aion_status.json 仅由 status 命令及相关状态请求刷新。租约命令通过 Unix Socket 直接返回,不依赖此文件。
~/.aion_status.json URL 指令参考
aion://scene/activate?name=Coding 按名称激活场景 aion://scene/activate?id=<uuid> 按 UUID 激活场景 aion://scene/deactivate 退出场景,恢复标准模式 aion://scene/toggle 切换场景激活状态 aion://protect/video?on=true 开关全屏视频硬防护 aion://protect/smart-guards?on=false 开关智能守卫保护 aion://protect/focus-sync?on=true 开关 macOS 专注模式联动 aion://protect/instant?on=true 开关瞬时任务保护(即用即走) aion://protect/clean-now 立刻触发一轮闲置应用清理 aion://blacklist/add?bundleId=com.apple.Safari 将应用加入黑名单(优先快速清理) aion://blacklist/remove?bundleId=com.apple.Safari 从黑名单移除应用 aion://blacklist/toggle?bundleId=<id> 切换黑名单状态 aion://whitelist/add?bundleId=com.apple.dt.Xcode 将应用加入白名单(永远保持运行) aion://whitelist/remove?bundleId=com.apple.dt.Xcode 从白名单移除应用 aion://whitelist/toggle?bundleId=<id> 切换白名单状态 aion://ui/popover 打开/关闭菜单栏弹窗 aion://ui/settings?tab=blacklist 打开设置并跳转到指定标签页 aion://ui/history 打开清理历史记录窗口 aion://status 将当前状态写入 ~/.aion_status.json 状态 JSON
activeScene — 当前激活的场景名称(或 "Standard Mode")scenes — 全部场景列表(包含 id 和名称)protections.autoQuit — 是否启用自动退出protections.fullScreenVideoLock — 是否启用全屏视频锁protections.smartGuards — 是否启用智能守卫protections.focusIntegration — 是否启用专注模式联动protections.instantTask — 是否启用瞬时任务保护blacklist — 黑名单 Bundle ID 列表whitelist — 白名单 Bundle ID 列表aiLeases — 活跃的 AI 保护租约列表(按 Bundle ID 索引)demoModeActive — 演示模式是否激活version — 当前应用版本号示例
{
"activeScene": "Coding",
"aiLeases": {
"com.google.Chrome": {
"holderId": "aion.cli",
"leaseUntil": "2026-08-07T13:00:00Z",
"status": "active"
}
},
"blacklist": ["com.apple.Safari"],
"demoModeActive": false,
"protections": {
"autoQuit": true,
"focusIntegration": true,
"fullScreenVideoLock": true,
"instantTask": true,
"smartGuards": true
},
"scenes": [
{ "id": "...", "name": "Coding" },
{ "id": "...", "name": "Meeting" }
],
"version": "2.11.2",
"whitelist": ["com.apple.finder", "com.apple.dt.Xcode"]
} CLI 工具
Aion 项目附带 Scripts/aion-cli.sh。租约命令使用灵汐的本地 Unix Socket 并直接返回;其他受支持命令使用需手动开启的 aion:// URL Scheme。状态 JSON 仅由 status 命令及相关状态请求刷新。
无 holder 的 begin/end 示例可跨独立进程配对,因为 CLI 使用稳定的默认 holder:aion.cli。多个 Agent 需要隔离租约所有权时,请显式传入 holder。
./Scripts/aion lease begin com.google.Chrome 600 ./Scripts/aion lease end com.google.Chrome ./Scripts/aion lease list ./Scripts/aion scene activate "Coding" ./Scripts/aion protect video on ./Scripts/aion blacklist add com.apple.Safari ./Scripts/aion status 如果你在接入本地自动化工具时遇到瓶颈,或者当前文档无法覆盖你的使用场景,欢迎发邮件联系我们。如果是日常使用问题,查看用户指南能更快获得解答。