actl
让 AI 像人一样操作 Windows 软件——但更快、更准、每一步可验证。
actl 是一个给 AI agent 用的 Windows 命令行工具:agent 在 shell 里敲一条条命令,就能点击按钮、输入文字、读写剪贴板、操作任何桌面应用。它不看截图、不猜坐标——直接读取系统的无障碍树(UIA),像 Playwright 读网页 DOM 一样精确找到控件再操作,输出结构化 JSON。
| 常见方案 | 问题 |
|---|---|
| 截图 + 视觉模型(Agent-S、UI-TARS 等) | 慢、贵:每步过一遍 VLM,看图猜坐标,点错无法归因 |
| 让 AI 写 AutoHotkey 脚本 | 能力够,但是"整段盲跑":没有逐步反馈,失败只能整段重来 |
| 挂一个 MCP server | 重、占 agent 上下文;actl 是普通 CLI,任何能跑 shell 的 agent 拿来就用 |
一句话定位:Playwright 之于浏览器,actl 之于 Windows 桌面。 (Codex Computer Use 的官方降级顺序即"有结构化集成就优先于 computer use"——actl 就是 Windows 桌面上的那个结构化集成,对照分析见 docs/12。)
安装
scoop(推荐):
scoop install https://raw.githubusercontent.com/gqy20/actl/main/scoop/actl.json
直接下载:从 Releases 拿
actl_vX.Y.Z_windows_amd64.exe(主程序单文件即可用);完整包 zip 额外含
actl-signal.exe(桌面信号条,建议同装)。
cargo:cargo install actl-cli(crate 名 actl-cli,二进制名 actl)。
源码:
&&
快速上手
# 看一眼:目标窗口有哪些可操作元素(拿到稳定引用 @eN)
# 点击(UIA Invoke,后台执行不抢鼠标)
# 输入文字(带护栏:焦点被抢自动停在批边界,如实上报已送达量)
# 组合键 + 结果断言(新窗口没出现立即报 ASSERTION_FAILED,不静默假成功)
# 多候选歧义?错误里直接带结构化候选(含可重放 ref),不用重拍快照
# 立即断言(verify)与耐心等待(wait)
输出统一为 envelope JSON(ok/command/data|error/duration_ms),
错误带机器可读错误码 + 恢复建议 + 结构化 evidence,agent 可自我恢复:
桌面信号条(actl-signal)
自动化运行时,人的知情权与逃生口:右上角常驻迷你状态条(不抢焦点、DPI 感知、 Source Code Pro),状态灯取市场通行色——绿=执行中 · 琥珀=正在注入键鼠 · 红=已停止 · 灰=空闲 · 暗=失联。
- Ctrl+Alt+F12:全局紧急停止,在途注入在动作边界被拒(
ABORTED); - 点击状态条:清除停止标志恢复;
- 状态全部拉取(输入占用锁 + 状态文件),零事件订阅。
安全设计
- verify-then-inject:任何键盘/指针注入前以 Win32 物理前台为唯一判据核对目标, 不匹配宁可拒绝不错发;
- fail-closed:
press/type必须显式--app;指针物理动作必须--physical; ref 回放可带--snapshot <id>校验窗口实例(同标题重开 → STALE_REF); - 输入占用协调:多 actl 实例互斥;长注入分批复核焦点,被抢即停并上报;
- 修饰键治理:检测用户按住 ctrl/shift 时拒绝注入(防语义劫持),绝不踩掉用户按键。
命令面(24,actl commands 自发现)
感知 snapshot find get list-windows status commands ·
执行 click right-click double-click hover drag scroll type press key-down key-up set-value ·
窗口 launch focus-window close-window resize-window wait batch ·
验证 verify extract · 系统 get-clipboard set-clipboard
完整语义与协议契约见设计蓝图。
项目状态
M2:24 命令全链路,金任务(计算器/记事本保存)10/10,US1 跨 3 应用数据搬运 16/16, envelope 契约测试,显示信号层。阶段与退出标准见 ROADMAP。
文档
调研与设计全索引(竞品调研、PRD、技术选型、设计蓝图、实测战记)· AGENTS.md(协作规范,人与 AI 共用)· skills/actl(Agent Skill)
License
MIT