本地知识库配Deepseek:Cherry Studio与AnythingLLM部署避坑指南

简介:这份资源围绕 Deepseek 与本地知识库的部署方法及应用场景展开,面向有一定技术基础的企业用户、个人开发者以及对隐私保护敏感、希望私有化部署的人群。内容涵盖基于 Cherry Studio 与 AnythingLLM 两套工具的完整搭建思路,包括嵌入模型配置、本地 Ollama 服务对接、知识文档向量化、搜索验证与大模型问答处理,并延伸至小红书内容运营指导等实际场景,同时对比了两者在易用性与定制化上的差异。资源包为 1 个 docx 文档,约 1.47MB,以图文笔记形式梳理操作流程与配置要点,便于按步骤对照实践。目前已有 2887 人学习,读者可借此掌握从环境准备到知识库检索验证的完整链路,理解本地大模型在隐私保护、离线可用、文档快速关联与代码辅助生成方面的价值,并据此选择适合自身技术水平的构建方案。

1. 本地知识库配 Deepseek:为什么我劝你先别急着联网

很多人第一次听说“本地知识库”这四个字,脑子里蹦出来的画面是:把一堆 PDF 丢进某个软件,然后像跟真人聊天一样问它问题,答案还只从我的文档里出。这个画面没错,但真正动手时,第一个翻车点往往不是模型选错,而是“联网”这个动作。我见过不止一个开发者,本地 Ollama 跑着 Deepseek,知识库也建好了,结果提问时习惯性选了在线模型服务,文档里的隐私数据直接顺着 API 出去了。所以这篇笔记先把结论放前面:如果你要处理的是内部文档、个人笔记、代码片段这类不适合外传的内容,本地知识库的核心价值就是离线闭环,嵌入模型、大模型、向量库全部跑在自己机器上。Deepseek 在这里扮演的是“推理大脑”,而本地知识库负责“记忆检索”。适合谁看?手里有一台配置还行的开发机、想用 Cherry Studio 或 AnythingLLM 快速搭一套私有知识库、并且对数据边界有要求的从业者。下面按两条工具路线拆,一条给不想折腾的人,一条给喜欢自己控配置的人。

2. Cherry Studio 路线:从嵌入模型到知识库检索的完整链路

Cherry Studio 是我目前给非专职运维的开发者首推的方案,原因很简单:它把 Ollama 本地模型、嵌入模型、知识库文档管理、对话助手这几个环节串成了一个图形界面,不需要你手写向量库连接串。但“简单”不等于“没有坑”,下面按数据流顺序拆开讲。

2.1 先理清数据流:文档是怎么变成可检索向量的

在动手点任何按钮之前,脑子里要有一张流程图。一份 PDF 或 Markdown 文档进入知识库,经历的是:文本抽取 → 分块 → 嵌入模型转向量 → 存入本地向量库 → 提问时检索相似块 → 拼接进大模型上下文。其中“嵌入模型”是很多人忽略的一环。它和 Deepseek 这种生成模型不是一回事,嵌入模型只负责把文本映射成高维向量,用来算余弦相似度。Cherry Studio 里如果嵌入模型没配好,文档添加后不会出现绿色对号,搜索也搜不出东西。常见做法是本地用 Ollama 拉一个轻量嵌入模型,比如nomic-embed-text或bge-m3,前者体积小、速度快,后者对中文支持更稳。我一般会先确认 Ollama 服务在跑,再进 Cherry Studio 配置。

# 先确认 Ollama 服务状态,默认监听 11434 ollama list # 拉取嵌入模型,nomic-embed-text 体积约 270MB,适合快速验证 ollama pull nomic-embed-text # 拉取 Deepseek 生成模型,具体 tag 按自己显存选 ollama pull deepseek-r1:7b

上面三条命令的逻辑说明:ollama list用来确认本地已经有哪些模型,避免重复下载;ollama pull nomic-embed-text是拉嵌入模型,它不参与对话生成,只做向量化;ollama pull deepseek-r1:7b是拉生成模型,7B 版本在 8GB 显存左右能跑,如果显存更小可以换更小参数版本。参数上唯一要注意的是模型 tag,不同量化版本对显存要求差异很大,拉之前先看自己显卡余量。

