跨会话记忆实战:用claude-mem为AI助手构建可检索记忆库
上周我照常打开一个新的终端会话让 AI 助手继续处理一个跟了三天的项目。它上来就问我要项目背景、依赖关系、之前定好的技术方案——那一刻我真的有点崩溃同样的背景我至少解释过三次了。也就是从那时候起我开始动手折腾 claude-mem 这类跨会话记忆方案。如果你也被每次都要重新交代一遍背景折磨过这篇文章应该对你有用。claude-mem 是我目前用得最顺手的思路之一把 AI 助手的历次会话记录沉淀成可检索的记忆库在新会话里按需自动召回。它不是某个神奇的大模型也不改助手本身的推理能力而是加在会话和模型之间的一层记忆皮层。这篇文章我会从为什么要做、整体链路、核心模块、配置细节到实际踩过的坑完整拆开讲一遍。1. 会话窗口不是记忆AI 助手天生就是金鱼1.1 先搞清楚知道和记得的区别很多刚接触 AI 助手的同学会有一个错觉它既然能聊得这么顺应该什么都记着吧。真不是。大语言模型本质上是无状态的函数——每次你输入一段话它根据这段输入生成输出这段输入就是它的全部世界。上下文窗口再大也只是当下能看到的纸窗口关掉纸就烧了。我习惯用鱼缸来类比模型就像一条金鱼它的记忆范围只有眼前这缸水。你把鱼缸换大一点增大上下文窗口它能同时看到的东西更多了但它依然不记得昨天这缸水里发生过什么。会话结束的那一刻所有讨论过的约束、排除掉的方案、确认过的命名规则全部归零。这就是 AI 助手的金鱼病。短会话里还没什么感觉一旦进入真实的工作流——跨天开发、长期项目维护、持续的知识积累——这种失忆带来的重复劳动就很疼了。1.2 真正的财富都沉淀在历史会话里我后来仔细翻过自己一周的会话记录发现里面真正有价值的东西并不是那些大段的代码生成而是散落在对话里的决策过程为什么选 A 方案不用 B 方案、哪个依赖版本会踩坑、用户对某个交互的偏好、上次排查某个 bug 的完整链路。这些东西如果只是留在终端的历史文件里就永远只是一堆 JSONL 文本谁也不回去翻。可它们恰恰是下一个会话最需要的上下文。我需要的不是更大的上下文窗口而是能把历史里相关的那一小块精确捞出来的能力。1.3 claude-mem 到底补的是哪块拼图claude-mem 的定位很清晰它不改变模型不魔改接口只是做一个旁路系统。它站在 AI 助手和历史会话之间承担三件事读取并解析历史会话记录把对话内容结构化。将内容切块、向量化存入本地记忆库。在新会话的请求发出之前基于当前的问题检索最相关的旧记忆并把它们拼进提示词里。一句话它把不可回溯的历史变成了可检索、可回灌的记忆。真正设计起来里面的每一步都有不少讲究后面我会逐个拆。2. 数据链路拆解从会话记录到可检索记忆2.1 第一步会话记录从哪来怎么读claude-mem 能工作的前提是助手本身会把会话内容落盘。很多终端类 AI 工具默认会在本地目录写会话记录通常是一行一条消息事件的 JSONL 格式每条记录里包含角色用户、助手、工具调用等、消息内容、时间戳、会话 ID。读取这块没什么技巧难点在清洗。原始记录里混着大量工具调用输出、系统提示、代码块、冗长的日志片段如果全量入库记忆库会变得又大又杂。我的做法是只抽取三类消息用户的指令、助手的最终回复、工具调用的结果摘要。中间的碎碎念、失败的中间步骤只保留结论性内容。# 伪代码示意从会话记录中抽取候选记忆 for event in parse_session(jsonl_path): if event.role user: candidates.append({type: user_request, text: event.content}) elif event.role assistant and event.is_final: candidates.append({type: assistant_answer, text: event.content}) elif event.role tool_result and event.has_conclusion: candidates.append({type: tool_summary, text: summarize(event.content)})这一步做得好不好直接决定记忆库的信噪比。宁可从源头就过滤掉噪音也不要指望后面的检索环节帮你擦屁股。2.2 第二步切块、向量化、落库抽取出来的每条消息还不能直接入库。一条助手的回复可能长达几千字直接整条向量化会让语义变得模糊检索时也容易命中无关的片段。所以必须先切块。切块策略我放在后面单独讲这里先说过流程把每一条候选内容按语义边界切成 500 到 800 字的块相邻块之间保留 50 字左右的重叠避免切在关键句子上。然后每个块生成一个向量连同时间戳、会话 ID、项目路径等元数据一起写入本地向量库。向量库我用的嵌入式文件型方案不需要额外起服务数据落在本地目录对个人使用来说最省心。每个记忆条目实际存的是三部分向量、原始文本、元数据。检索时按向量相似度召回候选再结合元数据过滤和重排。2.3 第三步请求发出前把记忆塞回对话记忆库建好了剩下的问题是怎么用。最优雅的方式是利用 AI 助手自带的钩子机制——在用户输入提交之前执行一个外部命令把命令的输出追加进上下文。具体到 claude-mem 上就是监听用户即将提交输入这个事件拿到本次用户的问题去向量库里检索最相关的历史记忆把记忆拼接成一段历史上下文参考以系统侧补充内容的形式注入到请求里。注入的格式很关键。我试过几版最稳定的是给每段记忆标注来源时间和会话场景并明确告诉助手这些是历史记录的摘要不一定完全适用当前场景仅供参考{ memory_block: [ { source_time: 2025-11-20, content: 项目约定使用 ESM 模块规范构建产物输出到 dist/, relevance: 0.87 } ] }这样助手就不会把历史记忆当成绝对的当前事实而是当作背景参考来用。给记忆打上参考的标签看起来是个小细节却能明显减少它把旧约定硬套到新需求上的尴尬。2.4 别忘了还有一个低科技兜底向量检索不是万能的偶尔会漏掉一些刚发生、还没写入索引的事实。所以我还保留了一个兜底机制一份持续维护的记忆摘要文件。每当一段重要对话结束claude-mem 会把当次的结论追加到这个文件里作为纯文本长期保存。这份文件的好处是简单、透明、可直接编辑。向量库出了问题或者想手动删掉某条不想被记住的内容直接改文件就行。它跟向量库的关系是互补向量库负责模糊召回摘要文件负责精确兜底。两条路都在记忆系统才不会在关键时刻掉链子。3. 从零配置跑通环境搭建和基础设置3.1 安装与依赖准备claude-mem 运行在 Python 3.10 环境上。安装本身没什么可说的一条命令的事主要麻烦在依赖它需要一整套文本处理和向量化相关的库另外还需要下载一个本地嵌入模型文件首次运行会自动拉取网络不好的时候容易卡住建议提前手动把模型文件准备好。装完之后先别急着接助手我强烈建议先用自己的终端跑一遍命令行验证手动指定一个会话记录文件让它建立索引然后查一条历史内容看能不能召回。这一步跑通了再接钩子不然后面排查问题会非常痛苦。3.2 需要重点理解的配置项配置文件的默认值通常能直接用但有几个参数决定了记忆系统好不好用值得逐个过一遍:配置项我用的值作用与调整思路记忆库存储路径独立的本地数据目录别放到项目目录里否则容易被清理工具误删召回数量 top_k5 到 8太少容易漏太多会让注入内容过长挤占对话窗口相关性阈值0.55 左右低于这个分数的记忆宁可不注入避免噪音干扰项目命名空间按项目根目录自动划分防止多个项目的记忆互相串味后面细说自动压缩开关开启定期把较早的会话压缩成摘要控制库体积这里最需要反复调的是相关性阈值。阈值设得太低助手会频繁读到不相关内容反而干扰判断设得太高又可能什么都召回不到表现成记忆失效。我个人的经验是先从 0.5 开始跑几天观察它在哪些场景漏召回、哪些场景误召回再微调。3.3 验证真的生效别只看日志很多人配置完钩子看到终端里闪过 claude-mem 的日志就以为成功了其实那只能说明命令被执行了不能说明记忆真的进了对话。我总结了一个靠谱的验收方法先故意在会话里交代一个明确的偏好比如以后所有接口返回格式统一用 camelCase结束会话新开一个会话直接问一句接口返回格式以后用什么规范。如果助手能给出准确回答说明全链路是通的。如果它答不上来就去检查那次会话是否真的写入了记录、切块是否正常、召回时相关性分数够不够。这个验收方法听起来很基础但它能快速区分问题出在记录没入库检索没召回还是注入没生效排查效率高很多。4. 核心模块深挖嵌入、分块、检索与遗忘4.1 嵌入模型选型本地优先还是走 API记忆的检索质量七成取决于嵌入向量模型。嵌入模型负责把文本变成向量相似的语义在向量空间里距离更近。这里有一个常见误区不是模型越大效果就一定越好。对于 claude-mem 这种记忆片段级别的短文本检索中等规模的本地嵌入模型已经完全够用。选择本地模型的最大理由是隐私和控制会话记录里可能带着业务细节、个人偏好走云端 API 就等于把这些数据送到外部服务我心里是不踏实的。本地模型跑在 CPU 上也够快几百毫秒内能完成一次召回。唯一的代价是首次下载模型文件以及偶尔的精度不如云端大模型但通过合理的重排策略完全可以弥补。4.2 分块策略为什么决定了检索质量的上下限我可以直接说claude-mem 里我调得最多的就是分块参数。分块太粗一个块里塞了三个不相关的话题检索时只命中其中一个另外两个就成了噪音分块太细又容易把完整的逻辑拆散召回回来的是一堆残缺片段。我的最终策略是以对话轮次为边界窗口内再按长度二次切分。每个对话轮次天然是一个语义单元先按轮次切超过长度上限的再补充切。切的时候保留代码块和列表结构的完整性绝不把一段代码从中间劈开。重叠部分取 50 字刚好能保住承上启下的关键句。这里有一个反直觉的发现很多人为了省向量库的存储空间把块切得很大。结果是召回质量肉眼可见地下降。存储空间和检索质量之间我建议毫不犹豫地站在检索质量这边——反正本地磁盘并不贵。4.3 检索不是只看相似度要做混合打分纯靠向量相似度召回表现其实不太稳定。历史记忆有一个特性时间越近的信息往往越重要。一条上周的当前项目使用 pnpm 管理依赖比一条三个月的当时考虑过用 pnpm要有用得多。单纯相似度检索会把这些时间信息丢掉。所以我给检索加了一个混合打分公式综合三部分语义相似度来自向量距离。关键词命中加分对方法名、库名、路径这类精确词做轻量匹配。时间衰减越新的记录分数越高。最终分数是这三者的加权和。我在实际测试里看到加入时间权重之后召回结果的相关性明显更贴近实际需求。这个调整代码量不大但对使用体验的提升非常显著。4.4 记忆也要新陈代谢和遗忘记忆库不是光进不出。跑上两三个月如果不做清理库里会堆积大量过时和重复的内容同一个问题的多次讨论、早已废弃的方案、过期依赖的使用约定。这些内容不但占用空间更会在检索时反复被召回干扰助手对当前状态的判断。我的处理思路是分三层。第一层是去重嵌入向量高度相似的块自动合并保留时间最新的版本。第二层是压缩对超过一定时限的旧会话用模型生成一段摘要替代原始全文大幅缩小体积。第三层是归档超过半年的记忆移出热检索范围只在主动查询时可用。这套新陈代谢机制让记忆库始终保持在合理规模。记忆这个东西不能只做加法会遗忘的记忆系统才健康。5. 实战踩坑记录四个让我调了一整天的问题5.1 跑通了但记忆根本没进去这是我遇到的第一个也是最能误导人的坑。日志显示 claude-mem 在正常启动每次提交都在跑但新会话里助手对历史问题毫无反应。排查了半天最后发现是数据源的问题我配置的读取路径和 AI 助手实际写会话记录的路径不一致。这类工具的会话目录往往带时间戳或哈希值路径版本一变就容易对不上。更隐蔽的是写入延迟——助手可能不会实时把记录刷到磁盘而是攒一批再写。我刚结束会话就立刻新开一个验证此时旧会话可能还没落盘。解决方法是读取时兼容多个候选路径验证前先确认会话文件确实存在且已写入必要时加一个小等待或者手动触发落盘。5.2 召回结果五花八门相关性堪忧功能通了之后下一个问题是召回内容不那么对。问接口规范它把一个月前的部署讨论也翻出来了。根源在于分块粒度和主题漂移一次长会话通常会聊好几个话题同一个块里塞了多个主题检索时就容易串台。我在修正分块策略之后召回质量提升非常明显。另外加了一个重排步骤召回前 20 条候选用一个轻量重排模型或规则关键词精度 时间新鲜度再筛一遍只保留前 5 到 8 条。重排这个环节看起来多此一举但它就像面试中的终面能把初选合格的候选人里最合适的那几个挑出来。5.3 记忆库越来越大检索越来越慢跑了一个多月我发现检索开始变慢打开数据目录一看索引文件已经好几个 GB。原因很简单向量化过程中积累了太多重复和冗余块加上每次会话都会产生新记录库体量迅速膨胀。我那段时间的调优动作是开启自动压缩、调高去重阈值、把超过两个月的旧会话主动归档。处理完以后库体量降了大约 60%检索速度恢复到接近初始状态。后来我把每周自动压缩加进了定时任务这个问题基本就不再出现。5.4 多个项目的记忆互相串台最典型的表现是在项目 A 里讨论的依赖选型跑到项目 B 里被助手引用出来了。因为默认配置下所有项目的会话记录都进同一个记忆库检索时不区分来源。解决方式很直接按项目根目录划分命名空间每个项目一个独立的记忆库。检索时只在本项目的库里查。这个改动非常小但属于不做就会出大问题的分类。如果你同时维护多个项目请务必在最开始就配置好命名空间。6. 我把这套记忆方案用在了哪些场景6.1 长周期项目的接力棒最受益的场景是跨天的项目开发。以前每次新会话都要花上十分钟重新梳理背景项目目标、目录结构、已完成的部分、待办的难点。现在 claude-mem 会在我输入第一句话时就自动把相关的历史决策注入进来。助手不再问这个项目是什么而是直接接着昨天的思路往下走。这种体验上的变化很难用文字描述清楚但效率提升是实打实的。我算过一笔账以前一个项目中期每天花在恢复上下文上的时间至少 20 分钟现在基本可以忽略不计。6.2 个人偏好和工作习惯的沉淀另一个很实用的点助手会慢慢记住我的工作习惯。比如我偏好接口文档用中文写注释、测试文件的命名规范、commit message 的格式要求。这些偏好散落在各个会话里如果每次都重新手动交代既啰嗦又不稳定。有了记忆机制之后它们在会话中自然沉淀后续自动生效。这个效果特别像和一个合作很久的同事共事他不需要你反复提醒就知道你习惯怎么做事情。6.3 轻量知识库问答我还尝试把 claude-mem 当成一个轻量的个人知识库来用把一些零散的技术笔记、问题排查记录喂给它然后通过对话问答的方式取用。它和完整的 RAG 系统相比差了不少功能但胜在零成本、零维护对个人场景足够用。需要说明的是它不适合做大规模的知识库检索。那些需要精确证据链和版本管理的场景还是应该用成熟的文档检索方案。记忆工具的定位是辅助不是替代。6.4 什么场景别硬上经过实践我也划清了几个不要用的边界涉及敏感信息的会话不要接入记忆宁可让记忆库留白需要精确到代码行、版本号的场景记忆检索的模糊性容易引入错误信息高频变化的状态比如当前部署到哪个环境记忆里存的永远是过时的。记忆是帮助助手理解背景不是帮它记忆事实数据。把这条边界想清楚就能避免不少误用。7. 一点个人体会记忆应该是一门产品不是一个功能折腾这套方案到现在我最深的体会是给 AI 助手加记忆难点不在存得下而在召回得准、注入得巧、遗忘得合理。很多人做记忆系统只盯着向量库和嵌入模型却忽略了产品层面的问题——什么时候该让它想起什么什么时候该让它忘掉什么。我在这套方案里最满意的一个设计是记忆全部可视、可编辑、可删除。我不会把记忆系统的内部逻辑当成黑盒每个注入到对话里的记忆都标注了来源我想要调整阈值直接改配置想删某条记忆直接操作数据文件。这种透明性让我敢长期依赖它。后面我还想继续折腾两个方向一个是给记忆建立关联关系把散落的单点记忆织成知识图谱另一个是做记忆的分级管理让不同重要程度的内容有不同的保留周期。这些想法还不成熟等实践出结果了再写文章分享。最后分享一个小技巧如果你刚开始尝试这类记忆方案别急着把整套功能全部打开。先只启用检索回灌和兜底摘要文件这两项跑一周看看哪些召回有用、哪些是噪音然后再逐步调参和开启自动压缩。一步一步来你才能真的理解每个参数在替你做什么。

