Codex新手入门:搞懂CLI、配置与DeepSeek接入的AI编程代理逻辑
Codex 这几个月热度一直没下来朋友圈里、技术群里到处是讨论有人拿它跑通了大半个项目有人装了半天卡在登录和配置上还有人压根没搞明白它跟 ChatGPT 那个网页版对话窗口到底啥关系。“Codex 到底是个什么东西我装了之后要怎么用为什么我让它干活它老是问我要权限”——这大概是新手问得最多的几个问题。这篇文章就专门拆这层窗户纸。我不堆术语不讲概念史而是从你下载安装之后的第一屏开始把你必须得懂的核心逻辑讲清楚Codex 是什么形态的工具、它靠什么模型干活、为什么它要“看着”你的终端、它跟编辑器和桌面客户端是什么关系还有大家天天问的接入 DeepSeek、组织设置加载不出来到底是怎么回事。这篇是“上篇”聚焦新手必懂的逻辑和安装登录后的第一波配置。读完之后你至少能弄明白自己装的 Codex 到底工作在哪个层级、接下来遇到报错该往哪个方向排查、为什么不先搞懂这些后面用起来会处处碰壁。1. 头一回听说 Codex先搞清楚它是个什么东西1.1 它不是“网页版 AI 聊天框”而是住在你电脑里的编程代理很多人第一次听说 Codex会下意识认为它是另一个可以在网页上打开、输入问题就能得到答案的 ChatGPT 式产品。这是最大的认知偏差。Codex 的正确理解方式是一个以 CLI命令行工具为默认形态、以“代理Agent”方式运行的编程助手。你给它一个目标它自己会规划步骤、读写文件、执行命令、查看结果、再决定下一步做什么。它不是“回答问题”而是“替你干活”。这种差异从第一次启动就能感受到。你在终端里输codex进入交互界面它不会像 ChatGPT 那样只给你一段文字而是会直接试图去运行命令、修改项目文件。你看到的是一个有“正在执行中”状态的循环而不是一次性的回答。从这个角度理解 Codex后面一大堆行为和配置都好解释了。另外还需要区分几个名字Codex CLI 是官方开源的命令行版也是大多数人说的“Codex”Codex IDE 扩展是装在 VS Code 等编辑器里的插件形态本质上复用了同一套后台核心逻辑Codex 桌面应用Windows Desktop 版是 2025 年推出的图形界面外壳把 CLI 的能力包进了一个窗口。三者共用同一个 OpenAI 账号体系和模型访问通道所以配置好一次多处受益。1.2 它到底是“哪里的模型”在干活GPT-5-Codex 等模型的工作方式Codex 在后台需要调用模型这个模型不是普通 ChatGPT 网页版那个通用模型而是一个专门针对代理式编程任务做了深度优化的版本。它在设计上被训练为更适合去调用工具、维护长期计划、在项目上下文中做决策而不是只做一次性文本生成。所以你会感觉它“会自己改文件之后说改完了”而不是“给你一段代码让你自己粘贴”。开始用的时候最初几次往往不觉得它神奇反而会有点懵为什么我一句话它就开始在我的项目文件夹里创建文件因为它的工作方式是“目标驱动”你把大目标告诉它它要拆解成子任务用终端命令实现再逐步确认结果。这不是 bug这就是它的核心特征。日常使用它的场景主要有三大类第一类是已有项目上做功能迭代你说“在这个接口加个重试逻辑”它自己找到相关文件改完第二类是写测试和修 bug它先跑测试再根据报错信息修代码第三类是智能体模式你把一个多步骤任务全部交给它中间少干预它在循环中主动决策。理解清楚这三个场景你去用的时候预期就不会偏。1.3 那为什么叫“从入门到精通”核心逻辑到底是什么核心逻辑总结起来就一句话Codex 是一个接管了“读取项目 → 理解代码 → 动手修改 → 验证结果”这条闭环的代理工具。它跟普通 AI 编程助手的本质区别是传统工具是“人写代码AI 补全”Codex 是“人提目标AI 执行”。这就带来至少三个你必须习惯的新变化。变化一是权限概念。Codex 执行命令和修改文件都需要经过你授权默认情况下它不能为所欲为所以“总是弹权限窗”不是它笨而是安全设计。变化二是上下文概念。它有工作目录、会话历史、文件读取这几层上下文你要学会喂给它足够的信息尽量不依赖全局预设。变化三是可回滚性。Codex 每次执行前会基于 git 做快照备份你随时可以反悔还原。这些就是“新手必懂的逻辑”的核心它不是给你写作文的它是给你当同事的。你越早接受这个设定后面所有的使用细节就都能顺着理解。2. 安装和启动后先要面对的三大组件CLI、桌面版、IDE 插件2.1 终端里的 Codex CLI这才是真正的控制中枢Codex 的所有能力核心其实都落在 CLI 上。桌面应用和 IDE 插件本质上都是套了一层壳最终都会把指令交给同一条命令行通道。所以安装的时候最先建议装好 CLI 版本。各平台安装方式几乎都绕不开 npmnpm install -g openai/codex装完验证一下版本codex --version如果有反应说明 CLI 安装成功。之后第一次输入codex它会要求你登录 OpenAI 账号走浏览器授权流程登录成功后会在本地生成配置文件。这个过程基本是一次性的弄好之后后面都以配置文件为准。需要注意的是别跳过登录直接改环境变量因为新版 Codex 默认商店凭证是从 auth.json 里读的环境变量优先级低且容易覆盖不到正确配置。还有一个新手非常容易踩的坑CLI 是在你当前所在的目录下运行的它只认当前目录作为“可以动手的范围”。如果你在根目录或者错误目录启动它就会错误地扫描无关文件。所以启动之前先cd到项目目录再敲codex。2.2 桌面版和“设置未完成”那个提示是怎么回事现在很多 Windows 用户下载的是桌面版桌面版的首次启动体验比 CLI 稍微友好一点但问题也出在启动那个环节经常看到一个提示类似“配置未完成”或者“Windows 设置未完成”直接卡住不许用。这种情况大半是三个原因引起的。一是登录令牌没写进配置文件桌面版找不到认证信息二是系统没装 Git因为 Codex 在运行时会默认调用 git 来做快照缺了就说配置没完成三是网络无法访问登录服务商导致授权回调失败。想快速排除的话先打开系统设置里的“开发者选项”确认“开发人员模式”是开启的再把 Git 配上重新走一次登录流程。如果还不行再检查.codex/config.toml是否存在且内容非空。我自己的经验是桌面版最容易踩的反而是“启用开发者模式”这个前置条件。这个选项大多数教程都没提Windows 上不打开它很多 shell 工具集成会静默失败表现出来就是“设置未完成”。2.3 IDE 插件跟 CLI 是不是同一个东西能不能混着用IDE 插件比如 VS Code 里的 Codex 扩展调用的核心能力跟 CLI 是同一个后台只是交互层变成编辑器面板。你可以把它理解成同一个引擎的两款驾驶舱。插件装好后也会要求登录同一个账号授权后的令牌同样写到同一个配置文件里。混用完全没问题。你可以今天用 CLI 跑批量任务明天用 IDE 面板做交互式调试因为配置文件是共用的各自创建的会话记录互不干扰。混用之前有件事要留意确保两边读到的模型和供应商配置一致以免在 IDE 里能用、CLI 里却报模型不支持。如果你打算把模型供应商配置成 DeepSeek 或其他兼容服务那 CLI 和 IDE 的模型名、API base 都得各自核对好。我在第三节会专门把它拆开讲。3. 核心配置与接入 DeepSeek 的关键细节3.1 auth.json、config.toml、环境变量三者的职责如何划分Codex 的配置体系比起早期版本已经明确很多但新手还是很容易被三个地方搞混.codex/auth.json、.codex/config.toml、系统环境变量。auth.json只管认证信息保存的是你登录后的令牌以及若配置了自定义供应商时的 API Key。它跟模型怎么跑、温度多高没关系。config.toml才是主配置文件管模型名、工作行为、安全策略、供应商地址这些。两者一个管“你是谁”一个管“怎么干活”。而环境变量更像是一个“临时覆盖层”适合在测试场景临时调换供应商不建议长期依赖。刚接触时容易出现的错误是在auth.json里改model或是在config.toml里塞令牌结果两边都读不对。只要记住这个分工大多数配置问题都迎刃而解。3.2 把 Codex 接到 DeepSeek 上这一步到底怎么配接入 DeepSeek 做后端模型是中文用户群里问得非常多的一件事因为 DeepSeek 的编程能力不错、价格也比官方模型更友好。配置路径并不复杂但有几个极易出错的细节。首先你要有一个 DeepSeek 的 API Key在 DeepSeek 开放平台后台申请。拿到后编辑配置文件把默认的模型供应商改成 DeepSeek 兼容接口# 我的实际配置位置~/.codex/config.toml model_provider deepseek [model_providers.deepseek] name deepseek base_url https://api.deepseek.com/v1 env_key DEEPSEEK_API_KEY wire_api responses同时在auth.json里把对应平台的 key 填进去或者设置环境变量DEEPSEEK_API_KEY。配置完之后命令行里可以用codex --model deepseek-chat来指定具体模型启动。注意如果你的接口模型名写错就会看到系统报错说“the gpt-5.6-sol model is not supported when using codex”这一类跟当前供应商不匹配的提示。这个报错本质上就是“当前模型名不在你配置的供应商支持的名单里”别去翻什么复杂的疑难杂症先查模型名写没写对。接口地址还有一个常见坑base_url到底带不带/v1。不同版本的 Codex 要求不同我建议直接写成https://api.deepseek.com/v1再试如果出现路径类错误再改成不带/v1的版本。因为这个地址在配置时会自动追加部分路径版本差异会导致最终拼出来的 URL 变了。3.3 一段报错引发的思考CC switch local proxy failed while handling codex endpoint最近网上关于 Codex 的报错里出现频率蛮高的有这句“cc switch local proxy failed while handling codex endpoint /responses”。很多新手一看就慌了以为哪里没装好或者被封了。其实这个报错说的是你的 Codex 配置走了一个本地代理通道但代理服务在转发/responses接口时失败了。最常见的原因是配置里把网络路径指向了某个本地工具而那个工具进程没起来或者端口不对。排查也不难先把环境变量里所有与会话通道相关的设置逐个清掉恢复到默认直连状态再跑一次同样的任务多半就好了。如果还报再检查系统是否开了全局代理类服务把 Codex 进程加入绕过名单。这个报错不算配置致命伤它更多是“你本地的路径或代理状态出了问题”。4. 高频问题集中排查与新手避坑实录4.1 “组织设置加载不出来”与登录不上原因往往在缓存在圈子里搜索 Codex几乎绕不开“codex 无法加载组织设置”和“codex 登录不上”这两个问题。它们经常一起出现新手会在解决其中一个的时候又踩中另一个。我的经验是八成以上的“组织设置加载不出来”不是账号问题而是本地会话令牌过期或缓存里有旧组织信息。Codex 会把登录后的组织信息缓存到本地配置里当你切换账号或令牌刷新之后缓存还残留着旧信息就会导致加载异常。处理方式很简单关闭所有 Codex 相关进程CLI、桌面版、IDE 插件都退出删除或备份重命名~/.codex/下的会话缓存目录重新执行codex让它走一遍新登录登录不上的情况除了网络连接问题外还有很高概率是系统时间不对。JWT 令牌校验依赖时间窗口机器时间偏差太大登录请求直接就会失败。先对准系统时间再试登录很多时候这一条就解决了。4.2 “unrecognized configuration setting”之类的警告要不要管“Codex is ignoring 1 unrecognized configuration setting. Check for typos or deleted config keys.”这种提示不稀有尤其在改过配置文件之后。它说明配置里有一个键名是当前版本识别不到的但系统没有停摆只是忽略它继续跑。虽然是警告不是致命错误但也别一直无视因为它往往意味着你照着旧教程填的配置已经过时了。我自己处理这类问题的方法是把那个键名单独放进搜索引擎里查一圈如果确认是旧版字段就直接删掉如果是拼写错误改对就行。不用紧张Codex 在这一类的容错上做得很稳不会因为一个配置项错误就拒绝启动。4.3 大量补全工具横向比较Codex 更适合哪类用户人家老问“Codex 是不是最强的”我一般不愿意直接排座次。因为这类工具是“用对场景才叫强”。但横向对比下来Codex 有一条明显的偏好它格外适合那种“你已经有项目结构希望 AI 替你跑完整迭代流程”的场景。它擅长的不是聊一句生成一段而是潜进项目里做整体性修改。所以如果你平时的主要工作是修 bug、补测试、做小版本迭代Codex 的优势非常突出。反过来如果你只是想要一个“说句话生成小函数”的轻量助手那它可能会显得太重权限弹窗频繁、上下文占用高此时 VS Code 自带的一些生成类插件反而更顺手。工具没有绝对好坏匹配工作流才最重要。这也是为什么我在开头反复强调“先搞懂核心逻辑”而不是让你先背十个快捷键。5. 工具选型与日常工作流建议5.1 你应该把 Codex 放在工作流的哪个位置一个比较稳妥的使用姿势是把 Codex 当成“执行层”而不是“思考层”。代码怎么组织、架构怎么演进可以先用你自己的脑子或者对话型 AI 讨论清楚然后进入执行阶段交给 Codex 去落地。这样既保留你对项目方向的控制力又能让 Codex 在细节实现上发挥效率优势。用这种方法实践下来我通常会把任务描述写得很具体给它指明确切的文件路径、改动范围、验收条件。比如“在src/services/api.ts里给fetchData加一个 3 次重试如果遇到 429 就指数退避改完跑一下相关测试” —— 这种描述比“帮我优化一下接口”要高效得多因为它不需要 Codex 去猜你的意图也不会改到不该碰的模块。5.2 与自动存档机制相关的习惯要不要随手开 gitCodex 在工作过程中会利用 Git 维护检查点在你批准执行前快照项目状态一旦后续操作出问题可以一键还原。这个特性能不能发挥出来取决于项目是不是一个 Git 仓库。所以一个很实用的习惯就是任何想交给 Codex 的目录先git init并有初始提交。这也是我给不少朋友的第一个建议。假如目录压根没被 Git 跟踪那么 Codex 的很多自我保护机制就会不起作用遇到一次糟糕的批量修改你就只能手工收拾。5.3 给新手的个人建议从一个小型任务开始找手感如果你想尽快建立“Codex 到底能帮我干多少活”这个概念最有效的方式不是读再多的教程而是找一个局面不复杂的小任务亲手跑一遍。比如给一个已有脚本补一版单元测试或者把一段重复的样板代码提取成通用函数。这种规模的任务Codex 基本一两个回合就能做完你能非常直观地感受到它读取项目的粒度、修改代码的方式、权限弹窗的节奏。跑完这一遍之后你对它的“工作模式”就会有个扎实的体感。之后再看的任何进阶教程、任何配置技巧都会比一开始就囫囵吞枣地看有效得多。Codex 这套逻辑多数时候不是不会用而是第一步认知错了后面全在跟自己的预期较劲。我现在每次上手一个新的 Codex 项目一定会花两分钟先想清楚这个项目我要放权到什么程度哪些文件允许它碰哪些流程需要我手动确认。想好之后再去敲codex整个过程会顺滑非常多。毕竟 Codex 自己再聪明也得先搞明白你这位“同事”的边界和习惯。

