
cua-s1-forms 是一个专为 GUI 表单填写任务设计的小型、专业化“System One”决策模型,作为 cua-driver 的底层决策层。与自回归 LLM 不同,它不生成任何文本,而是接收一个 UI 元素及带类型的选项列表(每个文档实体对应一个选项,外加 check/click/skip),在单次前向传播中并行返回每个选项的概率分布——输入输出契约与 TypeSafe Jev 完全一致。所有可操作元素在一个批次中独立评分,执行顺序(填充→复选框→提交)由下游代码控制,模型仅负责“选什么”,不负责“何时做”。

该项目是 CUA-S1 研究家族的首个公开组件,聚焦于结构化界面元素与文档值的决策评分,而非通用智能体规划。当前发布为仅源码的研究预览(MIT 许可),模型权重单独托管于 Hugging Face,且 cua-s1-form-v0 检查点尚未公开分发。项目明确声明:这不是通用助手,也不代表其在评估边界外的可靠性。
核心设计理念:分离决策与执行
cua-s1-forms 严格遵循“规划-执行分离”原则:
- 模型职责:仅对单个 UI 元素的可选动作进行概率评分,无状态、无序列依赖
- 运行时职责:排序动作、管理窗口快照、验证执行效果、处理异常回退
- 安全约束:
submit=true仅允许标签精确匹配 “Submit” 或 “Submit Form” 的高置信度按钮;其他点击被省略;PDF 访问限定于配置的允许根目录
这种架构使模型保持极小体量与确定性行为,同时将复杂逻辑与安全策略置于可控的应用层。
技术实现与集成方式
Python 包(研究原语)
# 安装开发环境(不下载模型)
uv sync --project libs/cua-s1/python --extra pdf --group test
uv run --project libs/cua-s1/python pytest libs/cua-s1/python/tests
包名 cua-s1,导入名 cua_s1。加载检查点需本地 safetensors + JSON 配置,拒绝 pickle 格式以规避安全风险。
MCP 服务器(高级集成)
uv sync --project libs/cua-s1/python --extra mcp --extra pdf
通过 stdio 传输提供工具接口,关键环境变量:
CUA_S1_PLANNER_FACTORY:指定可信 Python 工厂(module:attribute),不可指向不受信模块CUA_S1_ALLOWED_PDF_ROOTS:OS 路径分隔的 PDF 读取白名单目录CUA_S1_DRIVER_*:覆盖 Cua Driver 二进制、传输与会话
⚠️ 重要限制:当前 Cua Driver 契约未暴露 set_value,除非运行时明确宣告兼容的 token-based 值变更,否则填充执行将故障关闭。规划功能仍可用,但执行需等待驱动更新。
安全边界与部署守则
- 试运行优先:默认启用 dry-run,要求明确目标窗口、快照绑定元素 token,并在每次变更后重新观察
- 最小权限:生产环境必须使用专用、受限目录作为 PDF 根;禁止使用工作目录
- 敏感数据处理:MCP 工具结果与 stdio 日志可能含表单值、标签、窗口元数据,视为敏感信息
- 人工审查强制:涉及财务、法律、医疗、账户、权限或外部通信的动作,必须经人工确认
- 隔离运行:始终在沙箱环境中执行,使用临时凭据
项目状态与局限性
| 维度 | 现状 |
|---|---|
| 代码 | MIT 许可,仅源码发布 |
| 权重 | cua-s1-form-v0 已定义但未分发 |
| 评估 | 离线指标区分准确率/弃权/覆盖率/错误动作;合成数据按表单签名划分 |
| 泛化性 | 不保证跨应用、OS、语言、布局、辅助功能设置或任务分布的迁移能力 |
| 商业使用 | 未来权重可能仅限研究评估,生产需单独协议 |
⚠️ 关键提醒:此发布不确立任何性能声明。使用前必读 MODEL_CARD.md(范围限制)与 SECURITY.md(部署指导)。不要假设实验室结果可直接应用于真实环境。
负责任使用框架
cua-s1-forms 代表了计算机使用模型从“全能代理”向“专用决策单元”的范式转变。它的价值不在于自主性,而在于可预测、可审计、可约束。对于需要自动化表单处理但又无法承受 LLM 幻觉风险的组织,这提供了一个工程化替代路径。但请记住:再小的模型也是权力载体。在按下“启用执行”之前,请确保你的安全护栏比模型的决策边界更坚固。研究阶段的工具不是产品,而是邀请你共同构建更安全自动化未来的起点。
相关导航


SuperClaude 框架

Camofox Browser

OWL

Glow

AnyCrawl

markdown.new






