已关闭
[Bug]: 首次打开未配置令牌时三处同时弹出 Unauthorized 红字,本地访问令牌易与模型 API Key 混淆 #88
wang_cheng_zhao创建于  26 天前关闭于  25 天前
wang_cheng_zhao成员
26 天前 创建

关联 Issue:https://github.com/openJiuwen-ai/sciencediscovery/issues/35

🐞 问题详细描述

用户想做什么:首次启动 ScienceDiscovery 后,在浏览器打开本地服务地址(默认 http://127.0.0.1:4310),看到产品界面并按引导完成上手。

实际看到什么:页面打开后立即弹出系统设置弹窗,并同时出现三处红色报错(见下图):

  1. 右上角 Toast:Request error: Unauthorized;
  2. 弹窗上方警示条:Settings error: Unauthorized;
  3. 弹窗正文红色警示框:Access token rejected: The local API rejected this token. Paste the access token the server printed when it started, then save.

弹窗内输入框标签为 Local API token,除此之外没有任何欢迎或引导内容。

首次打开无令牌时的三处红色报错

为什么会困惑:

  • 刚打开页面就迎面三处重叠的「未授权/被拒绝」红字,用户第一反应是安装失败或软件损坏;
  • Local API token 很容易被当成外部大模型(OpenAI / DeepSeek 等)的 API Key:粘贴模型 Key 后再次被红字拒绝,陷入死胡同;
  • 正确的令牌要去启动服务的终端滚动日志里找;若服务在后台、容器中或由他人代启,用户无从找起。

建议的用户可观察结果:

  • 三处红字去重:未配置令牌时只呈现一处清晰引导(说明令牌在启动日志中的位置、如何复制保存),不再叠加 Toast + 警示条 + 正文红框;
  • 从命名和文案上明确区分「本地服务访问令牌」与「外部模型 API Key」两种凭据,避免用户把模型 Key 粘进本地令牌输入框;
  • 待定方向(未拍板,仅作备选):本地回环(127.0.0.1)访问默认免密或一键生成会话凭据,是否采用需先评估安全影响。

复现步骤:

  1. 启动 ScienceDiscovery(serve);
  2. 用全新浏览器配置文件(无历史本地存储)打开服务地址;
  3. 观察首屏:Toast、警示条与弹窗正文同时出现红色 Unauthorized 报错。

详细的环境信息描述

  • 操作系统:Linux x86_64(内核 6.8)
  • 浏览器:Chrome
  • 服务端:本机启动的单文件二进制,绑定 127.0.0.1
  • 界面语言:简体中文

其他辅助信息

前端认证与设置加载逻辑在 apps/web/src/App.tsx:缺少令牌时设置请求返回 401,同时触发 Toast、弹窗警示条与正文报错三条展示路径,没有收敛为单一引导。

版本信息

v0.2.0(行为核对基线:main 分支 9b3d2e48)

likedislike
openJiuwen-bot成员
26 天前 评论:

欢迎来到 openJiuwen 社区

Hey @wang_cheng_zhao , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

likedislike
Wwang_cheng_zhao成员
26 天前 修改了issue 的描述
Wwang_cheng_zhao成员
26 天前 关联了pull request:修复首次打开时三重 Unauthorized 提示,并增加启动登录链接
wang_cheng_zhao成员
26 天前 评论:

修复方案已提交为 PR #130。

本 PR 做到:

  1. 未配置本地访问令牌时只保留 Connection 一处引导,不再叠加 Toast、设置警示条和正文红框。
  2. 界面区分「本地服务访问令牌」与「外部模型 API Key」。
  3. 启动日志打印带 token 的登录 URL,打开后自动认证并保存。

验证:Web 测试 780/780,双语用户旅程 6/6 PASS。请在 PR 中审阅。

likedislike
Wwang_cheng_zhao成员
25 天前 issue状态由 TODO 改变为 DONE
Wwang_cheng_zhao成员
25 天前 关闭了 issue
Wwang_cheng_zhao成员
24 天前 关联了pull request:连接页给出登录 URL 示例,令牌不可用时锁在 Connection
wang_cheng_zhao成员
24 天前 评论:

#88 合入后的跟进已提交为 PR #143。

本 PR 做到:

  1. Connection 页和上手文档给出 Open to sign in 的完整 URL 示例(#token= 占位符)。
  2. 本地服务访问令牌缺失或被拒绝时,一直停在 Connection,不能切到其它设置页或关掉对话框。
  3. 顺带让 J1 / J6 / J7 跟上「外部模型 API Key」改名。

验证:Web 测试 793/793,双语令牌旅程 6/6 PASS。

likedislike