lsbot 移动端

lsbot 提供官方 Android 应用,可在手机上与你的 Bot 进行端对端加密聊天。iOS 版本开发中,即将上线。


下载安装

Android:前往 lsbot.org/download 下载 APK,安装后打开即可使用。

iOS:开发中,敬请期待。


通过 QR Code 配对 Bot

移动端通过扫描 QR Code 完成一键配对,无需手动输入 Bot ID 和公钥。

前提条件

Bot 必须以 E2EE(端对端加密)模式运行。默认情况下,lsbot relay 启动时自动启用 E2EE,无需额外参数:

lsbot relay --provider deepseek --api-key sk-xxx

启动后,终端会自动打印 QR Code 和 Bot 页面链接:

[Relay] Your bot page: https://bot.lingti.com/bots/abc123
[Relay] Scan with lsbot mobile to add this bot:
█████████████████████████
█ ▄▄▄▄▄ █▀▀▀▀▀▀█ ▄▄▄▄▄ █
█ █   █ █▀▀▀▀▀▀█ █   █ █
...

使用 --plain 启动时禁用 E2EE,不会打印 QR Code。

配对步骤

  1. 在手机上打开 lsbot App
  2. 点击右上角 + 添加 Bot
  3. 选择 扫描 QR Code
  4. 对准终端上的 QR Code 扫描
  5. App 自动提取 Bot ID、公钥和连接地址,完成配对
  6. 建立端对端加密连接,开始聊天

QR Code 内容说明

QR Code 编码了以下 JSON 信息:

{
  "id": "your-bot-id",
  "key": "base64-encoded-p256-public-key",
  "url": "https://your-relay-host"
}

其中 url 仅在使用非默认中继节点(非 bot.lingti.com)时包含。


端对端加密

移动端使用与 CLI 完全相同的 E2EE 算法:P-256 ECDH + HKDF-SHA256 + AES-256-GCM

  • 密钥存储:Bot 公钥存储在系统安全区域(Android Keystore),通过 expo-secure-store 访问,不写入普通存储
  • QR 配对优势:相比浏览器端手动粘贴公钥,QR 扫码方式无需复制粘贴,且公钥不经过剪贴板,更安全
  • 中继服务器:无论是 bot.lingti.com 还是自建节点,中继服务器只看到密文,无法读取消息内容

功能

  • 多 Bot 管理:添加、切换、删除多个 Bot
  • 端对端加密聊天(默认开启)
  • 本地消息历史(SQLite 存储,不上传云端)
  • 实时 WebSocket 连接
  • 中英文双语界面

常见问题

扫码失败怎么办?

确认:

  1. lsbot relay 未使用 --plain 参数(E2EE 关闭时不生成 QR Code)
  2. 终端窗口足够大,QR Code 完整显示
  3. 手机摄像头对准 QR Code 区域,保持稳定

也可以选择手动输入:App 的添加界面支持手动填写 Bot ID、公钥和连接地址。

Bot ID 和公钥在哪里查看?

lsbot e2e pubkey
# Key file:    ~/.lsbot-e2e.pem
# Public key:  BK3x9f2...
# Fingerprint: sha256:29f8954f

Bot ID 见 lsbot relay 启动日志中的 Your bot page 链接末尾部分。