相关新闻

多目标函数优化实战:从Pareto前沿到NSGA-II工程落地

多目标函数优化实战:从Pareto前沿到NSGA-II工程落地

简介:这份资源面向需要在MATLAB环境下处理多目标优化问题的学生、科研人员与数学建模竞赛选手,核心是提供一套可直接运行的多目标优化模型代码与遗传算法工具箱。包内共64个文件,以60个m脚本为主体,辅以txt说明、ps与pdf文档&…

2026/10/11 4:52:24 阅读更多 →
二进制全一序列算法:从位运算到大数取模的工程实践

二进制全一序列算法:从位运算到大数取模的工程实践

“算法111111”,这名字乍看像随手敲的占位符,但在我代码仓库里,它是个正经编号。所谓“111111”,不是六个一凑热闹,而是二进制下的全一序列:一位的 1、两位的 11、三位的 111,一直到六位的 1111…

2026/10/11 4:52:24 阅读更多 →
n8n集成APITemplate.io节点:自动化生成PDF报告完整指南

n8n集成APITemplate.io节点:自动化生成PDF报告完整指南

1. 这个节点到底解决什么问题我先说一个场景:你辛辛苦苦用n8n把订单数据、客户信息、库存报表全部串成了自动化流程,每天定时跑、遇到异常自动告警,一切都很顺利。直到有一天业务同事跑过来说:“能不能每天自动生成一份带logo、带…

