主题

在 NocoBase 3 中,主题(Theme)不是插件,代码就在你的项目里,可以直接修改。配色、字体、字号、间距、圆角和阴影都可以按业务需要调整,不需要开发或安装插件。

你可以直接使用内置主题。如果需要定制,只要向 Coding Agent 描述想要的效果,由它完成代码修改和验证。比如,让系统符合企业品牌配色,或让日常使用的表格、表单更紧凑。

内置了哪些主题

当前内置两套主题:

主题外观特点
默认中性配色,常规间距和圆角
紧凑和默认主题使用相同配色,通过更小的间距、部分文字的行高和圆角提高信息密度

在应用的「外观」面板中,可以选择主题,也可以选择「浅色」「深色」或「跟随系统」。主题和颜色模式是两个独立选项:默认主题和紧凑主题都支持浅色、深色显示。

20260910083736

主题选择保存在当前浏览器中。刷新后会恢复选择,但不会随账号自动同步到其他设备。在「外观」面板中切换主题,只改变当前浏览器的选择;修改一套主题的代码,则会改变所有使用这套主题的人看到的外观。

修改现有主题

如果某套主题接近你的需求,只是颜色、字体或布局密度需要调整,可以让 Coding Agent 修改它。沟通时说明要改哪套主题、希望有什么变化,以及哪些效果需要保留。

比如,希望保留紧凑布局,把主色换成蓝色,可以这样描述:

修改「紧凑」主题:将主色改为蓝色,略微增大圆角。保留当前字体、字号和紧凑间距。

如果有品牌色值、字体要求或参考截图,可以一并提供。比如,「主色使用 #2563EB」「中文保持当前字体」「参考这张截图的圆角和阴影」。越具体的要求,越方便 Coding Agent 判断哪些地方需要调整。

如果只想改名称,也可以直接说:「把『紧凑』主题改名为『高密度』,外观保持不变,并同步调整其他语言的名称。」

新增一个主题

如果想保留现有主题,同时增加一套独立的外观,可以让 Coding Agent 新增主题。说明主题名称、风格和用途,以及希望以哪套现有主题为基础即可。

比如,为业务系统增加一套绿色主题:

新建一个“森林”主题,以绿色为主色,背景柔和,圆角适中,阴影轻一些。

Coding Agent 会完成主题创建、加入可选列表和名称配置。新增主题后,可以在「外观」面板中选择它。

20260910110253 20260910110728

删除一个主题

如果不再需要某套主题,告诉 Coding Agent 要删除的名称即可。它会清理相关内容,并验证原先选择这套主题的浏览器能否正确回退。比如:

删除「森林」主题。

默认主题承担回退作用,应该保留。如果只是对默认主题的外观不满意,可以让 Coding Agent 调整它的外观。

Coding Agent 会自动验证效果

项目的 Skills 已包含主题验证要求。Coding Agent 完成修改后,会按这些要求运行相关测试和检查,并在浏览器中验证实际页面。

验证会覆盖浅色、深色和跟随系统模式下的显示效果,文字和控件在窄屏中的布局,以及主题切换、刷新后恢复选择。Coding Agent 会汇报验证结果。

图片、嵌入页面和部分第三方组件不一定会自动跟随主题。如果这些区域也需要调整,可以明确告诉 Coding Agent,让它检查并处理对应内容。

主题由哪些文件组成

如果想了解 Coding Agent 改动了哪些内容,可以参考下面的文件说明。这些路径相对于你创建的应用项目根目录,以默认应用模板为例,不需要手动逐个修改。

文件作用涉及的操作
client/theme/themes/default.css默认主题的外观修改默认主题
client/theme/themes/compact.css紧凑主题的外观修改或删除紧凑主题
client/theme/themes/<主题 ID>.css自定义主题的外观新增、修改或删除自定义主题
client/theme/theme-presets.ts「外观」面板中的主题列表新增或删除主题
client/styles.css加载主题样式新增或删除主题
client/locales/zh-CN.ts中文主题名称新增、删除或改名
client/locales/en-US.ts英文主题名称新增、删除或改名

调整已有主题的外观,通常只需要修改对应的主题文件。新增或删除主题时,Coding Agent 会同时维护主题列表、样式加载和语言文件。如果项目还有其他语言,或需要引入新字体,也会涉及对应的翻译文件或字体资源。