相关新闻

数据中台最小闭环搭建:四层架构、ODS/DWD/ADS与FastAPI实战

数据中台最小闭环搭建:四层架构、ODS/DWD/ADS与FastAPI实战

简介:《数据中台实战:手把手教你搭建数据中台》是一份面向企业管理者、中台产品经理及一线运营/设计/开发人员的电子书资源,聚焦“数据采集、数据存储、数据打通、数据应用”四大环节,讲清数据中台从0到1的落地路径。内容结合作者…

2026/10/10 2:00:49 阅读更多 →
Mac OS X Tiger 复古系统实战:安装、开发环境与避坑指南

Mac OS X Tiger 复古系统实战:安装、开发环境与避坑指南

简介:这份资源是苹果 Mac OS X Tiger 操作系统的介绍文档,面向对早期 Mac 系统感兴趣的用户、计算机历史爱好者以及需要了解 Tiger 核心特性的技术人员。文档系统梳理了 Spotlight 全文本搜索、Dashboard Widget 工具、Automator 自动化任务、VoiceOver …

2026/10/10 2:00:49 阅读更多 →
PCA9422+PIC24FV32KA301嵌入式电源管理方案

PCA9422+PIC24FV32KA301嵌入式电源管理方案

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

2026/10/10 2:00:49 阅读更多 →

