docs/customization/theme_customization.md
GPT Academic 提供了丰富的界面定制选项,从简单的主题切换到字体调整,再到功能区的显示控制,您可以根据个人喜好打造独特的使用体验。本文将介绍各种定制方法,从最简单的界面操作开始,逐步深入到配置文件修改和高级定制。
最简单的定制方式是通过界面直接切换主题。在 GPT Academic 界面中,点击右上角的浮动工具栏,切换到「界面外观」标签页,您会看到主题选择下拉菜单。
项目预置了三种风格迥异的主题,无需任何配置即可使用:
| 主题名称 | 风格特点 | 适用场景 |
|---|---|---|
| Default | 橙色调,简洁明快 | 通用场景,默认推荐 |
| Chuanhu-Small-and-Beautiful | 绿色调,清新舒适 | 长时间阅读 |
| High-Contrast | 高对比度,黑白分明 | 视觉辅助需求 |
切换主题后效果立即生效,无需刷新页面。系统会自动记住您的选择,下次访问时保持相同的主题。
除了内置主题,您还可以使用 Gradio 主题商店 中的任意主题。这些主题由社区贡献,风格丰富多样,从科技感十足的暗黑风格到活泼可爱的二次元风格应有尽有。
要使用这些主题,需要在配置文件中设置主题名称。主题名称的格式为 用户名/主题名,例如:
THEME = "Gstaff/Xkcd" # XKCD 漫画风格
THEME = "NoCrypt/Miku" # 初音未来主题
THEME = "gradio/seafoam" # 海洋绿主题
!!! note "网络要求" 从 HuggingFace 下载主题需要访问外网。如果您配置了代理,项目会自动通过代理下载主题文件。首次加载可能需要几秒钟,之后会缓存到本地。
文字是界面的核心元素,选择合适的字体可以显著提升阅读体验。GPT Academic 支持多种字体切换方式。
在「界面外观」标签页中,字体类型下拉菜单提供了丰富的字体选项:
系统字体:这些字体需要您的系统中已安装才能正常显示。
网络字体:这些字体从 CDN 加载,无需本地安装。
切换字体后,对话区域的文字会立即应用新字体。
在字体类型下方有一个字体大小滑块,默认值为 15。根据您的屏幕尺寸和视力情况,可以将其调整到 12(紧凑)到 20(宽松)之间。
如果预设的字体都不能满足您的需求,还可以添加自定义网络字体。字体配置的格式为:
字体昵称(字体英文名@字体CSS链接)
例如,要添加「霞鹜文楷」字体:
AVAIL_FONTS = [
# ... 保留原有字体 ...
"霞鹜文楷(LXGW WenKai@https://cdn.jsdelivr.net/npm/[email protected]/style.css)",
]
只要字体提供了标准的 CSS webfont 文件,就可以通过这种方式引入。
GPT Academic 的界面由多个功能区组成,您可以根据使用习惯显示或隐藏不同的区域。
在「界面外观」标签页的「显示/隐藏功能区」复选框组中,可以控制以下区域的可见性:
| 功能区 | 说明 |
|---|---|
| 基础功能区 | 包含学术润色、翻译等常用按钮 |
| 函数插件区 | 包含所有插件的下拉菜单 |
| 浮动输入区 | 在对话区域上方的快捷输入框 |
| 输入清除键 | 快速清空输入框的按钮 |
| 插件参数区 | 部分插件需要的额外参数输入 |
如果您主要使用插件功能而很少用基础按钮,可以隐藏「基础功能区」以获得更简洁的界面。
「显示/隐藏自定义菜单」复选框组控制更多界面元素:
通过修改配置文件中的 LAYOUT 参数,可以切换整体布局模式:
LAYOUT = "LEFT-RIGHT" # 左右布局:输入区在左,对话区在右
LAYOUT = "TOP-DOWN" # 上下布局:输入区在上,对话区在下
左右布局适合宽屏显示器,上下布局更适合窄屏或移动设备。
GPT Academic 支持明暗两种显示模式。在「界面外观」标签页中,点击「切换界面明暗 ☀」按钮可以在两种模式间切换。
您也可以在配置文件中设置默认模式:
DARK_MODE = True # 默认使用暗色模式
DARK_MODE = False # 默认使用亮色模式
明暗模式的偏好会保存在浏览器 Cookie 中,下次访问时自动应用。
Live2D 是一项有趣的功能,它会在页面右下角显示一个可互动的动漫角色。这个形象不仅能增添趣味,还会根据您的操作给出不同的反应。
要启用 Live2D 形象,在配置文件中设置:
ADD_WAIFU = True
或者在运行时,通过「界面外观」标签页中的「添加 Live2D 形象」复选框控制。
Live2D 形象支持以下互动方式:
上述大部分定制都可以通过界面完成,但如果您想设置默认值或进行更深入的定制,需要修改配置文件。
以下是与主题相关的核心配置项,位于 config.py 或 config_private.py 中:
# 主题配置
THEME = "Default" # 当前主题
AVAIL_THEMES = ["Default", "Chuanhu-Small-and-Beautiful", "High-Contrast",
"Gstaff/Xkcd", "NoCrypt/Miku"] # 可选主题列表
# 字体配置
FONT = "Theme-Default-Font" # 当前字体
AVAIL_FONTS = [...] # 可选字体列表
# 布局配置
LAYOUT = "LEFT-RIGHT" # 布局模式
CHATBOT_HEIGHT = 1115 # 对话区高度(上下布局时生效)
DARK_MODE = True # 默认明暗模式
# 其他界面选项
CODE_HIGHLIGHT = True # 代码高亮
ADD_WAIFU = True # Live2D 形象
AUTO_OPEN_BROWSER = True # 启动时自动打开浏览器
GPT Academic 的配置有三个来源,优先级从高到低依次为:
建议将您的个性化配置写入 config_private.py 文件(如果不存在则创建)。这样做的好处是:更新项目时不会丢失您的配置,也不会被 Git 追踪到。
如果您有前端开发经验,可以进行更深层次的界面定制。
每个主题都有对应的 CSS 文件,位于 themes/ 目录下:
default.css —— Default 主题样式green.css —— Chuanhu-Small-and-Beautiful 主题样式contrast.css —— High-Contrast 主题样式common.css —— 所有主题共用的样式您可以直接修改这些文件来调整颜色、间距、边框等视觉效果。例如,要修改主按钮的颜色,可以在 CSS 文件中找到相应的选择器并修改。
如果您想创建一个全新的主题,可以参考现有主题的结构。以 themes/default.py 为例,主题定义主要包含两部分:
创建新主题的步骤:
default.py 和 default.css)adjust_theme() 函数中的颜色定义themes/theme.py 的 load_dynamic_theme() 函数中注册新主题AVAIL_THEMES 配置列表主题相关的 JavaScript 代码位于:
themes/init.js —— 初始化逻辑themes/theme.js —— 主题切换逻辑themes/common.js —— 通用功能如果您想修改某些交互行为(如动画效果、快捷键响应等),可以在这些文件中进行调整。
在进行界面定制时,以下建议可以帮助您获得更好的体验:
选择护眼配色:如果您需要长时间使用,建议选择暗色模式或低对比度主题,减少眼睛疲劳。
保持界面简洁:隐藏不常用的功能区可以减少视觉干扰,提高工作效率。如果您主要使用对话功能,可以只保留「函数插件区」。
备份自定义配置:如果您进行了 CSS 或 JavaScript 修改,建议备份相关文件。项目更新时可能会覆盖这些文件。
测试不同设备:如果您会在多种设备上使用,建议测试不同屏幕尺寸下的显示效果。LEFT-RIGHT 布局在小屏幕上可能不太适用。