2026/10/11 4:51:24 阅读更多 →

最新新闻

AI生成3D城市模块编辑器真的可用吗?用6个节点验证放置、撤销与保存回读

AI生成3D城市模块编辑器真的可用吗?用6个节点验证放置、撤销与保存回读

透明建筑模块逐步拼成一座城市,很容易让人觉得城市编辑器已经成立。但对普通用户和独立开发者来说,真正需要验证的不是“建筑能不能出现”,而是能否稳定完成一条编辑闭环: 选择模块 → 预览与旋转 → 网格吸附 → 正式提交 → 撤…

2026/10/11 5:37:48 阅读更多 →
给大模型装个随身笔记:claude-mem跨会话记忆实战解析

给大模型装个随身笔记:claude-mem跨会话记忆实战解析

不知你有没有经历过这种场面:跟同一个大模型对话,昨天刚跟它聊完项目背景、个人偏好,今天开个新会话,它一脸茫然地把你当陌生人,你得把同样的话再交代一遍。我一开始觉得这没啥,多打几行字而已,…

2026/10/11 5:37:48 阅读更多 →
2026届毕业生推荐的AI论文方案:把OAuth refresh报错改到TaoToken

2026届毕业生推荐的AI论文方案:把OAuth refresh报错改到TaoToken

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