最新新闻

2026跨境新规落地后,第一批吃透“本土店+半托管”的卖家,已经在偷偷换车了

2026跨境新规落地后,第一批吃透“本土店+半托管”的卖家,已经在偷偷换车了

跨境卖家换车:本土店与半托管组合正在重构运营逻辑 九月跨境圈有个微妙变化:一些卖家不再讨论怎么把货发出去,而是研究怎么把货“留”在当地。 新规落地后,清关时效、税务合规、平台责任划分都更细化。原先靠直邮小包冲量的模式&a…

2026/10/10 2:47:05 阅读更多 →
2026年跨境电商新规落地后:第一批靠“本土化客服外包”省出利润的卖家,已经在偷偷复制这套打法了

2026年跨境电商新规落地后:第一批靠“本土化客服外包”省出利润的卖家,已经在偷偷复制这套打法了

新规落地后的第一个季度,不少跨境卖家发现,原本被忽略的客服环节正在变成利润分水岭。过去靠模板回复和夜间轮班硬撑的做法,在更细的消费者权益条款和更快的响应要求面前,开始频繁触发纠纷与退货。而那些提前把客服交给本土团队运…

2026/10/10 2:47:05 阅读更多 →
GPT-6.1 Sol 用五分之一的价钱追平了 Astra

