---
url: https://suyiiyii.github.io/alldayrec/reference/web-and-app.md
---

# 网页与 App

网页有中文和英文两种界面：在「我的」页的 **语言 · Language** 里选，选择记在这个浏览器里，同时也把大模型写内容（摘要、回顾、「问 AI」回答等）的语言改成一样的，见[配置项](./configuration.md)里的 `lang`。没选过的浏览器用服务器的语言设置。网页和 App 都跟随系统的深色模式。

## 网页

网页由服务器提供（`web/` 构建到 `server/alldayrec/static/dist`）。下表是 main 分支 `web/src/router.ts` 里的页面。v0.1.0 还没有「今天」「我的」「待办」和 `/live`，那时 `/` 是实时字幕页；要用这些页面，见[如何用 Docker 部署](../how-to/deploy-docker.md#固定镜像版本)里的 `main` 镜像标签。

| 地址 | 页面 | 内容 |
|---|---|---|
| `/` | 今天 | 有对话在进行时，最上面是实时字幕小窗（点 **全屏** 到 `/live`）；然后是到期待办、昨天的回顾、今天的对话，以及「问问今天」 |
| `/live` | 实时字幕 | 正在进行的对话的实时转写和分析 |
| `/todos` | 待办 | 今天及以前到期、还没标记的待办，分「今天」「本周」「更早」三组。点圆勾标成完成（手机上向左滑也行），**⋯** 菜单里可以标成 **不对**，点文字打开原话；「更早」组可以 **全部标为已处理**；标错了点提示里的 **撤销** |
| `/conversations` | 对话 | 对话列表：标题、摘要、标签、到期待办 |
| `/c/<id>` | 对话 | 一段对话的摘要和原文，点一句从那里播放 |
| `/calendar` | 日历 | 每天有多少对话 |
| `/speakers` | 人物 | 认出的说话人 |
| `/p/<名字>` | 人物 | 一个人的对话、要点和待办 |
| `/me` | 我的 | 每台录音设备的电量、存储卡剩余和延迟，待办和下面几页的入口，以及界面语言 |
| `/progress` | 处理进度 | 转写和摘要做到哪了，AI 调用和系统日志 |
| `/device/<名字>` | 设备日志 | 一台设备的事件和状态记录 |
| `/connect` | 连接手机 | 安卓 App 下载、扫码登录的二维码，以及接入 AI（MCP）的配置 |
| `/record` | 网页录音 | 没有 App 时，用浏览器的麦克风或蓝牙录音设备录音 |

### 网页录音（`/record`）

* 音源：**本机麦克风**，或 **蓝牙录音硬件**（浏览器要支持 Web Bluetooth）。
* 麦克风每 20 秒切一块，按 WebM/Opus 格式上传到 `/api/chunks`；点 **停止** 时调用 `/api/chunks/end`。
* 设备名默认是 `web-recorder-<随机 8 位>`，可以手动改；蓝牙录音设备的音频按设备自己的名字上传。
* 取消勾选 **上传** 时只在页面上录，不上传。

## App

App 的四个底部标签 **今天**、**对话**、**人物** 显示服务器的网页（`/`、`/conversations`、`/speakers`），**我的** 是 App 自己的页面：

| 入口 | 内容 |
|---|---|
| 录音设备 | 绑定的蓝牙录音设备：电量、存储卡、离线补传、固件更新、U 盘模式、解除绑定 |
| 实时字幕 | 网页 `/live` |
| 设备状态与更多 | 网页 `/me`：电量、存储卡、处理进度、接入 AI |
| 上传 | 手机上的上传队列，以及服务器处理这台设备的音频到了哪里 |
| 设置 | 见下 |
| 关于 | App 版本 |

### App 设置

| 设置 | 说明 |
|---|---|
| 地址 | 服务器地址，比如 `https://your.server` |
| Token | 租户 token |
| 扫码登录 | 扫网页 **连接手机** 页的二维码，自动填好地址和 Token 并保存 |
| 设备名 | 只读，取自系统设置里的手机名称；蓝牙录音设备的音频按设备自己的名字上传 |
| 本地保留录音 | 上传后在手机上留一份：iOS 在「文件」App › 我的 iPhone › alldayrec › recordings › 日期；安卓在 `Android/data/com.suyiiyii.live_record/files/recordings/日期/` |
| 切片长度（服务端下发） | 只读，前台、后台（安卓还有熄屏）时每块音频的秒数，由服务器的 `SLICE_*` 变量决定 |
