ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Argent Device Providers 生态指南:让 IDE 与编辑器无缝接入设备自动化

Argent Device Providers 生态指南:让 IDE 与编辑器无缝接入设备自动化 Argent Device Providers 生态指南让 IDE 与编辑器无缝接入设备自动化【免费下载链接】argentAn agentic toolkit to control, debug, and profile iOS and Android apps. Made by Software Mansion.项目地址: https://gitcode.com/gh_mirrors/arg/argentArgent Device Providers是开源工具 Argent 提供的设备提供商扩展契约任何第三方应用IDE、编辑器插件、模拟器管理器只要把一份 JSON 描述文件写入~/.argent/providers/就能把自己正在运行的 iOS 模拟器或 Android 设备共享给 Argent让 AI Agent 直接驱动你现有的设备而不会重复启动第二台。整套契约厂商中立、无需修改 Argent 即可接入。为什么需要 Device Providers通常AI Agent 工具调试移动应用时会自己拉起模拟器——这与你 IDE 里已经开着的模拟器互相打架端口冲突、互相抢占、生命周期混乱。Device Providers 的思路是复用而非竞争️ 谁在跑设备谁就是 providerIDE、编辑器扩展、设备管理平台 provider 写一份描述文件Argent 自动发现并挂载这些设备 Argent 永远不会启动、重启或关闭 provider 的设备生命周期完全归 provider 管工作机制一个 JSON 文件就是全部契约provider 只需写入~/.argent/providers/名称.json Argent 每次工具调用都会重新读取该文件、零缓存——因此授权可以随时收紧或撤销下一次调用立即生效。一份最小描述文件长这样摘自官方文档{ schemaVersion: 1, id: acme-3f2a9c, name: Acme IDE, pid: 41234, devices: [ { nativeId: 1A2B3C4D-5E6F-7081-92A3-B4C5D6E7F809, platform: ios, kind: simulator, name: iPhone 16 Pro, state: Booted, capabilities: [simulator-server, simctl, ax-service], simulatorServer: { apiUrl: http://127.0.0.1:52001, streamUrl: http://127.0.0.1:52001/stream.mjpeg } } ] }关键设计点设计含义schemaVersion: 1版本不符会被静默跳过provider永远不可能弄坏Argentcapabilities必填未声明能力 未授权fail-closed缺省不等于允许一切pid字段记录 provider 进程崩溃后残留文件可被安全清理workspace字段标明设备属于哪个项目Agent 可优先选用当前项目的设备未知字段/能力直接忽略新 provider 声明未来能力也不会影响旧版 Argent一键接入步骤provider 侧操作清单Argent CLI 内置了完整的 provider 管理子命令实现见 providers.ts命令用途argent providers check用与工具服务器相同的校验器验证描述文件建议放进 CIargent providers publish原子化写入描述文件并顺手清理自己厂商的崩溃残留argent providers list查看 Argent 此刻看到的所有 provider 与设备argent providers withdraw id移除某个 provider 的描述文件argent providers prune移除所有进程已死的孤儿描述文件支持--dry-run直接手写 JSON 文件也完全合法——这是契约的记录版本Swift 或 Rust 写的 provider 无法调用 Node CLI写文件就是标准做法。 设置环境变量ARGENT_DISABLE_DEVICE_PROVIDERS1可随时关闭整个特性。能力清单7 个 capability 令牌控制授权边界每个令牌授予一种机制Argent 会拒绝使用 provider 未授予的机制且错误信息会指向 provider 的supportUrlsimulator-server— 挂载apiUrl/streamUrl获取输入、截图与视频流simctl— 运行xcrun simctl命令adb— 将nativeId作为 adb 序列号驱动ax-service— 在模拟器内启动无障碍服务js-debugger— 为 JS 运行时挂载调试器客户端native-profiler— 用 Instruments 或 Perfetto 做性能剖析native-devtools— 注入原生检查代理仅 iOSAI Agent 视角外部设备如何被使用外部设备在list-devices中以ext:provider:nativeId形式出现并额外携带provider、capabilities、external: true三个字段。Agent 使用它有两条额外规则优先选择provider.workspace.path与当前项目一致的设备不调用boot-device——设备的生命周期归 provider 所有授权是按设备而非按名字生效的无论用ext:名还是真实 UDID被收回的机制都会被拒绝provider 撤回授权后Argent 会在下一次调用前关闭自己持有的所有句柄。相关资源官方文档reference/device-providers.mdx契约定义zod schemadevice-providers/src/contract.tsJSON Schemadevice-providers/schemas/device-provider-v1.json发现逻辑只读、永不删除device-providers/src/read.ts发布与清理逻辑原子写入、孤儿修剪device-providers/src/write.ts支持的编辑器与 MCP 配置位置reference/editors.mdx【免费下载链接】argentAn agentic toolkit to control, debug, and profile iOS and Android apps. Made by Software Mansion.项目地址: https://gitcode.com/gh_mirrors/arg/argent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表