使用教程
配对完桌面后,App 自动跳转到「会话」页。本章逐屏讲解。
会话页
主入口,列出桌面所有会话(按文件夹分组)。
列表 + 搜索
| 元素 | 说明 |
|---|---|
| 顶部搜索框 | 全局搜索:标题 / 项目路径 / 消息内容 三合一 |
| 工具筛选 | 按 AI 工具过滤(Claude / Codex / Gemini …),只看某个工具的会话 |
| 文件夹分组 | 默认按项目路径分组,折叠/展开记忆每个分组的状态 |
| 会话条 | 标题 + 最后一条消息预览 + 颜色标记 + 收藏星标;跑在远程主机上的会话带主机标识 |
| 长按条目 | 弹 ActionSheet(收藏 / 取消收藏 / 删除 / 重命名) |
| FAB「+」 | 新建会话,可选工具与目录 |
软键盘自适应
v0.1.0 起,弹出新建会话弹窗时会响应软键盘,避免输入框被键盘挡住。
新建会话时点着选目录(v0.5.1+)
新建会话不用再手打路径了——目录选择器本机和远程 SSH 主机共用同一套界面:
- 逐级点进目录,也能直接看到桌面端最近用过的项目
- 就地新建文件夹,不必先切到电脑上建好再回来
- 选远程主机的目录时,会话就建在那台远程主机上(不会莫名归到本机)
会话列表里跑在远程主机上的会话会显示主机标识,一眼分得清哪些在本机、哪些在服务器。
进入会话
点会话条 → 跳到「对话」页,开始接收 AI 实时输出。
对话页 核心
实时流式接收 AI 输出,最重要的一屏。
消息渲染
| 消息类型 | 渲染方式 |
|---|---|
用户提问(human) | 蓝色背景气泡 |
AI 回复(assistant) | Markdown 渲染 + 代码块语法高亮(v0.1.0 内置 highlight.js) |
工具调用(tool_use) | 卡片样式:工具名 + 参数 + 输出折叠展开 |
| 系统消息 | 灰色细字,不抢视觉 |
代码块支持的语言:JavaScript / TypeScript / Python / Rust / Go / Java / Bash / SQL / JSON / YAML / Markdown ...
发送 prompt
| 输入方式 | 操作 |
|---|---|
| 键盘打字 | 底部输入框 → 「发送」 → 桌面端 AI 自动开始回复 |
| 按住说话 | 麦克风按钮按住 = 录音 → 松开 = 识别 → 自动填入输入框;录音中上滑可取消 |
| 点一下说话 | 麦克风按钮点一下开始录,再点一下结束并识别 |
| 长按消息 | 复制单条消息内容到剪贴板 |
两种语音模式(v0.6.0)
按住和点按同时支持,不用预先选——按下去的时长自动区分:短促一按走点按模式,按住不放走按住模式。
长口述举着手机按一分钟并不现实,所以补了点按模式;短句还是按住更顺手,就都保留。
录音期间没有任何浮层或遮罩,状态全部由麦克风按钮自己表达:
| 按钮状态 | 含义 |
|---|---|
| 红底 + 停止方块 + 计时 | 正在录音(按钮变宽显示秒数) |
| 橙底 + 转圈 | 正在识别 |
| 常态图标 | 空闲 |
录音和识别期间输入框始终可用,可以一边等识别一边打字。
麦克风权限
首次使用语音需要授予「麦克风」+「修改音频设置」两项权限(Android 在 Tauri Mobile WebView 上需要这两项才能正确激活录音)。 拒绝后再次点击会重新弹权限请求;如果系统设置里已禁用,需要去系统设置 → 应用权限手动开启。
输入框会自动长高
写长 prompt 时输入框多行自动增高,不用在一条缝里挤着写。
流式输出特性
- WebSocket 长连接接收 PTY 输出,断网自动重连
- 滚动到底部时自动跟随;向上滚动时停止跟随(保留你正在阅读的位置)
- AI 输出完成后自动触发「AI 回复完成」通知(如果在「我的」里开启了通知开关)
驱动远程 SSH 会话(v0.6.0)
手机 → 桌面 → 远程服务器,这条链现在整个打通了。
在此之前手机只能在远程主机上建会话,建完发消息会一直等到超时报「唤醒桌面失败」——远程会话的终端跑在另一套管理器里,跟移动端接口从没接上。现在:
- 发消息能送达 — 手机发出的 prompt 正确路由到远端那个终端
- 实时输出照收 — 和本机会话一样走 WebSocket 流式接收
- 历史读得到 — 远程会话的历史记录存在远端主机上,现在会从远端读回来,不再是空白
桌面端停在本机也没关系
手机激活一个远程会话时,桌面端会自动切到对应的工作区再打开它——不需要你先跑到电脑前把工作区切过去。
设备页
管理多个桌面 + 切换 + 配对新桌面。
桌面列表
每个已配对的桌面显示:
| 字段 | 说明 |
|---|---|
| 设备名 | 桌面端的 hostname,可在桌面端设置中改 |
| 在线状态 | 绿圆点(连接中)/ 灰圆点(离线) |
| 活跃 PTY | 当前桌面有几个终端在跑 |
| 总会话数 | 桌面端总会话数 |
| 最近活跃 | 上次有 PTY 输出的时间 |
操作
| 操作 | 说明 |
|---|---|
| 点击设备 | 切换到该桌面并直接进入它的会话列表(v0.6.0;此前只切换,还得自己再回会话页) |
| 长按设备 | 「永久删除」(先 selfRevoke 撤销自己的 token,再从列表移除,桌面端同步知道) |
| 「+ 添加桌面」 | 进入配对流程(扫码 / 手动 PIN) |
删除前先 selfRevoke
v0.1.0 起,移动端删除桌面前会主动调 /api/v1/auth/self-revoke 让桌面端撤销本设备的 token,再从本地列表移除。这样桌面端「已配对设备」表会自动移除该条目,不需要桌面端再手动清理。
我的页
个人中心 + 应用设置。
AI 回复完成提醒
- 开关 + 测试通知按钮
- 开启后,App 在前台或后台未被系统杀死时,AI 输出结束会弹本地通知
- 锁屏 / 进程被系统强杀后无法收到(Web Notification 的局限)
清空所有桌面配置
相当于「退出登录」:
- 弹确认对话框
- 对每个已配对桌面调
/api/v1/auth/self-revoke - 清空本地存储(已配对设备列表 / 会话缓存 / 通知历史)
- 回到首启动状态,需要重新配对
全局快捷操作
| 操作 | 触发方式 |
|---|---|
| 全局搜索(消息内容) | 「会话」页顶部搜索框 |
| 切换桌面 | 「设备」页点击桌面或顶部下拉 |
| 复制消息 | 「对话」页长按消息气泡 |
| 复制完整代码块 | 代码块右上角「复制」按钮 |
下一步
- 常见问题 — 连不上 / 收不到通知 / 鉴权报错