2026/10/11 5:37:48 阅读更多 →
AnyPS5跨平台串流工具:低延迟高画质远程游玩方案设计与实操

AnyPS5跨平台串流工具:低延迟高画质远程游玩方案设计与实操

1. 从“AnyPS5”这个标题说起:一个跨平台串流工具的设计思路第一次看到“AnyPS5”这个标题,我脑子里蹦出来的第一个念头是:这大概率又是一个围绕主机远程游玩做文章的项目。果不其然,翻了一圈社区讨论和零散的技术片段之后&#x…

2026/10/11 5:37:48 阅读更多 →
基于SpringBoot+Vue的驾校管理系统:从数据库设计到部署实战

基于SpringBoot+Vue的驾校管理系统:从数据库设计到部署实战

拿过很多套前后端分离的项目源码,驾校管理系统这个题,算是被最多人拿来当练手和毕业设计的项目之一。SpringBoot Vue 的组合本身不稀奇,但驾校这个业务域把预约、排班、状态流转、多角色权限全凑齐了,反而非常适合用来搞懂一套管…

2026/10/11 5:37:48 阅读更多 →
Matlab车辆路径规划实战:经典模型、算法选择与避坑技巧

Matlab车辆路径规划实战:经典模型、算法选择与避坑技巧

兄弟们,今天咱们来盘一盘Matlab里搞车辆路径规划的那些事儿。说实话,配送路线优化这个领域,最劝退新人的不是算法有多难,而是各种约束条件跟不要钱似的往你身上叠:车辆容量、时间窗、服务时长、司机最大工时、单双行限…

2026/10/11 5:36:48 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/10 5:23:50 阅读更多 →
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/10 10:38:42 阅读更多 →