3.3 KiB
3.3 KiB
详情页工作台:客户端授权与项目同步
客户端在素材库网页完成账户登录和明确授权。网页登录密码、平台模型密钥不进入客户端。正式素材库地址为 https://sc.jiansun.vip。
使用方式
- 打开本机「详情页工作台」,选择「正式素材库」,点击「在素材库登录」。
- 在浏览器登录素材库账户,核对账户后点击「授权并返回客户端」。
- 客户端显示本账户的网页项目、客户端项目和草稿。打开网页项目后,保存为独立的客户端项目,不覆盖原网页版本。
- 「保存项目」同步画布、图片、对话记录和未发送的输入内容;本机自动保存供离线恢复。换电脑前需主动保存同步。
- 退出登录会撤销当前客户端会话;授权页可查看、撤销本账户的其他客户端。
正式验收前继续仅对当前有效超级管理员开放,普通管理员不等于超级管理员。每次接口调用都重新核对数据库权限、账户状态和授权有效期。
接口与安全边界
所有接口位于 /api/desktop/,响应均禁止缓存。
| 接口 | 鉴权与作用 |
|---|---|
GET config |
公共发现;返回固定客户端 ID、启用状态、S256 |
POST authorize |
素材库网页登录态与同源校验;批准固定用途的授权 |
POST token |
60 秒一次性授权码和 PKCE S256 校验,回调固定为本机临时端口的 /oauth/callback |
GET/DELETE session |
Bearer 客户端会话;核对账户/撤销当前会话 |
GET devices、DELETE devices/:id |
素材库网页登录态;只管理本账户的授权 |
GET projects |
本账户项目,游标分页,每页最多 50 项 |
GET projects/:source/:id |
读取本人网页或客户端项目及文件清单 |
PUT projects/desktop/:id |
保存客户端项目;使用 revision 防止并发覆盖,冲突返回 409 |
GET projects/:source/:id/assets/:asset |
鉴权后获取该项目私有文件 |
PUT projects/desktop/:id/assets/:source |
上传 PNG/JPG/WEBP,单张 20MiB、每项目 128 张/256MiB |
GET models、GET agent-models |
只返回管理员已开放且已通过验证的可用模型,不返回平台密钥 |
客户端会话有效期 7 天,数据库仅保存令牌哈希。授权撤销或超级管理员资格撤销后,旧会话立即失去接口权限。本版本不开放任意生产终端或命令执行,不通过这些接口代理付费模型生成。
项目最多 12 屏,统一宽度为 750px 或 1440px,总高度最多 30000px。客户端项目单独存储,不迁移或改写现有网页项目。项目图片复用独立的私有持久目录,不进入公开上传目录。
部署与验收
新增 migration 20261020090000_desktop_client_workspace,仅创建四张客户端表。生产迁移复用精确提交、真实备份、隔离恢复、数据库身份、迁移校验和与审计门禁,随后发布同一提交的应用镜像。
本地验收覆盖:真实网页登录/PKCE 回调、授权重放拒绝、跨账户访问拒绝、普通用户与撤权拒绝、私有文件、项目列表分页、并发版本冲突、项目与对话/输入草稿保存恢复、客户端重启恢复、退出后账户隔离,以及 1440px 图片导出。生产验收另记录在对应发布证据目录,不能以本地结果替代。