把 hark.com(hark pro) 的网页账号,变成手机本地一个标准的 OpenAI / Anthropic 兼容 API。 纯原生 Android 实现(Kotlin),无需 Python、无需 Docker、无需电脑——装到手机上就能跑,局域网内其他 App / agent 直接调用。
基于 WorkBuddy2API-Android(MIT)改造: 把上游从腾讯 WorkBuddy 换成 Hark,其余架构(本地 HTTP 服务、三协议适配、账号池、用量记录、保活)原样保留。
一个跑在 Android 手机上的本地 API 网关。
你的电脑 / Claude Code / Cherry Studio / Codex CLI / 其它 agent
│ http://<手机IP>:8788/v1/...
▼
┌──────────────────────────────────────┐
│ 手机 (Hark2API Native) │
│ 原生 HTTP 服务 (ServerSocket:8788) │
│ ├─ 三协议适配 (OpenAI/Anthropic/…) │
│ ├─ Hark 上游:cookie 登录 + 轮询 │
│ └─ SQLite:账号 / 用量 / 应用 Key │
└──────────────────────────────────────┘
│ https://hark.com
▼
Hark (hark pro)
Hark 和 WorkBuddy 完全不同,适配集中在新增的 HarkUpstream.kt:
- 认证:better-auth 的 httpOnly cookie。用邮箱 + 密码打
POST /api/auth/sign-in/email直接换取 cookie,无需 OAuth、无需浏览器、无验证码。 - 无流式:
POST /api/messages/send?cid=…立即返回{success:true},答案靠轮询GET /api/messages/history?conversationId=…,取新出现的 assistant 消息。 因此本 App 对客户端输出的是伪流式(整段内容一次性发一个 chunk +[DONE]), 首字延迟 = 全文生成完毕。 - 无模型选择:模型由 Hark 服务端决定,App 对外只暴露一个固定模型名
hark。 - 会话 cookie 有效期约 30 天,过期后自动用保存的密码重新登录(无 refresh token)。
Hark 答案会被包成一个标准 OpenAI chunk,喂进原有的协议管线——所以 Chat / Anthropic / Responses 三种协议、流式与非流式、用量记录全部自动复用。
- 安装 APK(需自行编译,见下)。
- App → 账号 页 → 「Hark 登录(邮箱 + 密码)」,填入 hark.com 账号。
- App → 应用 Key 页 → 新建一个 Key,「调用版本」选 Hark。
- 其它设备 / agent 用这个 Key 调用:
curl http://<手机IP>:8788/v1/chat/completions \
-H "Authorization: Bearer <你的Key>" \
-H "Content-Type: application/json" \
-d '{"model":"hark","messages":[{"role":"user","content":"你好"}]}'Anthropic 协议走 /v1/messages,Responses 协议走 /v1/responses。
# 前置:JDK 17+,Android SDK(compileSdk 36)
echo "sdk.dir=/你的/Android/SDK路径" > local.properties
./gradlew assembleDebug # 调试版
./gradlew assembleRelease # 发布版(需配置签名)无 gradlew 时用本机 Gradle:gradle assembleDebug。
| 文件 | 改动 |
|---|---|
HarkUpstream.kt |
新增:Hark 上游引擎(登录 / 会话 / 轮询 / OpenAI chunk 封装) |
RegionConfig.kt |
新增 HARK 区域枚举 |
NativeCore.kt |
Hark 区域返回固定模型;新增 harkAccountKeys();放宽 Hark 账号校验 |
NativeStore.kt |
upsertAccount() 对 Hark 跳过 accessToken 要求 |
ApiHostService.kt |
proxy() 内新增 Hark 上游分支 |
MainActivity.kt |
账号页新增「Hark 登录」;API Key 创建支持选 Hark 版本 |
- 伪流式(见上,Hark 本身不提供增量流)。
- 单账号并发请求会串会话;多账号时各自独立会话,轮询使用会丢上下文——需要连贯上下文时用单账号。
- Hark 为私有接口,随时可能变更。本项目适配于 2026-10-07 实测的接口。
仅供个人学习 / 研究使用。自动化访问可能违反 Hark 的服务条款,使用风险自负。 本仓库不含任何账号或凭据。
MIT —— 见 LICENSE。上游 / 原项目:WorkBuddy2API-Android(MIT)。