2.2 Cherry Studio 安装与 Ollama 服务对接

下载 Cherry Studio 时,安装路径一定要改。默认它会往 C 盘用户目录里塞模型缓存和索引文件,知识库文档一多,C 盘空间掉得飞快。我一般会在 D 盘或移动固态上建一个CherryData目录,安装时手动指过去。装完后打开左下角设置图标,进“模型服务”,选 Ollama。这里有个细节:Cherry Studio 会自动扫描本地 Ollama 已安装的模型,点模型后面的加号就能添加,减号表示已选。如果扫描不到,先检查 Ollama 服务是否启动,再看地址是不是http://127.0.0.1:11434。有些机器上 Ollama 装完不会自动常驻,需要手动开一次。

# 如果 Ollama 没在后台跑,手动启动 ollama serve # 验证接口是否通,返回模型列表说明正常 curl http://127.0.0.1:11434/api/tags

ollama serve是前台启动,关掉终端就断,适合临时调试;长期用建议做成系统服务。curl那条是验证 Ollama 的 HTTP 接口,如果返回 JSON 里有你刚拉的模型名,说明 Cherry Studio 那边也能扫到。这一步失败的话,后面知识库配置全是白搭。

2.3 知识库创建:嵌入模型选择与文档目录添加

配置完模型服务后,进“知识库”面板,点添加。这里要填三样东西:知识库名称、嵌入模型、以及后续要加的文档。嵌入模型下拉里选你刚才用 Ollama 拉的那个,比如nomic-embed-text。名称随便起,但建议带上用途,比如内部规范_v1,方便以后多库切换。添加文档时 Cherry Studio 支持两种方式:单文件添加和目录添加。目录添加极其方便,适合把一整个项目文档文件夹拖进去。添加后文档旁边会出现状态标记,绿色对号表示向量化完成,黄色或红色说明还在处理或失败。失败常见原因是文档格式不支持或嵌入模型没选对。

知识库配置检查清单: 1. 嵌入模型是否已选且与 Ollama 中拉取的一致 2. 文档目录是否包含非文本文件(如图片、压缩包),这些会被跳过 3. 单个文件是否过大,超过嵌入模型上下文窗口会被截断 4. 向量化完成后是否出现绿色对号

这个清单不是代码,但每一步都对应一个实际故障点。尤其是第三点,很多人把几百页的 PDF 直接丢进去,嵌入模型上下文只有 512 或 1024 token,超出部分直接被切掉,检索时自然找不到完整答案。

2.4 搜索验证与对话助手绑定知识库

文档向量化完成后,先别急着聊天,点“搜索知识库”做一次检索验证。输入一个你确定文档里有的关键词或短句,看返回的片段是否相关。这里要有一个心理预期:向量检索不是关键词精确匹配,它返回的是语义相近的块。所以你搜“部署注意事项”,可能返回的是“安装时避开 C 盘”这种句子,字面不重合但意境关联,这是正常的。验证通过后,点左上角聊天图标,选助手,选本地 Deepseek 模型。关键一步:在助手设置里把知识库挂上,不挂知识库它不会参考你的文档。挂上后提问,Deepseek 会在回答里标注参考了哪些资料片段。如果回答里没有引用,先检查知识库是否被正确绑定,再看检索返回的片段是否为空。

对话绑定检查: - 助手设置里“知识库”选项是否勾选 - 模型选择是否为本地 Ollama 中的 Deepseek - 提问后回答下方是否出现引用来源标记

这三条按顺序排查,基本能覆盖 90% 的“为什么它不参考我的文档”问题。

3. AnythingLLM 路线:工作区、向量库与 API 化的取舍

AnythingLLM 和 Cherry Studio 最大的区别在于定位。Cherry Studio 像一个开箱即用的桌面知识库工具,AnythingLLM 更像一个可以包壳成 Web 应用的框架。它自带向量数据库,也支持 Ollama 作为 LLM 提供商,但配置路径更偏工程化。如果你后续想把知识库能力通过 API 暴露给其他系统,AnythingLLM 的 API 功能是它的优势。但如果你只是个人用,它的工作区概念和文档共用机制可能会让你绕一会儿。

