klllas/vokta
GitHub: klllas/vokta
Vokta 是一款自托管的开源 AI 录音笔 Android 客户端,能将廉价 BLE 录音设备变为无需订阅的通话与会议录音、转写及摘要平台。
Stars: 0 | Forks: 0
# Vokta
**一款私有、自托管的开源 AI 录音笔 —— Plaud / HiDock 的替代方案。**
Vokta 能将便宜的 BLE “AI 录音笔” 卡片设备(在 AliExpress 上销售的 Actions ATS2837 / "AIDVRLink /
DVR Link / LA518" 系列)变成完全自托管的通话与会议
录音机。它通过 Bluetooth 录制通话/会议,无线同步到**你自己的服务器**,并
在**你自己的 GPU** 上进行转写 + 说话人分离 + 摘要 —— 无需供应商云服务,无需
订阅,音频数据绝不离开你的基础设施。
## 功能特性
- 🔴 **自动通话录音** — 后台服务保持录音笔唤醒状态,并
零点击录制每一通电话(包括呼出*和*呼入);挂断时自动停止并同步。
- 📡 通过 BLE **无线同步** — 将录音从录音笔中拉取出来,无需数据线。
- ✍️ 在你的服务器上进行 **转写 + 说话人分离**(Whisper large-v3 + pyannote)。
- 🧠 通过你自己的 LLM 网关生成 **摘要 + 待办事项**。
- ▶️ **播放**、针对单条录音的 **从内存中删除**、设备上的 **Material 3** UI。
- ⬆️ **应用内 OTA 更新**。
## 架构
```
[BLE recorder pen] --Bluetooth GATT--> [Vokta Android app] --HTTPS--> [your server]
Actions ATS2837 Kotlin / Jetpack Compose Whisper (GPU)
records to flash holds connection, auto-records pyannote diarization
pulls MP3, uploads LLM summary
```
Android 应用通过你服务器上的一个小型 bearer-token REST API (`/api/mobile/*`) 进行通信。
本仓库是 **Android 客户端**;此处的参考服务器是 [T7],但任何
实现了相同端点的后端均可使用:
| 端点 | 用途 |
|---|---|
| `GET /api/mobile/recordings` | 列出录音 + 转写文本 |
| `GET /api/mobile/recordings/{id}` · `DELETE` | 单条录音 · 从内存中移除 |
| `POST /api/mobile/recordings/{id}/summarize` | 按需摘要 |
| `POST /api/mobile/upload` | 接收拉取的 MP3 → 转写 pipeline |
| `GET /api/mobile/audio/{id}` | 流式传输 MP3 以供播放 |
| `GET /api/mobile/version` · `GET /api/mobile/apk` | OTA |
## 录音笔协议(逆向工程)
明文 BLE GATT,无加密。控制通道在 `f0f1`/`f0f2`,文件数据在 `f0f4`。
命令格式为 `80 08 02 00 00`(固定的 `0000` 尾部,**不是**
校验和)。主要操作码:`0x06` 开始录音 · `0x07` 停止+保存 · `0x0a` 列表 ·
`0x0b` 下载 · `0x0d` 删除。完整映射表请见
[`reverse-engineering/PROTOCOL.md`](reverse-engineering/PROTOCOL.md)。
## 构建
需要 Android SDK 34 + JDK 17。
```
./gradlew assembleDebug
# APK 位于 app/build/outputs/apk/debug/app-debug.apk
```
首次启动时,输入你的服务器 URL 和移动端 token,然后
在“设置”中启用 **自动通话录音**。
## 状态与路线图
已实现:BLE 录音/同步/删除,通话时自动录音,转写,说话人分离,
摘要,播放,OTA。计划中(详见 issues):同步的转写文本播放(点击跳转),
待办事项提取,针对录音的 AI 问答 (RAG),自定义摘要模板,
说话人命名,跨录音搜索。
## 许可证
MIT — 详见 [LICENSE](LICENSE)。与 Plaud Inc. 或 HiDock 无任何关联;“Plaud”和
“HiDock”是其各自所有者的商标,此处仅出于描述性目的进行引用。
标签:Android, DSL, Jetpack Compose, Kotlin, 人工智能, 开源硬件, 用户模式Hook绕过, 移动开发, 蓝牙, 语音转写