Skip to content

Latest commit

 

History

History
145 lines (88 loc) · 4.63 KB

File metadata and controls

145 lines (88 loc) · 4.63 KB

使用文档

这份文档面向日常使用 nonebot-webui 的用户,重点说明首次登录、实例接入、常见页面用途,以及 Docker / NAS 场景下最容易填错的路径规则。

适用场景

  • 想统一管理多个 NoneBot 实例
  • 已经有宿主机项目,希望接入 WebUI 统一运维
  • 需要在页面里完成启停、依赖安装、日志查看、文件编辑和安全设置

首次登录

首次启动容器后,需要先到容器日志中查看登录凭证(token):

docker logs nonebot-webui

登录流程如下:

  1. 使用日志中的登录凭证登录
  2. WebUI 为当前浏览器换取 JWT 会话
  3. 后续页面请求与 WebSocket 连接都使用 JWT

需要注意:

  • 登录凭证不是直接当 Authorization: Bearer ... 使用的
  • 永久 token 模式下,只要 /data/config.json 里的认证配置仍然完整,重启后不会自动换 token
  • 如果你在“安全设置”里改成随机 token 模式,新 token 会继续写到容器日志中

页面说明

概览

查看当前实例、运行状态和整体运维入口。

实例选择

用于切换当前操作的 NoneBot 实例,也可以接入已有实例或创建新实例。

实例操作

当前页面主要用于查看实例运行日志,以及执行与当前实例相关的常见操作。

终端

独立的维护终端页面,适合执行排障、安装依赖、临时检查环境等维护动作。

当前终端页支持:

  • 创建多个维护会话标签
  • 在不同会话之间切换
  • 发送常驻交互命令,而不是只执行一次性命令
  • 切换终端主题
  • 使用快捷命令和最近命令

文件管理

可在线浏览和编辑实例目录文件,常见会用到:

  • pyproject.toml
  • .env
  • .env.prod
  • 插件配置文件

扩展商店 / 拓展管理

  • 扩展商店:浏览、安装插件 / 驱动 / 适配器
  • 拓展管理:管理当前环境中已安装的扩展

安全设置

用于调整登录方式、会话时长及认证配置。

永久 token 更新成功后,页面会返回一个新的登录链接。

这个链接可以:

  • 直接跳到登录页
  • 自动带入新的永久凭证
  • 适合在端口变更或凭证重置后快速重新登录

WebUI 设置

右上角的设置抽屉用于调整前端界面行为,当前支持:

  • 切换界面主题:ClassicFrostPaperMidnight
  • 切换主题配色:赤焰、海蓝、翠绿、紫曜、琥珀
  • 切换亮色 / 暗色模式
  • 主题跟随系统

如果你手动切换到亮色或暗色模式,刷新页面后会继续保留当前选择,不会自动退回旧模式。

添加已有实例时怎么填路径

添加已有实例时,路径支持这些写法:

  • 3998382152
  • external-projects/3998382152
  • /external-projects/3998382152

程序会自动解析并保存为容器内可用的真实绝对路径。

如果当前是 Docker / NAS 部署,不要填写宿主机自己的物理路径,例如:

  • /vol1/...
  • /volume1/...
  • /home/...

这些路径对容器里的 WebUI 不可见,必须填写容器内路径。

另外,填写的目录本身需要是 NoneBot 项目根目录,至少要能看到 pyproject.toml。如果 pyproject.toml 在子目录里,就填写那个子目录,不要填父目录。

常见使用建议

  • WebUI 新建实例默认放在 /projects
  • 宿主机已有实例建议统一挂到 /external-projects
  • 先确认项目目录里存在 pyproject.toml 再接入
  • 遇到插件依赖问题,优先看实例日志和维护终端输出
  • 需要重新找登录凭证时,优先回容器日志查看

常见问题

为什么添加实例后提示路径不存在?

大多数情况下是把宿主机路径填到了容器内路径输入框里。请改成容器内挂载路径,例如 /external-projects/你的项目目录

为什么我能登录一次,但后面接口变成未授权?

这通常不是永久 token 丢失,而是当前浏览器的 JWT 会话过期。请检查“安全设置”中的会话时长配置。

为什么某些插件启动时会下载 Chromium?

如果实例依赖 Playwrightnonebot_plugin_htmlrender,WebUI 会尝试在实例启动前补齐浏览器依赖,这是正常行为。

为什么 Docker Hub 页面里的 Overview 是空白的?

Overview 是 Docker Hub 仓库说明页,不是镜像更新开关。

如果它是空白,通常说明:

  • Docker Hub 仓库页面还没有手动填写介绍
  • 当前镜像虽然是通过 GitHub Actions 自动推送的,但不会自动把 GitHub README 同步到 Docker Hub Overview

这不影响镜像正常发布,也不影响 Docker Desktop 检查新版本。