Skip to content

bombless/android-chat

Repository files navigation

OpenClaw Android Chat (Jetpack Compose)

这是一个基于 Jetpack Compose 的安卓聊天客户端,直接读取项目根目录 ./openclaw.json 中的模型接口配置,支持:

  • 多模型切换(从 models.providers 自动加载)
  • 多轮对话(自动携带历史消息)
  • 流式输出(SSE,回复会逐字更新)
  • 顶栏左上角可开关 stream(流式/非流式)
  • 顶栏右上角有“测试”按钮(发起脚本同款 HTTP 请求并回显状态码/响应体)
  • 图片输入(选图后转 base64 上传)
  • 生成中可手动停止
  • 多种协议适配:
    • openai-completions
    • openai-responses
    • anthropic-messages
    • ollama(按 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.ktopenclaw.json 数据结构

关键行为

  • 构建时会自动把根目录 openclaw.json 复制到 app/src/main/assets/openclaw.json
  • Manifest 已开启 INTERNETusesCleartextTraffic=true
  • 如果所选模型不支持图片,会在发送时给出提示

构建

  1. 确保 local.properties 中有正确 SDK 路径(本项目已写入):
    • sdk.dir=/home/openclaw/Android/Sdk
  2. 设置 Java 17(例如 Android Studio 自带 JBR):
    • export JAVA_HOME=/home/openclaw/android-studio/jbr
  3. 构建:
    • ./gradlew :app:assembleDebug

使用注意

  • 你当前 openclaw.json 包含大量真实 API Key,打包 APK 会把这些配置带入安装包。仅建议在个人设备本地调试使用。
  • 如果你在模拟器里访问本机服务(如 127.0.0.1 上的 Ollama),通常应改成 10.0.2.2

本地监听 Content-Type(真机)

  1. 启动本地监听服务:
    • python3 tools/local_probe_server.py --host 0.0.0.0 --port 18080
  2. 重装 app 后,在模型列表选择:
    • openaix-local-probe/probe-model
  3. 点击右上角“测试”或直接发送消息。
  4. 终端会打印完整请求头与请求体,可直接确认:
    • Content-Type
    • 请求路径(应为 /v1/chat/completions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors