Claude-mem:让AI拥有长期记忆的MCP实践指南
第一次用上带记忆功能的 AI 助手是什么体验我最近一直在折腾 claude-mem这个工具彻底改变了我和 Claude 的交互方式。简单说它是一套专门给 Claude 客户端加长期记忆的中间层工具解决的是所有对话式 AI 最尴尬的通病——换一个新会话就失忆你之前介绍过的身份背景、项目上下文、偏好设置统统清零。做技术的人都知道大模型的上下文窗口再大也架不住会话重置。今天聊完的架构方案明天开个新对话又得从头自我介绍一遍这效率实在太低了。claude-mem 的核心思路非常直接把每一轮对话里值得记住的信息抽出来持久化存到本地文件里下次开新会话时自动把相关记忆重新注入给模型。你不需要改任何业务流程不用迁移工作区装好配置完它就悄悄在背后帮你攒人设资产。这篇文章我会从原理讲到实操从参数调优讲到踩坑排查。如果你是重度 AI 用户、需要长期跟进同一个项目的开发者或者单纯想把 AI 调教得懂你一点的折腾党这篇文章应该能帮你省下不少和 AI 重复沟通的时间。1. 先搞清楚它在解决什么问题1.1 会话式 AI 与生俱来的失忆症大模型本质上是一个无状态的函数你输入一段话它输出一段话整个过程完全依赖当前这一次输入的内容。注意这里说的无状态是架构层面的跟上下文窗口大小没有关系。即使某个模型的上下文窗口能装下 100 万 token一旦会话关闭、新的会话开始之前所有对话内容就如同一场梦什么都不剩。这在实际工作里非常痛苦。举个例子我接了一个跨平台的项目第一轮对话里我告诉 Claude 技术栈选型、目标平台、涉及的历史遗留接口它当时理解得很好给的方案也靠谱。可第二天我开新会话想继续讨论某段代码的优化它完全不记得项目背景甚至开始给我推荐之前明确排除掉的技术方案。这不仅仅是效率低更是对决策连续性的破坏。AI 给出的建议前后矛盾你还得花精力去辨别哪一次是对的最后反而更累。所以问题的关键不是模型不够聪明而是它缺少一个体外记忆系统。1.2 claude-mem 要做的三件事claude-mem 的出现就是为了补上这个缺口。它围绕记忆定义了三个核心动作写入从每一轮真实对话中自动抽取关键信息比如用户身份、项目背景、偏好设定、技术决策、待办事项。这些信息不是原样复制而是经过一层语义压缩变成一条条结构化的记忆条目。读取在新会话建立时自动把与该会话主题相关的记忆条目注入到系统提示词里让模型想起你是谁、你在干什么、之前在讨论什么。管理提供检索、删除、清洗的接口。记忆不是无限堆积的垃圾场你需要有手段控制哪些该记住、哪些该遗忘、哪些永远不要碰。这三件事构成了一个闭环。没有写入读取就是无源之水没有读取写入就毫无意义没有管理记忆库就会腐败变质。很多同类工具只做了前两件事结果用两周之后记忆库就膨胀得无法使用。这一点 claude-mem 想得比较周全。1.3 为什么选 MCP 协议来做这件事如果你对 AI 生态有了解应该听过 MCPModel Context Protocol。你可以把它理解成大模型应用领域的USB 接口——它定义了一套标准化的通信协议让大模型应用可以统一地调用外部工具、读取外部数据源。Claude 客户端原生支持 MCP于是 claude-mem 直接以 MCP 服务器的方式接入完全不需要 hack 客户端代码。这个选型非常聪明。首先MCP 是 Anthropic 生态的官方推的协议稳定性有保障其次MCP 服务器是一个独立进程哪怕 claude-mem 本身崩溃也不会影响 Claude 客户端的正常对话最后MCP 天然支持工具注册模型可以在对话过程中主动调用记忆检索工具而不是只在开场时被动注入一次。这些特性叠加起来让记忆功能像一个外挂插件一样干净利落随时可以拔掉恢复原状。2. 记忆引擎的工作原理2.1 写入端不是存对话而是抽取记忆点很多人的第一反应是记忆工具是不是把聊天记录原样存储下次全部塞给模型如果真这么干几轮对话下来上下文窗口就爆炸了而且大量寒暄、口水话会让模型的注意力被稀释。claude-mem 的做法要聪明得多它利用模型自身的语义理解能力对每一轮对话做一次记忆抽取。说白了就是让模型回答一个问题这段对话里有哪些信息是值得在未来被再次调用的比如用户的开发环境是 macOS Docker项目 X 目前卡在认证模块的性能瓶颈用户倾向于优先考虑可维护性而非执行速度。抽出来的信息会被压缩成固定格式的 JSON 条目包含主题标签、摘要正文、时间戳、引用 ID 等字段再写入本地的记忆库文件。这里有个关键细节抽取动作不是每次对话都触发而是有节流机制的。如果每一句话都触发一次抽取不仅费 token还会产生大量低质量记忆碎片。claude-mem 默认按对话段落做批量抽取或者在一段连续的思考结束后触发一次这就在实时性和成本之间取了平衡。2.2 读取端新会话自动注入相关记忆读取端的核心难题是相关性筛选。如果记忆库里有 200 条历史记忆不可能全部塞进上下文——既浪费窗口又可能让模型产生混淆。claude-mem 的方案是新会话启动时根据当前对话的首条消息做一次语义匹配按相关度排序取前 N 条记忆注入到系统提示词里。举个例子如果新会话开场消息是继续优化我们那个跨平台项目的构建流程记忆引擎会优先匹配到跨平台项目构建流程技术栈选择等相关标签的记忆条目把它当成背景信息注入。这个过程对用户来说基本无感你甚至不需要专门说明你还记得我们上次聊什么吗引擎自己就能判断该回忆什么。不过要提醒的是这个相关性匹配并不完美。语义相似度只能做到表面关联如果两条记忆讨论的是同一个主题但措辞完全不同匹配就可能失败。实际使用中我经常通过在开场白里带上项目代号或者关键词来帮助引擎提高命中率这是一个低成本高效的技巧。2.3 管理端检索、删除、白名单除了自动注入claude-mem 还提供了一组可手动调用的工具。在对话中你可以直接输入命令让模型去检索历史记忆比如搜索一下我们在三周前讨论过的关于数据库选型的结论。这种主动检索的方式很适合处理我知道聊过但实在想不起来的场景。更重要的其实是删除和过滤能力。隐私保护是记忆工具绕不开的问题——如果对话里涉及密钥、个人身份证号等敏感信息你肯定不希望这些信息被长期存储。claude-mem 支持配置关键词黑名单凡是命中的内容直接不写入记忆库也支持按条目 ID 精确删除某一条记忆。这套管理能力虽然看起来平淡但长期使用下来你就知道没有它记忆库一定会变成一锅粥。3. 完整配置实操从零到跑通3.1 前置准备与系统要求动手之前先确认环境。claude-mem 的安装依赖 Node.js 运行时建议使用 Node.js 18 或更高版本同时你需要一个支持 MCP 的 Claude 客户端桌面版或 CLI 均可。如果你平时用的是网页版 Claude那目前是接不了 MCP 的这点要提前明确。检测环境最简单的方式是在终端里执行以下命令node --version npm --version如果给出的版本号都符合要求就可以继续。macOS 和 Linux 用户还需要确认系统里有没有安装 git因为后续有一些依赖包需要通过 git 拉取。Windows 用户建议全程在 PowerShell 里运行并且确保执行策略允许脚本运行。3.2 初始化与安装claude-mem 本身是作为一个 npm 包去启动的不需要全局安装而是通过 MCP 服务器的注册命令直接拉起。配置文件的路径在不同操作系统上有差异但注册方式大同小异。以桌面客户端的配置为例你需要找到 MCP 服务器配置文件然后在 servers 节点下新增一条记录。{ mcpServers: { claude-mem: { command: npx, args: [-y, claude-mem], env: { CLAUDE_MEM_STORAGE_DIR: /absolute/path/to/your/memory/storage } } } }注意几个容易踩坑的细节。第一command字段在 Windows 上可能需要写成npx.cmd否则系统可能找不到命令。第二CLAUDE_MEM_STORAGE_DIR一定得是绝对路径写相对路径会静默失败而且存储目录最好提前建好不要指望工具自动创建。第三args数组里-y参数不能省否则 npx 遇到首次下载安装的交互式确认会卡住不动。注册完成之后重启 Claude 客户端。如果顺利你会看到会话窗口里多了一个类似已连接工具的标识说明 MCP 服务器已经成功挂载。3.3 验证记忆是否生效光连接上还不够你得确认记忆真正在读写。最简单的验证方法分两步。第一步开一个新会话告诉它请记住这个信息我是一名专注移动端开发的工程师当前在做一个跨平台工具项目。等模型做出确认回复后关闭这个会话。第二步重新开一个全新会话在对话里提问根据你已经知道的信息简单介绍下我的背景和当前在做的事情。如果记忆引擎正常工作它应该能准确说出你的职业方向和项目类型即便这个新会话里你一个字都没提过。如果你得到的回复是抱歉我不知道或者这是我们第一次对话那就说明注入环节出了问题。优先检查配置文件里的环境变量路径是否正确、存储目录是否可写以及 npx 是否真的能拉取到最新的包。90% 的不生效问题都出在这三处。3.4 手动定制固定记忆条自动抽取解决的是隐性积累的问题但有些信息你希望模型每次都必须记住比如你的名字、你最喜欢的代码风格、对话礼貌程度等。claude-mem 允许你在配置文件里设置一个稳定记忆区块这些内容每次都固定注入不受相关性筛选影响。{ mcpServers: { claude-mem: { command: npx, args: [-y, claude-mem], env: { CLAUDE_MEM_STORAGE_DIR: /absolute/path/to/your/memory/storage, CLAUDE_MEM_INITIAL_MEMORY: 用户偏好简洁的回答风格用户希望每次给出代码时附带简短解释用户当前的工作重点是移动端跨平台开发 } } } }这条配置我建议所有人一上来就设置好。它的作用不仅仅是增强记忆更是在给你和 AI 的合作定一个基调。有了固定记忆条模型的开场表现会明显更懂规矩少了很多每轮都要纠正格式的烦恼。4. 记忆质量与上下文占用的平衡4.1 四个关键调参维度记忆注入不是越多越好你需要自己权衡记得全和上下文不爆之间的关系。我实际使用下来最值得关注的是下面四个参数维度注入条数上限默认一般取 5 到 8 条。对于背景复杂的大项目可以把上限提到 12 条对于闲聊为主的场景3 条左右就足够了太多反而让模型抓不住重点。记忆内容长度上限单条记忆如果太长会挤占大量上下文窗口。建议单条摘要控制在 300 个 token 以内超过的宁可拆成多条也别追求大而全。相关性匹配阈值阈值越高注入的记忆越精准但漏掉相关记忆的风险也越大。默认值建议先跑一周再微调观察实际召回率再决定升还是降。自动抽取频率太频繁了费 token太稀疏了记不全。我的经验是纯闲聊场景关闭自动抽取工作场景按段落抽取类似每 10 轮对话触发一次这种节奏比较合理。这些参数不是标准答案每个人使用习惯不同最优配置也不同。关键你要理解每个参数背后的取舍逻辑记忆服务影响的是模型知道什么而上下文窗口影响的是模型能处理什么两者永远是稀缺资源竞争关系。4.2 调整抽取精度的对话习惯模型做记忆抽取的准确率远没有想象中高。尤其当对话内容比较发散时它经常会记错重点把寒暄当成关键信息反而漏掉真正的项目决策。实测下来有几个对话习惯能显著提升抽取质量一是关键信息要说全别省略主语。比如在对话里写我倾向于用 PostgreSQL就比写倾向第一个方案更容易被准确记录。二是有意识地用结构化句式。像注意这里有个重要约束我们只支持离线模式运行这类带标记的表达能被模型更明确地区分为高优先级记忆。三是定期回针确认。每隔一段时间主动问一下模型根据你记住的信息复述一下我们的核心约定既能验证记忆又能在漏记时补写一条。这些习惯看着琐碎但累积下来效果非常明显。工具再聪明也需要用户在使用过程中把信息喂得清楚一点这和教一个新同事是一样的道理。4.3 定期清理与隐私边界记忆库用久了必然膨胀重复信息、过期信息、互相矛盾的信息都会冒出来。我自己的维护节奏是每周花五分钟快速扫一遍记忆库的摘要列表删掉已经失效的项目背景合并内容近似的条目。有些工具支持自动去重但我更推荐手动扫——因为自动去重很难判断语义上相近但实际指向不同目标的条目。隐私边界这块要特别上心。凡是涉及账号密码、API 密钥、个人隐私的对话建议要么用黑名单关键词挡住写入要么干脆开无痕会话模式跑。记忆工具的便利性是以数据持久化为代价的你在获得AI 更懂你的同时也在本地积累一份关于自己的长期档案。这份档案的物理安全就取决于你的硬盘和数据备份策略了。对任何超出纯粹技术讨论范围的敏感信息我个人的原则是不写入、不讨论、不冒险。5. 高频故障与排查实录5.1 MCP 服务器连接失败最典型的症状是启动 Claude 客户端后没有任何工具提示或者在对话中主动检索记忆时模型报工具调用失败。排查第一步看配置文件格式。JSON 多一个逗号或者引号不匹配都会导致整个配置被忽略。第二步看命令是否可执行在终端里手动跑一次npx -y claude-mem如果这里都报错说明依赖没拉到位换个网络环境重试。第三步看日志。MCP 服务器的运行日志一般会输出到系统临时目录找到日志文件定位崩溃原因。我自己遇到最多的案例是CLAUDE_MEM_STORAGE_DIR指定的目录没有写权限。macOS 用户尤其要注意指向某个受保护的目录或者 iCloud 同步目录都会引发奇怪的问题。解决方案很简单把存储目录放在用户主目录下面一个新建的普通文件夹即可。5.2 上下文窗口被记忆挤爆开启记忆功能后有些用户发现对话窗口的 token 消耗明显加快甚至出现模型忘记正在讨论的问题的情况。这通常意味着注入的记忆条数太多了或者单条记忆太长。排查方法在会话里查看系统提示词的实际 token 占用如果发现记忆注入部分超过 2000 token就该考虑调低注入上限。另一个容易被忽略的点是历史会话积累的对话内容也会进入上下文记忆注入和长对话叠加双管齐下更占地方。这时候优先压缩记忆条数而不是缩减当前对话。5.3 模型在记忆影响下角色错乱这是最让人哭笑不得的问题因为记忆库里存了太多历史对话中的角色扮演内容模型在一个完全不相干的新会话里突然开始以某个旧身份说话。例如你曾经让它扮演某个客服角色结果两周后你问它技术问题它张口就是客服腔。这类问题几乎都是记忆注入内容太杂导致的。解决办法分两步第一步立刻在记忆库中删除所有角色扮演相关的条目第二步在稳定记忆配置里明确写明你是通用技术助理不承担任何角色扮演任务。做过这次清理之后最好养成习惯——与角色扮演相关的对话建议放在单独的会话环境里跑不要让它进入公共记忆池。5.4 常见问题速查表现象可能原因解决方法工具未连接配置文件路径错误检查 JSON 格式手动运行 npx 验证记忆不生效存储目录不可写更换目录并设置正确权限检索结果不相关相关性阈值过高调低阈值或在开场白标注关键词上下文迅速占满注入条数过多调低注入上限、压缩单条长度模型身份混乱混入角色扮演记忆删除相关条目添加固定身份提示记忆内容重复自动去重能力有限每周手动清理合并近似条目隐私信息被记录黑名单未配置配置敏感词黑名单必要时开无痕模式6. 把记忆工具真正用成外挂大脑配置完成、跑通核心流程只是第一步。真正让 claude-mem 发挥价值的地方在于你愿意改变使用习惯来配合它。我个人的体会是连续使用一个月之后对比早期的对话质量提升非常明显——模型在回答时越来越懂克制因为它知道用户偏好是简洁和直接它也不会反复追问已经确认过的背景信息因为那些都沉淀在记忆库里了每次开场自动加载。最后再分享一个小技巧在每天结束长时间、高密度的开发对话之前留一分钟专门触发一次记忆归档。比如对模型说请把今天所有确定的技术方案和待办事项整理成记忆条目然后让它检索一遍确认。这个小动作能极大提升第二天开工时的连续性你会发现自己和 AI 的配合默契度某种程度上已经不亚于一个共事半年的老同事了。你的上下文越大越值得被更好地记忆。这个道理用过就回不去了。