3.1 安装与 LLM 首选项配置

下载 AnythingLLM Desktop 后,同样建议改安装目录。它默认也会往 C 盘写向量库和文档存储。装完点左下角设置,进“LLM 首选项”,选 Ollama 作为提供商,然后选已安装的 Deepseek 模型。地址栏默认是http://localhost:11434,如果 Ollama 跑在同一台机器上不用改。保存后返回。这里有个容易忽略的点:AnythingLLM 的向量数据库默认使用自带的 LanceDB,不用动。但如果你之前装过其他版本,向量库路径可能残留,导致新文档写不进去。遇到诡异问题时,先确认向量库目录是否可写。

# 查看 AnythingLLM 默认存储路径下的向量库文件 ls -la ~/anythingllm/vector-cache/ # 如果目录不存在或权限不对,手动创建并赋权 mkdir -p ~/anythingllm/vector-cache/ chmod 755 ~/anythingllm/vector-cache/

上面命令用于排查向量库写入失败。ls看目录是否存在,mkdir -p补建,chmod确保当前用户可写。AnythingLLM 在 Windows 和 macOS 上的默认路径不同,但思路一样:找到它的存储根目录,确认向量缓存文件夹存在且可写。

3.2 嵌入模型配置与工作区文档上传

AnythingLLM 的嵌入模型可以选自带的,也可以选 Ollama 里拉好的。我一般选 Ollama 里的,保持和 Cherry Studio 一致,减少变量。配置完点左下角返回,进工作区。新建工作区后,默认会话里有一个上传框,把文档拖进去。这里有一个血泪经验:拖拽一次就行,它在聊天框能看到上传记录。我一开始没看到“上传成功”提示,以为没传上去,又拖了几次,结果聊天框里出现多份重复文档,检索时重复内容会挤占上下文。另外要注意,AnythingLLM 的文档在工作区之间是共用的,你在 A 工作区传的文档,B 工作区也能检索到。如果不同项目需要隔离,得建多个工作区并手动管理文档归属。

工作区文档管理建议: - 拖拽一次后等待状态变为“已嵌入” - 不要重复拖拽同一文件 - 不同项目建不同工作区,避免文档串库 - 远程文档源(如代码仓库、文档平台)可在设置里配,但同样共用

3.3 API 功能与 Dify 结合的可能性

AnythingLLM 提供 API 访问功能,这意味着你可以把它当成一个本地知识库后端,通过 HTTP 接口给其他应用调用。比如你可以在 Dify 里配一个自定义工具,指向 AnythingLLM 的 API,实现“外部应用提问 → AnythingLLM 检索本地文档 → 返回片段 → Dify 里的大模型整理回答”。这条链路适合喜欢折腾的开发人员。但要注意,API 开启后如果监听在0.0.0.0,局域网内其他机器也能访问,隐私数据就有暴露风险。我一般只绑127.0.0.1,或者加一层反向代理做鉴权。

# 测试 AnythingLLM API 是否可达,默认端口 3001 curl -X POST http://127.0.0.1:3001/api/v1/workspace/your-workspace-slug/chat \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"message": "部署时要注意什么?", "mode": "query"}'

这条curl用来验证 API 通不通。Authorization头里的 API Key 在 AnythingLLM 设置里生成,mode选query表示只检索知识库不闲聊。如果返回 401,检查 Key;返回 404,检查工作区 slug 是否正确。这一步跑通,说明你的本地知识库已经具备被其他系统调用的能力。

4. 避坑与排查:本地知识库部署中最容易翻车的五件事

这一章不按工具分,按故障现象分。下面五条是我自己踩过或者看别人踩过的坑,每条按“现象 → 原因 → 解决”写。

4.1 文档添加后没有绿色对号,搜索无结果

现象:文档拖进去后状态一直不变绿,搜索知识库返回空。原因:嵌入模型没选或选错,Ollama 里对应的嵌入模型没拉下来。解决:回设置里确认嵌入模型下拉选的是 Ollama 中已存在的模型,用ollama list看模型名是否一致。如果模型在但依然失败,看文档格式是否支持,纯图片 PDF 无法抽取文本。

4.2 提问时大模型不参考知识库内容

