Operit 外部 HTTP API:让任何系统都能调用手机 Agent
HTTP API 是什么
v1.12 起引入的外部 HTTP API——把手机上的 Operit Agent 暴露为可被外部系统调用的 HTTP 接口。和 Web Chat 不同,HTTP API 是程序化接口,可以被脚本、服务、IM 机器人等自动调用。
Operit 的定位因此从「手机上的 AI App」升级为「手机上的 Agent 节点」——任何能发 HTTP 请求的系统都能让它干活。
开启步骤
- Operit 设置 → 远程 → HTTP API → 开启
- 开启后:
- 显示 API 基础地址(如
http://192.168.1.100:8081) - 显示自动生成的 API Token(每次开启随机生成,关掉后失效)
- 显示可用端点列表
端点列表
| 端点 | 方法 | 用途 |
|---|---|---|
/api/v1/chat | POST | 发送对话消息,返回 AI 回复 |
/api/v1/tools | GET | 获取已安装的工具列表 |
/api/v1/tools/call | POST | 直接调用指定工具(跳过对话) |
/api/v1/models | GET | 获取可用模型列表 |
/api/v1/workflows | GET | 获取工作流列表 |
/api/v1/workflows/{id}/run | POST | 触发指定工作流 |
/api/v1/memory/search | POST | 搜索记忆库 |
/api/v1/screenshot | GET | 触发手机截图并返回图像 |
/api/v1/status | GET | 健康检查 |
鉴权方式
所有端点请求 Header 里需要带:
Authorization: Bearer <API Token>
Token 在 Operit 开启 HTTP API 时显示。每次关掉 API 再开,Token 会重新生成——外部系统需要同步更新。
外部系统对接示例
示例一:Python 脚本调用
import requests
BASE_URL = "http://192.168.1.100:8081"
TOKEN = "your-token-here"
headers = {"Authorization": f"Bearer {TOKEN}"}
# 发送对话
resp = requests.post(f"{BASE_URL}/api/v1/chat", headers=headers, json={
"message": "帮我查一下今天的天气,告诉我深圳下不下雨",
"model": "cloud/deepseek-chat"
})
print(resp.json()["reply"])
示例二:QQ Bot 对接
v1.12 起随 HTTP API 一起提供了 QQ Bot 示例代码。基本思路:
QQ 群消息 → Bot 检测到 @ Operit → 提取指令 → POST 到 Operit /api/v1/chat → 把回复发到 QQ 群
示例三:其他自动化工具
Home Assistant、n8n、Zapier、Make 等自动化平台都支持 HTTP Request 节点——把 Operit API 地址和 Token 填进去,就能在自动化流程里调用手机上的 Agent。
安全注意事项
默认关闭,按需开启
HTTP API 默认关闭——需要手动开启。Operit 关掉或被杀后台后 API 自动关闭。
安全设置
- Token 定期刷新:Operit 提供了「Token 轮换」按钮,点击后旧 Token 立即失效,生成新的
- IP 白名单:(部分版本支持)只允许指定 IP 范围访问 API
- HTTPS:公网暴露时强烈建议前面加 Nginx / Caddy 做 HTTPS 终结
- Hook Runner 配合:在 API 请求前加 Hook 做额外鉴权或请求过滤
已知限制
- 同 WiFi 优先:默认只在局域网用。公网暴露需要端口映射 + HTTPS + 强鉴权
- 并发限制:默认同时最多 3 个请求(避免主线程过载)
- 后台存活:API 存活需要 Operit 在前台服务运行——电池优化设为「不限制」
- 请求大小:默认限制请求体 < 1MB(防止大文件阻塞)
Agent-as-a-Service 的第一步
HTTP API + Web Chat + Windows 远程,v1.11–v1.12 这条线是 Operit 的定位升级——从「手机上的 AI 助手」变成「可被外部系统调用的 Agent 节点」。下一阶段的合理想象:
- 旧手机挂在家里当家庭 AI 节点
- 桌面 / 家庭设备 / IM Bot 全部接入这个节点
- 大脑在本地,任意设备都是端
这和 Pi 的「云端大脑 + 任意端」是同构的,只是大脑在本地而非云端。