OpenClaw 记忆机制完全指南:Markdown 记忆文件、压缩前自动刷新与向量语义搜索
人工智能大模型LLM 网关AI Agent即时通讯【免费下载链接】openclaw-zero-tokenOpenClaw: Use All Major AI Models NO API Token! Claude/ChatGPT/Gemini/DeepSeek/Doubao/Grok/Qwen/Manus/Kimi项目地址https://gitcode.com/gh_mirrors/op/openclaw-zero-token点击查看免费下载OpenClaw 的记忆体系以「智能体工作空间中的纯 Markdown 文件」为唯一事实来源模型只记住真正写入磁盘的内容并在会话接近自动压缩前通过静默智能体回合把持久信息落盘同时借助向量索引可选 BM25 混合检索让语义查询能够找回措辞不同的旧笔记。本文完整讲解 OpenClaw 记忆文件布局、写入时机、memoryFlush自动刷新配置以及memorySearch从嵌入提供商选择、批量索引、混合搜索到 SQLite 向量加速的全部参数与底层实现读者可据此直接配置一个具备长期记忆与语义检索能力的 OpenClaw 智能体。记忆的本质工作空间中的纯 Markdown 文件OpenClaw 的记忆不是模型参数、不是隐藏数据库而是智能体工作空间中实实在在的 Markdown 文件。这些文件是唯一的事实来源模型只记住写入磁盘的内容。这意味着记忆可读、可写、可被 git 版本化、可迁移甚至可以直接用文本编辑器人工整理会话重启后记忆由这些文件恢复不依赖任何内存状态记忆的读写权限与范围与工作空间workspace的访问策略完全一致。记忆搜索工具由活动的记忆插件提供默认插件为memory-core。如果你完全不需要语义记忆可以通过plugins.slots.memory none禁用记忆插件对应运行时可见 plugins/memory-runtime.ts其中ensureMemoryRuntime会按配置解析并加载记忆插件注册表。记忆文件Markdown两层布局默认工作空间布局使用两个记忆层二者职责不同、生命周期不同文件类型内容与加载规则memory/YYYY-MM-DD.md每日日志仅追加日常笔记与运行上下文在会话开始时读取今天和昨天的内容MEMORY.md可选精心整理的长期记忆决策、偏好、持久性事实仅在主要的私人会话中加载绝不在群组上下文中加载这些文件位于智能体工作空间之下由agents.defaults.workspace指定默认是~/.openclaw/workspace若设置了非default的OPENCLAW_PROFILE默认变为~/.openclaw/workspace-profile。工作空间的完整布局AGENTS.md、SOUL.md、USER.md、memory/、MEMORY.md等文件的含义与加载时机参见智能体工作空间。该文档还建议把工作空间当作私密记忆放入私有git 仓库做备份与恢复并用.gitignore排除密钥类文件。MEMORY.md之所以仅在主要私人会话中加载是为了避免长期记忆往往包含用户偏好、隐私信息泄漏到群组或共享上下文中而memory/YYYY-MM-DD.md因为按天隔离且仅追加适合记录任何会话产生的运行上下文。何时写入记忆文档给出了清晰的写入指引这也是模型在会话中遵循的行为准则决策、偏好和持久性事实写入MEMORY.md长期记忆跨会话生效日常笔记和运行上下文写入memory/YYYY-MM-DD.md当天日志仅追加如果有人说记住这个就写下来不要只保存在内存中记忆领域仍在发展中提醒模型存储记忆会有帮助——模型知道该怎么做如果你想让某些内容持久保存请要求机器人将其写入记忆而不是指望它自动完成。这条规则与「唯一事实来源」原则互为表里上下文中的内容随时可能因压缩被丢弃只有写入磁盘的内容才算数。自动记忆刷新压缩前触发的静默智能体回合这是 OpenClaw 记忆体系中最关键的自愈机制当会话接近自动压缩时OpenClaw 会触发一个静默的智能体回合提醒模型在上下文被压缩之前写入持久记忆。默认提示明确说明模型可以回复但通常NO_REPLY才是正确的响应因此用户永远不会看到这个回合——刷新是静默的。该行为由agents.defaults.compaction.memoryFlush控制默认配置示例如下{ agents: { defaults: { compaction: { reserveTokensFloor: 20000, memoryFlush: { enabled: true, softThresholdTokens: 4000, systemPrompt: Session nearing compaction. Store durable memories now., prompt: Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store., }, }, }, }, }触发机制与软阈值软阈值当会话 token 估计超过contextWindow - reserveTokensFloor - softThresholdTokens时触发刷新。也就是说在真正逼近上下文窗口之前预留reserveTokensFloor给压缩操作本身再提前softThresholdTokens触发一次记忆落盘。默认静默提示中包含NO_REPLY因此这一回合不会向用户发送任何内容。两个提示一个用户提示prompt加一个系统提示systemPrompt作为附加提醒双重强化现在就把该记的写下来。源码中的完整配置面在配置类型定义 config/types.agent-defaults.tsAgentCompactionMemoryFlushConfig中除了enabled、softThresholdTokens、prompt、systemPrompt还包含一个文档补充字段forceFlushTranscriptBytes当会话转录transcript大小达到该阈值字节数或如2mb的字节字符串时强制触发一次记忆刷新设置为0可禁用——这是为超长会话准备的硬兜底触发条件prompt若缺失NO_REPLY会被强制启用避免刷新回合产生对用户可见的输出。配置解析与保真由 config/config.compaction-settings.test.ts 覆盖验证测试确认memoryFlush.enabled/softThresholdTokens/prompt/systemPrompt等值经loadConfig()完整保留且 compaction 默认mode为safeguard。刷新行为的边界条件每个压缩周期刷新一次刷新次数在sessions.json中跟踪避免同一周期内反复触发工作空间必须可写如果会话以workspaceAccess: ro或none在沙箱中运行刷新会被跳过——记忆无法写入时提醒模型落盘毫无意义。完整的压缩生命周期reserveTokensFloor、qualityGuard、recentTurnsPreserve、postCompactionSections等更多参数参见会话管理 压缩。向量记忆搜索语义级检索OpenClaw 可以在MEMORY.md和memory/*.md以及你通过extraPaths选择加入的任何额外目录或文件上构建小型向量索引使语义查询能找到相关笔记即使措辞不同。默认行为默认启用监视记忆文件的更改带去抖动默认使用远程嵌入如果未设置memorySearch.providerOpenClaw 自动选择如果配置了memorySearch.local.modelPath且文件存在则使用local如果可以解析 OpenAI 密钥则使用openai如果可以解析 Gemini 密钥则使用gemini否则记忆搜索保持禁用状态直到配置完成。本地模式使用node-llama-cpp可能需要运行pnpm approve-builds使用 sqlite-vec如果可用在 SQLite 中加速向量搜索。远程嵌入的密钥解析远程嵌入需要嵌入提供商的 API 密钥。OpenClaw 从以下位置解析密钥身份验证配置文件models.providers.*.apiKey环境变量。需要注意Codex OAuth 仅覆盖聊天/补全不满足记忆搜索的嵌入需求。对于 Gemini使用GEMINI_API_KEY或models.providers.google.apiKey使用自定义 OpenAI 兼容端点时设置memorySearch.remote.apiKey以及可选的memorySearch.remote.headers。额外记忆路径extraPaths默认布局之外的其他 Markdown 文件通过显式路径加入索引agents: { defaults: { memorySearch: { extraPaths: [../team-docs, /srv/shared-notes/overview.md] } } }说明路径可以是绝对路径或工作空间相对路径目录会递归扫描.md文件仅索引 Markdown 文件符号链接被忽略无论文件还是目录。Gemini 嵌入原生将提供商设置为gemini以直接使用 Gemini 嵌入 APIagents: { defaults: { memorySearch: { provider: gemini, model: gemini-embedding-001, remote: { apiKey: YOUR_GEMINI_API_KEY } } } }说明remote.baseUrl可选默认为 Gemini API 基础 URLremote.headers可在需要时添加额外标头默认模型gemini-embedding-001。另外针对 Gemini embedding-2 系列模型配置类型 config/types.tools.ts 还提供了outputDimensionality选项用于指定输出向量维度当前支持 768、1536、3072。自定义 OpenAI 兼容端点如果你想使用自定义 OpenAI 兼容端点OpenRouter、vLLM 或代理用remote配置搭配 OpenAI 提供商agents: { defaults: { memorySearch: { provider: openai, model: text-embedding-3-small, remote: { baseUrl: https://api.example.com/v1/, apiKey: YOUR_OPENAI_COMPAT_API_KEY, headers: { X-Custom-Header: value } } } } }更完整的头部定制示例用于组织/项目隔离agents: { defaults: { memorySearch: { provider: openai, model: text-embedding-3-small, remote: { baseUrl: https://api.example.com/v1/, apiKey: YOUR_REMOTE_API_KEY, headers: { X-Organization: org-id, X-Project: project-id } } } } }关键规则remote.*优先于models.providers.openai.*remote.headers与 OpenAI 标头合并键冲突时 remote 优先省略remote.headers则使用 OpenAI 默认值。如果你不想设置任何 API 密钥使用memorySearch.provider local或设置memorySearch.fallback none。回退fallbackmemorySearch.fallback可以是openai、gemini、local或none回退提供商仅在主嵌入提供商失败时使用本地模式回退示例若本地设置失败且fallback openai自动切换到远程嵌入openai/text-embedding-3-small除非被覆盖并记录原因。批量索引OpenAI Gemini对于大规模回填OpenClaw 支持批量嵌入索引OpenAI 和 Gemini 嵌入默认启用批量。设置agents.defaults.memorySearch.remote.batch.enabled false可禁用默认行为等待批处理完成可调整remote.batch.wait、remote.batch.pollIntervalMs和remote.batch.timeoutMinutes设置remote.batch.concurrency控制并行提交的批处理作业数默认2批处理模式在memorySearch.provider openai或gemini时适用并使用相应 API 密钥Gemini 批处理作业使用异步嵌入批处理端点需要 Gemini Batch API 可用。为什么 OpenAI 批处理快速又便宜对于大型回填OpenAI 通常是最快的选项——可以在单个批处理作业中提交许多嵌入请求让 OpenAI 异步处理OpenAI 为 Batch API 工作负载提供折扣定价因此大型索引运行通常比同步发送同样数量的请求更便宜。综合配置示例agents: { defaults: { memorySearch: { provider: openai, model: text-embedding-3-small, fallback: openai, remote: { batch: { enabled: true, concurrency: 2 } }, sync: { watch: true } } } }本地模式与模型自动下载默认本地嵌入模型hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf约 0.6 GB设置agents.defaults.memorySearch.provider local并给出agents.defaults.memorySearch.local.modelPathGGUF 路径或hf:URI可选设置agents.defaults.memorySearch.fallback none以避免远程回退当provider local时node-llama-cpp解析modelPath若 GGUF 缺失会自动下载到缓存或local.modelCacheDir若已设置后再加载下载在重试时支持续传原生构建要求运行pnpm approve-builds选择node-llama-cpp然后运行pnpm rebuild node-llama-cpp。记忆工具的工作原理memory_search 与 memory_get两个记忆工具由记忆插件注册工具名同样出现在 src/agents/pi-tools.policy.ts 的策略名单与 src/agents/pi-embedded-subscribe.tools.ts 的工具订阅中memory_search—— 从MEMORY.mdmemory/**/*.md对 Markdown 块做语义搜索目标约 400 个 token 的分块80 个 token 重叠。返回片段文本上限约 700 字符、文件路径、行范围、分数、提供商/模型以及是否从本地回退到远程嵌入。不返回完整文件内容。memory_get—— 按路径读取特定的记忆 Markdown 文件工作空间相对路径可选从起始行开始读取 N 行。MEMORY.md/memory/之外的路径仅在明确列于memorySearch.extraPaths时才允许访问。两个工具仅在智能体的memorySearch.enabled解析为 true 时启用。默认分块参数DEFAULT_CHUNK_TOKENS 400、DEFAULT_CHUNK_OVERLAP 80以及默认查询参数DEFAULT_MAX_RESULTS 6、DEFAULT_MIN_SCORE 0.35均定义于 src/agents/memory-search.ts。索引内容与同步时机文件类型仅 MarkdownMEMORY.md、memory/**/*.md以及memorySearch.extraPaths下的任何.md文件索引存储每个智能体的 SQLite 位于~/.openclaw/memory/agentId.sqlite可通过agents.defaults.memorySearch.store.path配置支持{agentId}令牌——resolveStorePath会先做{agentId}替换再解析用户路径见 src/agents/memory-search.ts新鲜度监视器监视MEMORY.md、memory/和memorySearch.extraPaths将索引标记为脏去抖动 1.5 秒即DEFAULT_WATCH_DEBOUNCE_MS 1500。同步在会话开始时、搜索时或按间隔安排并异步运行会话记录使用增量阈值触发后台同步重新索引触发器索引存储嵌入的提供商/模型 端点指纹 分块参数。其中任何一项发生变化OpenClaw 都会自动重置并重新索引整个存储——换模型或换端点后旧向量不会串味。混合搜索BM25 向量启用混合搜索时OpenClaw 同时使用两种检索信号向量相似度语义匹配措辞可以不同BM25 关键词相关性精确令牌如 ID、环境变量、代码符号。如果你的平台无法创建全文搜索FTS5OpenClaw 会回退到纯向量搜索不会硬失败。为什么使用混合搜索向量搜索擅长意味着同一件事的匹配Mac Studio gateway host vs 运行 gateway 的机器debounce file updates vs 避免每次写入都索引。但它在精确的高信号令牌上可能较弱IDa828e60、b3b9895a…代码符号memorySearch.query.hybrid错误字符串sqlite-vec unavailable。BM25全文正好相反擅长精确令牌弱于释义。混合搜索是务实的中间地带——同时使用两种检索信号让自然语言查询和大海捞针查询都获得好结果。结果合并算法当前设计从双方检索候选池向量按余弦相似度取前maxResults * candidateMultiplier个BM25按 FTS5 BM25 排名取前maxResults * candidateMultiplier个排名越低越好。将 BM25 排名转换为 0..1 范围的分数textScore 1 / (1 max(0, bm25Rank))。按块 id 合并候选并计算加权分数finalScore vectorWeight * vectorScore textWeight * textScore。说明在配置解析中vectorWeighttextWeight会归一化为 1.0因此权重表现为百分比src/agents/memory-search.ts 中的mergeConfig会先 clamp 到 0..1再按sum 0归一化如果嵌入不可用或提供商返回零向量仍然运行 BM25 并返回关键词匹配如果无法创建 FTS5保持纯向量搜索不硬失败。这不是IR 理论完美的方案但它简单、快速且往往能提高真实笔记的召回率/精确率。若未来需要更复杂方案常见的下一步是倒数排名融合RRF或在混合前做分数归一化最小/最大或 z 分数。混合搜索配置agents: { defaults: { memorySearch: { query: { hybrid: { enabled: true, vectorWeight: 0.7, textWeight: 0.3, candidateMultiplier: 4 } } } } }配置类型中还提供了两个可选增强默认关闭见 config/types.tools.tsquery.hybrid.mmr最大边际相关性MMR重排序lambda0 最大多样性、1 最大相关性默认 0.7query.hybrid.temporalDecay时间衰减提升新近度halfLifeDays控制指数衰减半衰期默认 30 天。嵌入缓存OpenClaw 可以在 SQLite 中缓存块嵌入这样重新索引和频繁更新特别是会话记录不会重新嵌入未变化的文本。agents: { defaults: { memorySearch: { cache: { enabled: true, maxEntries: 50000 } } } }缓存默认启用DEFAULT_CACHE_ENABLED truemaxEntries为按提供商/模型的可选上限尽力而为。会话记忆搜索实验性你可以选择性地索引会话记录并通过memory_search呈现它们由实验性标志控制agents: { defaults: { memorySearch: { experimental: { sessionMemory: true }, sources: [memory, sessions] } } }说明会话索引是选择加入的默认关闭sources默认仅为[memory]会话更新被去抖动并在超过增量阈值后异步索引尽力而为memory_search永远不会阻塞索引在后台同步完成之前结果可能略有延迟结果仍然只包含片段memory_get仍然仅限于记忆文件会话索引按智能体隔离仅索引该智能体的会话日志安全边界会话日志存储在磁盘上~/.openclaw/agents/agentId/sessions/*.jsonl任何具有文件系统访问权限的进程/用户都可以读取它们因此将磁盘访问视为信任边界如需更严格隔离请在单独的操作系统用户或主机下运行智能体。增量阈值显示默认值agents: { defaults: { memorySearch: { sync: { sessions: { deltaBytes: 100000, // ~100 KB deltaMessages: 50 // JSONL 行数 } } } } }这两个默认值DEFAULT_SESSION_DELTA_BYTES 100_000、DEFAULT_SESSION_DELTA_MESSAGES 50与同步行为onSessionStart、onSearch、watch均默认开启intervalMinutes默认 0 即不按间隔同样可在 src/agents/memory-search.ts 中查到。SQLite 向量加速sqlite-vec当 sqlite-vec 扩展可用时OpenClaw 将嵌入存储在 SQLite 虚拟表vec0中并在数据库内执行向量距离查询——搜索保持快速无需把每个嵌入都加载进 JS 进程。agents: { defaults: { memorySearch: { store: { vector: { enabled: true, extensionPath: /path/to/sqlite-vec } } } } }说明enabled默认为 true禁用后搜索回退到对存储嵌入的进程内余弦相似度计算如果 sqlite-vec 扩展缺失或加载失败OpenClaw 记录错误并继续使用 JS 回退无向量表extensionPath可覆盖捆绑的 sqlite-vec 路径对自定义构建或非标准安装位置很有用。命令行openclaw memory除了模型侧的memory_search/memory_get工具OpenClaw 还提供了 CLI 来管理语义记忆的索引与搜索参考 docs/zh-CN/cli/memory.mdopenclaw memory status openclaw memory status --deep openclaw memory status --deep --index openclaw memory status --deep --index --verbose openclaw memory index openclaw memory index --verbose openclaw memory search release checklist openclaw memory status --agent main openclaw memory index --agent main --verbose选项说明--agent id限定到单个智能体默认所有已配置的智能体--verbose在探测和索引期间输出详细日志memory status --deep探测向量存储和嵌入模型的可用性memory status --deep --index在存储存在未同步变更时运行重新索引memory index --verbose打印每个阶段的详细信息提供商、模型、数据源、批处理活动memory status会包含所有通过memorySearch.extraPaths配置的额外路径。该命令同样由活跃的记忆插件提供默认memory-coreplugins.slots.memory none可禁用。配置总览与实用建议综合全文一个生产可用的记忆配置大致如下{ agents: { defaults: { compaction: { reserveTokensFloor: 20000, memoryFlush: { enabled: true, softThresholdTokens: 4000, forceFlushTranscriptBytes: 2mb, // 可选转录超限强制刷新 systemPrompt: Session nearing compaction. Store durable memories now., prompt: Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store., }, }, memorySearch: { provider: openai, // 或 gemini / local model: text-embedding-3-small, fallback: none, remote: { apiKey: sk-..., // 或依赖环境变量/models.providers.*.apiKey batch: { enabled: true, concurrency: 2 }, }, sync: { watch: true }, query: { hybrid: { enabled: true, vectorWeight: 0.7, textWeight: 0.3, candidateMultiplier: 4 }, }, cache: { enabled: true, maxEntries: 50000 }, store: { vector: { enabled: true } }, }, }, }, }几点务实的建议均来自本文的机制本身记忆分层长期事实进MEMORY.md日常上下文进memory/YYYY-MM-DD.md避免把日志式内容堆进长期记忆压缩前刷新是安全网memoryFlush默认开启且静默不要轻易关闭若会话可能超长再配置forceFlushTranscriptBytes兜底嵌入提供商的选择追求离线与隐私用localnode-llama-cpp 自动下载的 embeddinggemma GGUF约 0.6 GB追求低成本大批量回填用 OpenAI/Gemini 的 batch 模式两者都不想配密钥就把fallback设为none否则系统会保持记忆搜索禁用换模型/换端点会触发全量重索引提供商/模型 端点指纹 分块参数任一变化即重置升级嵌入方案前先做好旧索引的预期管理会话索引默认关闭且会话日志明文存盘、按智能体隔离开启前先评估磁盘访问的信任边界。至此从memory/与MEMORY.md的文件布局、压缩前的静默刷新到向量语义搜索、混合 BM25 检索与 sqlite-vec 加速OpenClaw 的整套记忆机制已完整呈现。你可以据此为自己的智能体配置一套写得出、找得回、压不丢的长期记忆体系。赞分享人工智能大模型LLM 网关AI Agent即时通讯【免费下载链接】openclaw-zero-tokenOpenClaw: Use All Major AI Models NO API Token! Claude/ChatGPT/Gemini/DeepSeek/Doubao/Grok/Qwen/Manus/Kimi项目地址https://gitcode.com/gh_mirrors/op/openclaw-zero-token点击查看免费下载相关推荐CAI CodeAct 系统提示词模板深入解析system_codeact_template.md 的渲染机制与实战配置CAI CodeAct 系统提示词模板深入解析system_codeact_template.md 的渲染机制与实战配置 导读 本文围绕 CAICybers人工智能大模型LLM 网关AI Agent即时通讯OpenClaw-CN 记忆系统完全指南Markdown 记忆文件、压缩前自动落盘与向量语义检索OpenClaw CN 记忆系统完全指南Markdown 记忆文件、压缩前自动落盘与向量语义检索 OpenClaw CN中文社区版 OpenClaw的记忆人工智能AI Agent即时通讯后端本地部署语音OpenClaw Memory 系统实战Markdown 文件记忆、压缩前自动记忆冲刷与混合搜索配置OpenClaw Memory 系统实战Markdown 文件记忆、压缩前自动记忆冲刷与混合搜索配置 本文基于 OpenClaw 官方文档 Memory ht人工智能大模型LLM 网关AI Agent即时通讯上一篇WinUtil3分钟完成Windows系统优化释放电脑潜能的秘密武器下一篇DesktopSharing性能调优降低延迟、提升画质的7个关键配置参数创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

