这是一个基于 Jetpack Compose 的安卓聊天客户端,直接读取项目根目录 ./openclaw.json 中的模型接口配置,支持:
- 多模型切换(从
models.providers自动加载) - 多轮对话(自动携带历史消息)
- 流式输出(SSE,回复会逐字更新)
- 顶栏左上角可开关
stream(流式/非流式) - 顶栏右上角有“测试”按钮(发起脚本同款 HTTP 请求并回显状态码/响应体)
- 图片输入(选图后转 base64 上传)
- 生成中可手动停止
- 多种协议适配:
openai-completionsopenai-responsesanthropic-messagesollama(按 OpenAI chat/completions 兼容路径)
app/src/main/java/com/openclaw/androidchat/ui:Compose UI 与状态管理app/src/main/java/com/openclaw/androidchat/network/LlmApiClient.kt:协议适配与请求实现app/src/main/java/com/openclaw/androidchat/data/OpenClawConfig.kt:openclaw.json数据结构
- 构建时会自动把根目录
openclaw.json复制到app/src/main/assets/openclaw.json - Manifest 已开启
INTERNET与usesCleartextTraffic=true - 如果所选模型不支持图片,会在发送时给出提示
- 确保
local.properties中有正确 SDK 路径(本项目已写入):sdk.dir=/home/openclaw/Android/Sdk
- 设置 Java 17(例如 Android Studio 自带 JBR):
export JAVA_HOME=/home/openclaw/android-studio/jbr
- 构建:
./gradlew :app:assembleDebug
- 你当前
openclaw.json包含大量真实 API Key,打包 APK 会把这些配置带入安装包。仅建议在个人设备本地调试使用。 - 如果你在模拟器里访问本机服务(如
127.0.0.1上的 Ollama),通常应改成10.0.2.2。
- 启动本地监听服务:
python3 tools/local_probe_server.py --host 0.0.0.0 --port 18080
- 重装 app 后,在模型列表选择:
openaix-local-probe/probe-model
- 点击右上角“测试”或直接发送消息。
- 终端会打印完整请求头与请求体,可直接确认:
Content-Type- 请求路径(应为
/v1/chat/completions)