现象:Deepseek 回答得很流畅,但内容跟你的文档无关,也没有引用标记。原因:助手或工作区没有绑定知识库,或者检索返回的片段为空。解决:Cherry Studio 里检查助手设置的知识库勾选;AnythingLLM 里检查工作区是否包含文档。再搜一次知识库,确认能返回片段。如果检索为空,说明向量化没完成或嵌入模型不匹配。

4.3 安装到 C 盘导致磁盘爆满

现象:用了一段时间后 C 盘空间急剧下降,系统变卡。原因:Cherry Studio 和 AnythingLLM 默认把模型缓存、向量库、文档副本放在用户目录,而用户目录通常在 C 盘。解决:安装时手动指定其他磁盘;已经装了的,找到数据目录迁移,并在设置里改路径。Ollama 的模型默认也在 C 盘,可以用环境变量OLLAMA_MODELS指到其他盘。

# 将 Ollama 模型目录改到 D 盘,Linux/macOS 下在 shell 配置里加 export OLLAMA_MODELS=/d/ollama-models # Windows PowerShell 下临时设置 $env:OLLAMA_MODELS="D:\ollama-models"

4.4 隐私数据被在线模型处理

现象:本地知识库明明配好了,但提问后回答质量突然变高,或者响应速度明显快于本地模型。原因:模型服务里选了在线 Deepseek 服务,而不是本地 Ollama。解决:在模型服务设置里确认当前选中的是 Ollama 下的本地模型,在线服务只在明确不需要隐私保护时用。有隐私数据时,断网测试一次,如果还能回答,说明走的是本地。

4.5 AnythingLLM 文档重复导致检索混乱

现象:同一个问题检索出多份相同片段,回答里重复引用。原因:拖拽上传时没看到成功提示,重复拖了多次。解决:在工作区文档列表里删除重复项,只保留一份。后续上传时等状态变为“已嵌入”再操作。AnythingLLM 的文档共用机制也会导致不同工作区看到同一文档,建工作区时规划好文档归属。

5. 进阶技巧:用检索验证反推文档分块质量

最后一章不讲新工具,讲一个我每次搭完知识库都会做的动作:用检索验证反推文档分块质量。很多人搭完知识库,问几个问题觉得“差不多能用”就结束了。但真正决定知识库好不好用的,是文档被切成什么样。嵌入模型有上下文窗口限制,Cherry Studio 和 AnythingLLM 默认的分块大小和重叠长度不一定适合你的文档类型。技术手册适合小分块、高重叠;散文类文档适合大分块、低重叠。你可以在搜索知识库里输入一个跨段落的问题,看返回的片段是否完整覆盖了答案。如果答案被切断了,说明分块太小;如果返回的片段里混了无关内容,说明分块太大。

分块质量自检方法: 1. 选一个需要跨两段才能回答的问题 2. 在知识库搜索里输入该问题 3. 看返回的前三个片段是否包含完整答案 4. 如果答案被截断,调大分块大小或增加重叠 5. 如果片段主题发散,调小分块大小

这个自检不需要改代码,但能帮你判断要不要动分块参数。Cherry Studio 和 AnythingLLM 都在知识库设置里提供了分块大小和重叠长度的调整项,默认值通常是 1000 字符和 200 字符重叠。中文文档我一般会把分块调到 500 到 800 字符,重叠 100 到 150,因为中文信息密度高,太大反而稀释语义。调完之后重新向量化,再跑一遍自检。

还有一个习惯:每次新增一批文档后,先跑五个已知答案的问题,确认检索命中率没有下降。如果下降,优先检查新文档里有没有大量重复内容或格式混乱的表格。表格类文档在向量化时容易被切得支离破碎,必要时先转成 Markdown 再入库。从那以后我每次搭完知识库,都强制走一遍“跨段提问 → 看片段 → 调分块 → 再验证”的循环,不跳过。希望帮到你。

本文还有配套的精品资源,点击获取

相关新闻

PartLLM:用文本统一3D部件分割,一个模型搞定三类任务

PartLLM:用文本统一3D部件分割,一个模型搞定三类任务