客户拜访总漏关键信息?2026年7款拜访记录工具实测横评,附选型建议

客户拜访总漏关键信息?2026年7款拜访记录工具实测横评,附选型建议

做To B销售、商务BD、渠道的朋友,应该都遇到过这种场面:一趟客户拜访聊了近两小时,客户在中间随口提了预算区间、验收标准、竞品的名字,回到车上怎么也想不全。掏出手机翻那段录音,杂音比人声还大,来回听三…

2026/10/15 2:13:17 阅读更多 →
生产应急响应机制沉淀:从故障发现到业务自愈恢复的 1-5-10 原则落地

生产应急响应机制沉淀:从故障发现到业务自愈恢复的 1-5-10 原则落地

去年双 11 狂欢夜,我们经历过一次刻骨铭心的线上惊魂:某营销组件因为一个偶发的 Redis 慢查询引发级联阻塞,从监控报警、值班人员被拉进应急群、大家七嘴八舌排查根因、层层请示技术总监是否允许关停该功能,直到最后执行配置变更&…

2026/10/15 2:13:17 阅读更多 →
录音转文字怕泄密?实测6款隐私向工具,从本地离线到私有化部署怎么选

录音转文字怕泄密?实测6款隐私向工具,从本地离线到私有化部署怎么选

做会议纪要、采访整理、课堂复盘的人,最近两年大概都有同一个动作:录完音,先愣一下——这段音频,我要不要传上去?不是矫情。录音里往往有客户报价、人事谈话、未公开的方案、当事人的个人信息。一旦上传到不透明的服务…