相关新闻

企业内部AI智能体部署实战:需求梳理、架构选型与成本估算

企业内部AI智能体部署实战:需求梳理、架构选型与成本估算

我今年帮团队主导过两轮内部AI智能体的落地,第一轮埋了三个大坑,第二轮才真正跑顺。如果你正被“在公司内部系统里部署AI智能体”这件事搞得一头雾水,这篇文章能帮你把需求清单、架构选型、数据准备、成本估算这些事一次性理清楚。 先说结论…

2026/10/13 10:14:12 阅读更多 →
跨区域出行平台如何实现高质量旅程:服务标准化与体验一致性实践

跨区域出行平台如何实现高质量旅程:服务标准化与体验一致性实践

1. 从"点游出行"这个标题里,我读出了什么第一次看到"点游出行提供内地与香港游客高质量的旅程"这个标题,我的直觉是:这不是一个纯技术项目,而是一个典型的跨区域出行服务平台的产品定位描述。它要解决的核心问…

2026/10/13 11:51:46 阅读更多 →
openMetadata Docker部署:Compose配置与避坑实践

openMetadata Docker部署:Compose配置与避坑实践

简介:OpenMetadata 是一款开源的一站式元数据管理平台,集数据发现、血缘追踪、质量监控、数据治理与团队协作于一体。针对采用 Docker 部署的场景,这份 doc 文档基于 CentOS 7 环境,完整梳理了从基础环境准备(Docker、…

2026/10/13 11:51:49 阅读更多 →

最新新闻

利用阿里云alidns实现DDNS动态解析:公网IP变化自动更新教程

利用阿里云alidns实现DDNS动态解析:公网IP变化自动更新教程

家里的宽带每隔一段时间公网IP就会变,尤其是不满运营商最长在线时长之后强制断线重拨的那种,老域名解析记录一直是旧IP,访问家里NAS或者是远程桌面全都得靠临时记IP来连,烦得不行。后来我把域名托管到了阿里云云解析,直…

2026/10/13 22:17:56 阅读更多 →
电子签章选型必读:法律效力、防篡改与集成的6个关键点

电子签章选型必读:法律效力、防篡改与集成的6个关键点

很多企业在做流程线上化的时候,最容易忽略的一环就是“最后签字盖章怎么弄”。等合同审批流程都跑通了,业务部门拿着实体章站在打印机旁边,才发现线上化根本没有真正闭环。这两年电子签章已经是很多公司的刚需选项,但选型负责人对…

2026/10/13 22:17:56 阅读更多 →
论文摘要与结论的AI急救:3分钟结构化提炼实战指南

论文摘要与结论的AI急救:3分钟结构化提炼实战指南

论文写得七七八八,结果卡在摘要和结论上干瞪眼,这事儿我太熟了。数据显示,超过六成的作者在投稿前最后一晚还在改摘要——不是因为写得不好,而是压根不知道摘要该写什么、结论收在哪。审稿人最先看的就是这两块,但很多…

2026/10/13 22:17:56 阅读更多 →
C++与OpenCV实现虹膜分割:从霍夫圆检测到掩膜生成与参数调优

C++与OpenCV实现虹膜分割:从霍夫圆检测到掩膜生成与参数调优

简介:这份资源聚焦虹膜分割与虹膜提取的工程实现,面向具备一定图像处理基础、希望用C与OpenCV落地生物特征识别项目的开发者与学习者。包内提供可直接编译运行的Visual Studio工程,核心代码以cpp源文件形式给出,并配有测试图片与一…

2026/10/13 22:17:56 阅读更多 →
近视调节力训练与保护全攻略

近视调节力训练与保护全攻略

1. 近视困扰的本质解析近视人群的日常困扰远比视力表上的数字复杂得多。早晨醒来第一件事摸眼镜,吃火锅时镜片起雾,运动时框架不断下滑,这些生活细节构成了近视者的共同记忆。但大多数人不知道的是,除了眼轴长度这个硬指标外&…

2026/10/13 22:17:56 阅读更多 →
Agent技能工程:可测试、可编排、可治理的智能体落地实践

Agent技能工程:可测试、可编排、可治理的智能体落地实践

1. “agent-skills”不是新词,而是智能体工程落地的临界信号最近在几个技术社区和内部项目复盘会上,反复看到“agent-skills”这个组合被开发者随手写在白板角落、贴在PR描述里,甚至出现在某高校AI课程实验手册的标题栏——但它既不是某个开源…

2026/10/13 22:16:55 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →