FluidInference/FluidUse

Local computer use on Apple silicon: on-device typed decisions with laya and form filling with CUA-S1-FORMS, driven through the macOS Accessibility API

FluidUse – macOS 上的设备端决策模型

功能简介
FluidUse 是一个 Swift 库,让 macOS 应用能够使用微型的设备端机器学习模型自动填写表单并做出类型化决策。它通过辅助功能 API 读取 UI 元素,询问 Core ML 模型每个字段应填入什么值,然后输入答案——所有操作均在本地完成,在 Apple Silicon 上延迟低于毫秒。

主要组件

组件 用途 模型大小/类型
AccessibilityFormDriver / WebFormDriver 捕获原生应用或 WKWebView 表单的快照并暴露其字段。 –
CuaS1FormsManager 第一方表单填写模型(706 K 参数)转换为 Core ML。 ~0.7 M 参数
LayaManager 决策模型(322 M mmBERT),一次性回答选择/评分/是非问题,无需生成 token。 322 M 参数,多个 token 长度桶
GLiNER2Manager 小型(128 token)分类头,最多支持 8 个标签。 291 MB(基础)/ 385 MB(多语言)
KevFastManager 运行 0.8 B 参数的 Kev 模型(Qwen 3.5 骨干)进行多问题回答。 ~3.5 GB
ClefVisionManager 视觉-语言决策模型(0.92 B),通过类型化问题评估图像。 总计约 1.8 GB
InternDecisionManager Intern-Decision 0.8 B 模型,仅用于文本类型化决策。 ~3.4 GB
Decision2Manager vLLM 语义路由器“Decision 2.0”模型(Kai 0.6 B,Eos 0.8 B)。 1.1-1.4 GB
Vela2Manager 路由、安全和跨度提取模型(0.3 B)。 ~640 MB
ShortReplyManager 起草一条简短的社交媒体回复(0.6 B)。 724 MB

所有管理器在首次使用时从 Hugging Face 下载已检入的 Core ML 包,验证 SHA-256 校验和,并将其缓存到 ~/Library/Application Support/FluidUse/Models/… 下。

使用方法

import FluidUse
let model = try await CuaS1FormsManager.load()
let driver = AccessibilityFormDriver(application: safari)
let page = try await driver.snapshot()
for field in page.elements where field.isActionable {
    let ctx = FormSchema.renderContext(formTitle: page.title, element: field)
    let decision = try await model.score(context: ctx, options: …)
    // 解码 → driver.type / driver.click
}

其他管理器(Laya、GLiNER2、Kev 等)也遵循相同的模式——加载管理器,调用 answer/score/classify,然后对结果执行操作。

性能亮点

  • 表单填写模型:在神经引擎上每次决策约 0.9 ms,准确性与 PyTorch 参考实现一致。
  • Laya:在 M5 Pro 上每个短问题 3.6 ms(比 GPU PyTorch 快约 7 倍)。
  • GLiNER2 分类:在神经引擎上每个双选项决策(FP16)1.6 ms。
  • Kev 0.8 B:在 M5 Pro 上处理双问题工单 18 ms。
  • Clef-Vision:一张图像 + 约 500 个 token 260 ms(视觉 50 ms,语言 190 ms)。
  • Decision 2.0(Kai):约 1 k token 请求 17 ms;Eos 稍慢。
  • 短回复草稿:在 M5 Pro 上每条回复约 190 ms。

所有计时均在 Apple Silicon(M5 Pro)上使用设备端 Core ML 执行测得;不会向服务器发送任何数据。

演示与工具

  • FluidUseDemo – CLI,可选择正在运行的应用、加载配置文件并填写表单。
  • 多个 Swift-UI 演示(LayaTetrisDemo、GLiClass2048Demo、GuardrailDemo、FrontDoorDemo、ShortReplyDemo)。
  • CLI 辅助工具,用于基准测试、在合成套件上运行模型,以及玩简单游戏(俄罗斯方块、2048)以展示决策延迟。

适用对象
面向构建 macOS 自动化、设备端助手或隐私优先的 UI 自动化工具的开发人员,这些工具需要超快速、本地运行的决策模型。

许可证
FluidUse 代码采用 Apache 2.0 许可证;CUA-S1-FORMS 模型采用 MIT 许可证。

相关

  • 项目
  • 项目
  • 项目
  • 项目