2026/10/15 2:13:17 阅读更多 →

最新新闻

Electron + Vue 项目结构搭建:主进程、渲染进程与IPC通信实践

Electron + Vue 项目结构搭建:主进程、渲染进程与IPC通信实践

我最早是在做一个后台管理系统的时候碰上了 Electron。当时需求很明确:系统本身是 Vue 写好的网页,但客户希望在 Windows 桌面上能直接双击打开、离线可用、还能调用一些浏览器里做不了的系统能力,比如文件拖拽和本地目录读写。如果单独做一套…

2026/10/15 2:49:27 阅读更多 →
生成函数在算法竞赛中的应用:解锁计数与递推难题

生成函数在算法竞赛中的应用:解锁计数与递推难题

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

2026/10/15 2:49:27 阅读更多 →
ASM1083数据表解读:PCIe转PCI桥片硬件设计与调试指南

ASM1083数据表解读:PCIe转PCI桥片硬件设计与调试指南

简介:ASM1083 PCIe转PCI芯片数据表面向硬件工程师、嵌入式开发者与主板维修人员,用于解决PCIe接口与传统PCI设备之间的桥接设计问题。该芯片由ASMedia出品,支持x1至x16多种PCI Express lanes,数据传输速率最高2.5Gb/s,…

2026/10/15 2:49:27 阅读更多 →
JUnitCore方法级运行为何比类级更慢?揭秘Runner生命周期开销

JUnitCore方法级运行为何比类级更慢?揭秘Runner生命周期开销

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

2026/10/15 2:49:27 阅读更多 →
U8g2单色屏图形库应用笔记:移植、中文显示与刷新提速

U8g2单色屏图形库应用笔记:移植、中文显示与刷新提速

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

2026/10/15 2:49:27 阅读更多 →
ESXi 升级到 8.0 后 VM 快照删不掉?一篇讲透 “in progress“ 死循环的 3 种解法

ESXi 升级到 8.0 后 VM 快照删不掉?一篇讲透 “in progress“ 死循环的 3 种解法

本文适用版本:ESXi 7.0 U3 → 8.0 U2 升级场景(vSphere 6.7 升级也会遇到) 阅读时长:约 8 分钟 难度:⭐⭐⭐(操作不可逆,生产 VM 强烈建议先备份再动)一、为什么写这篇文章?最近私信里又有几位网友问:ESXi 7.0 升到 8.0 之后,VM 的快照怎么都删不掉,vSphere Client 里一直显示…

2026/10/15 2:48:27 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/14 7:53:34 阅读更多 →