1. 从"切蛋糕"说起:3D部件分割到底难在哪如果你接触过三维建模、数字孪生或者机器人抓取相关的项目,大概率会被同一个问题折磨过:拿到一个完整的三维网格模型,怎么把它拆成有语义的部件?比如一把椅子&#x…

2026/10/20 17:17:46 阅读更多 →
Flink实时热榜TopN实战:窗口设计与两阶段聚合

Flink实时热榜TopN实战:窗口设计与两阶段聚合

做实时热榜这个话题,说多了都是泪。你在后台看需求,通常就一句话:“把最近5分钟最热的内容排出来”,可真做起来会发现,这句话背后牵扯出的是流式计算里几乎所有经典难题:事件时间怎么对齐、窗口边界如何处理…

2026/10/20 17:17:46 阅读更多 →
Cornell抓取数据集txt转pcd全流程:从2D标注到3D可执行姿态

Cornell抓取数据集txt转pcd全流程:从2D标注到3D可执行姿态

1. 项目概述:为什么康奈尔抓取检测数据集至今仍是点云理解的“教科书级”起点 如果你正在做机器人抓取规划、6D位姿估计,或者刚入门三维视觉方向,大概率绕不开Cornell Grasp Detection Dataset——这个2013年发布的经典数据集,至今…

2026/10/20 17:16:45 阅读更多 →

最新新闻

开源Agent框架源码拆解:插件化如何成为架构骨架

开源Agent框架源码拆解:插件化如何成为架构骨架

前一阵我把一个开源大模型团队放出的 Agent 框架源码从前到后拆了一遍。拆之前我的预期挺简单:一个 Agent 框架,核心就是“模型调用+工具执行”,插件化无非是把工具注册表做成可扩展的而已。拆完之后这个预期被彻底推翻了——在这…

2026/10/20 18:02:04 阅读更多 →
开题答辩不再卡壳:从选题评估到答辩预演的全流程攻略

开题答辩不再卡壳:从选题评估到答辩预演的全流程攻略

开题答辩翻车的样子,我看过太多了。有人站在台上对着 PPT 念了五分钟摘要,被评委一句“所以你想解决什么问题”问得失语;有人文献综述写得像论文题目列表,把 A 研究讲完讲 B 研究,讲完 B 研究讲 C 研究,评委…

2026/10/20 18:02:04 阅读更多 →
SpringBoot+Vue在线互动学习网站:从源码到部署的完整实践

SpringBoot+Vue在线互动学习网站:从源码到部署的完整实践

这个项目我在本地从头跑到尾,又把数据库、接口、前端页面全部捋了一遍,还顺手总结了答辩环节最容易被追问的技术点。今天这篇文章不聊虚的,就直接把这个 SpringBootVue 在线互动学习网站的源码结构、SQL脚本怎么导、接口文档怎么用、前后端怎…

2026/10/20 18:02:04 阅读更多 →
从救火队到服务专家:ITIL4服务目录管理落地指南

从救火队到服务专家:ITIL4服务目录管理落地指南

我过去很长一段时间,都在做IT服务管理。说得直白一点,很多团队过得其实不像IT团队,更像消防队。工单就是火警铃,铃一响,不管手头在干什么,都得先放下一切冲出去。白天刚扑完“账号登录不了”,晚…

2026/10/20 18:02:04 阅读更多 →
通达信DLL公式C接口MA算法:从零实现自定义均线

通达信DLL公式C接口MA算法:从零实现自定义均线

简介:面向需要在通达信软件中扩展自定义技术指标的开发者,这份压缩包演示了如何用C语言编写移动平均线(MA)算法,并通过通达信DLL公式接口集成到行情分析软件中。资源共12个文件,整体约10KB,以cp…

2026/10/20 18:02:04 阅读更多 →
RFCOMM协议深度解析:蓝牙虚拟串口的原理、帧结构与实战排查

RFCOMM协议深度解析:蓝牙虚拟串口的原理、帧结构与实战排查

1. 从一个“看不见的串口”说起:RFCOMM到底在解决什么问题很多人第一次接触RFCOMM,是在调试蓝牙模块的时候。你打开一个串口工具,选好COM口,敲几个AT指令,模块就乖乖回你数据。但突然有一天,你发现这个串口…

2026/10/20 18:01:01 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →