每个功能在哪些端可用。产品、设计、开发以此表为准。新增功能时,先确认它落在哪个端,再决定 packages/core 是否需要新抽象。

图例:✅ 完整支持 · ◐ 部分支持(见备注)· — 不支持(按设计)

功能Web桌面移动(规划中)
通用
服务器地址配置—(同源 / 构建期)✅ 首次启动:本地或远程服务器✅ 首次启动设置页
本地独立运行(内置服务器)—✅ SQLite + 本地文件,无需账号—
多标签页连接多个服务器—✅ 每标签页一个 webview,会话互相隔离—
登录 / 注册 / 找回密码✅✅✅
双因素认证(TOTP / 邮箱)✅✅✅
OAuth / OIDC 第三方登录✅ 重定向✅ 回环(RFC 8252)✅ 系统浏览器
持续登录(refresh 轮换)✅ HttpOnly cookie✅ 系统钥匙串✅ SecureStore
多标签页 / 多窗口会话同步✅ BroadcastChannel— 标签页互相隔离—
语言与主题✅✅✅
自定义品牌(branding.*)✅✅✅
聊天
会话列表与聊天✅✅✅
流式回复(SSE)✅✅✅
Markdown / 代码高亮 / 数学公式✅✅◐ 简化渲染
Mermaid 图表✅✅—
消息附件与文件上传✅✅✅ 含相机、相册
语音输入◐ 浏览器支持时◐ 浏览器支持时✅ 原生
分享会话链接✅✅✅
会话导出(截图 / 文档)✅✅◐ 依赖系统分享
内容管理
文件库✅✅◐ 仅查看与上传
知识库✅✅—
提示词预设✅✅◐ 仅使用,不编辑
MCP / Skill 配置✅✅—
账户
个人资料与安全设置✅✅✅
会话管理(查看 / 踢出设备)✅✅✅
账单与订阅✅✅✅
账户注销✅✅✅
管理后台
Admin 全部功能✅✅— 明确不做
系统公告与统计✅✅◐ 仅展示公告
桌面专属能力
托盘 / 常驻—✅—
自动更新—✅ 签名 updater(stable 与 beta 通道)◐ 应用商店
系统通知◐ PWA 通知◐ 取决于系统通知中心✅ 推送

规则#

  1. 表里没有的端就是不支持。 不要因为“顺手能加上”就在移动端加 Admin 这类功能。范围一旦模糊,两个端就会各自长出不同的实现。
  2. 新增一行时必须回答两个问题: 逻辑是否需要 packages/core 新增抽象?UI 是否需要在两端各写一遍?如果逻辑各写一遍,那是架构违规。
  3. ◐ 必须写清楚限制。 只写“部分支持”等于没写。
  4. 桌面端不新增业务功能行。 桌面 = Web + 系统集成能力。只要出现“桌面端能做但 Web 端不能做”的业务功能,就说明抽象放错了层。

关于边界如何落地、共享代码如何约束,见架构和桌面端。

相关#