文档总览

配置视觉模型

先验证接口能接收图片,再让模型开始操作手机。

ESP32 Agent 会把截图发送到你配置的模型服务。所选模型需要通过 OpenAI 兼容的 Chat API 接受图片输入。出现在服务商预设或模型列表中,不等于支持视觉任务。

填写接口配置

在模型设置中选择匹配的服务商,或通过 Others 填写自定义 Base URL,再输入你自己的 API key 和有权访问的准确模型 ID。

Base URL 是 API 根地址,不是完整的聊天请求地址。例如某服务文档给出 https://your-model.example/v1/chat/completions,通常应填写 https://your-model.example/v1。这里只演示地址结构,请使用你实际服务的文档。

不要把一个服务商的密钥发到另一个地址。密钥存放于 iPhone 钥匙串,但发送屏幕内容前仍应核对服务目标。

确认模型能看图

逐项检查:

  1. 模型支持在聊天请求中输入图片。
  2. 你的账号有权访问填写的模型 ID。
  3. 服务端实现了 App 使用的图片请求格式。

App 可以读取模型列表,也允许编辑模型 ID,规划器与执行器可以分开指定模型。第一次搭建先用一个已知支持图片的模型跑通两个角色,再逐项调整。

在 App 中测试

修改配置后重新运行连接测试。当前版本会发送生成的彩色测试图;通过说明这次请求成功,不代表每个 App 和任务都稳定。

  • 鉴权失败:核对接口地址、密钥、账号权限和服务商的计费状态。
  • 模型不存在:核对准确 ID,以及账号是否开通对应模型。
  • 拒绝图片:检查模型视觉能力与 API 格式兼容性。
  • 请求超时:检查蜂窝网络和手机能否访问该服务。

自建模型服务

项目可使用 vLLM、SGLang、llama.cpp、Ollama 等工具提供的兼容接口,但所加载的模型与服务端必须支持需要的图片请求。

连接板子热点后,当前模型调用走蜂窝数据。局域网地址不会自动变成可达地址,localhost 在手机上也不是你的电脑。先准备有访问控制、手机实际能连接的服务,再测试自建配置。

数据与费用

截图和任务文本会发给你选择的接口,适用该服务的隐私与留存规则。自建模型本身不代表整条链路完全离线。

模型调用费与硬件费分开计算。这里不承诺某个模型一定最好、某种速度或成功率;用小而可重复的任务测试,并通过运行记录比较结果。

修改提示词

规划器与执行器提示词位于仓库的 prompts/,编译时打包进 App。修改后重新构建即可生效。比较效果时,记录模型与提示词版本,避免一次改变多个条件。

项目来源

README.mdios/IPhoneAgent/Services/ModelProvider.swiftdocs/connection-setup-debug-2026-10-16.md