mirror of
https://github.com/qingchencloud/clawpanel.git
synced 2026-05-31 05:10:14 +08:00
校对发现端点 + token 注入已就位(前一 commit),可直接做 UI。
## 新页面 /h/oauth (~250 行)
### 数据流
- GET /api/providers/oauth - 列表 + 状态(公开)
- POST /api/providers/oauth/{id}/start - PKCE 返回 auth_url,device_code 返回 user_code + verification_url
- POST /api/providers/oauth/{id}/submit { session_id, code } - PKCE 提交
- GET /api/providers/oauth/{id}/poll/{session_id} - device_code 轮询(公开)
- DELETE /api/providers/oauth/{id} - 断开
### UI
- 卡片网格(复用 .lazy-deps-grid)展示每个 provider
- active 徽章 + flow 标签 + token preview + expires 信息
- 「登录」按钮按 flow 类型分发:
· **external** (claude-code 等):showContentModal 显示 CLI 命令,用户终端运行后回点刷新
· **PKCE** (anthropic):
1. 系统 window.open(auth_url) 打开浏览器授权
2. showModal 弹窗:显示授权链接 + 让用户粘贴回调 code
3. POST submit → 刷新状态
· **device_code** (qwen / minimax / nous / openai):
1. window.open(verification_url) 打开授权页
2. showContentModal 显示 6 位 user_code(大字号 mono 字体)
3. 每 2.5s 自动 GET poll 轮询直到 success/failed/expired
4. 10 分钟超时
5. MutationObserver 监听模态关闭自动停轮询
### sidebar
- 管理 section 加 OAuth 入口(memory icon)
- 路由 /h/oauth 注册
### 修复:之前 edit 弄坏的 sidebar 结构
- 恢复 monitor 5 项(dashboard/chat/sessions/logs/usage)
- 恢复 manage 8 项(skills/memory/cron/profiles/kanban/oauth/lazy-deps/extensions)
- 删除文件末尾多余的 `}`
### i18n
- 26 个新键 × 3 语言(hermesOAuth*)
## 复用基础设施
- hermes_dashboard_api_proxy 自动注入 session token(前一 commit 已做)
- humanizeError 友好错误
- showModal / showContentModal / toast / lazy-deps-grid 样式
## 累计
- 1 个新页面 ~250 行
- sidebar 结构修复 + /h/oauth 路由注册
- 26 个 i18n 键 × 3 语言
- npm build ✓