GPT-6.1 Sol 用五分之一的价钱追平了 Astra

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

2026/10/10 2:47:05 阅读更多 →
Flask-Admin 批量操作(Batch Actions)机制详解:从 `flask_admin.actions` 到模板与前端联动

Flask-Admin 批量操作(Batch Actions)机制详解:从 `flask_admin.actions` 到模板与前端联动

后端 【免费下载链接】flask-admin Simple and extensible administrative interface framework for Flask 项目地址: https://gitcode.com/gh_mirrors/fl/flask-admin 点击查看 免费下载 导读 本篇文章以 doc/api/mod_actions.rst 为骨架,深入剖析 Fl…

2026/10/10 2:47:04 阅读更多 →
重磅新闻|趋化因子与炎症受体多标志物Luminex Panel在科研场景投入应用|CX3CL1、IL10Ra、IL18R1、TNFb 多因子组合

重磅新闻|趋化因子与炎症受体多标志物Luminex Panel在科研场景投入应用|CX3CL1、IL10Ra、IL18R1、TNFb 多因子组合

免疫细胞招募、炎症信号传递依赖趋化因子与细胞因子受体协同作用,CX3CL1、IL10Ra、IL18R1、TNFb 共同构成炎症趋化、免疫正负调控的信号网络,参与自身免疫病、神经炎症、肿瘤微环境炎症调控。CX3CL1(Fractalkine)是独特的膜结合型…

2026/10/10 2:47:04 阅读更多 →
springboot商城购物app98746-计算机课程设计、毕业设计

springboot商城购物app98746-计算机课程设计、毕业设计

前言 ✨ 博主介绍:一线全栈工程师,毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发,擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码,帮…

2026/10/10 2:46:04 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练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/9 6:17:20 阅读更多 →