最近开发群里聊得最多的一个话题不是新框架也不是新语言而是为什么越来越多人从 Claude Code 换到 Pi这两个工具我都重度用过Claude Code 用了将近一年Pi 也跑了差不多三个月中间还帮同事做了不下十次迁移配置。如果你正在犹豫要不要换或者已经换过来但被各种报错折腾得头疼这篇文章应该能帮你省下不少时间。先说结论Claude Code 依然是目前体验最顺滑的官方终端代理之一但 Pi 代表的是另一条路——一条模型无关、配置开放、数据流可控的路。很多人放弃 Claude Code不是因为它不好而是它在项目里的位置变了。需要先澄清一下这里说的 Pi 是开发者社区里一直在讨论的那个开源个人 AI 代理框架不是挖矿项目也不是树莓派那个 Pi。它解决的恰恰是 Claude Code 最让人纠结的几个问题模型绑定、成本不可控、自定义空间有限。所以这篇文章不会有“哪个工具更强”的结论而是把两个工具放在各自的位置上讲讲我实测下来为什么越来越多的人做出了同样的选择。1. 先搞清楚 Claude Code 和 Pi 的定位差在哪1.1 Claude Code 的爽和它的暗面Claude Code 的优势不用多讲它把“终端编程代理”这个概念做到了很成熟的程度。你可以在命令行里直接让它读项目结构、找报错原因、改多个文件、跑测试、看 git 记录甚至跨模块重构。我第一次用它接手一个遗留 Java 服务时确实有一种“下一代开发工具终于来了”的实感。它和 Claude 系列模型之间有大量的工程级优化无论是工具调用的准确性、代码片段的上下文理解还是多文件编辑的稳定性都做到了很高的完成度。但它的代价也很明显。首先是模型绑定Claude Code 默认依赖 Anthropic 自家的模型和 API它的行为会随着上游模型更新而变化。我团队里有个同事就吃过这个亏某个模型版本更新后同一套重构指令产出的代码风格突然变了原来是 4 空格缩进和防御式编程后来变成了另一个风格整个 PR 的 diff 看得人头皮发麻。其次是成本重度使用状态下一个月下来 API 账单可能比云服务器还贵。最后是定制边界Claude Code 的 Skills 机制确实好用但它的整体设计更像“一辆调校好的原厂车”你想改悬挂、换发动机、外接别的模型就没那么容易了。1.2 Pi 不是“另一个 Claude Code 替代品”很多人第一次接触 Pi 时会把它理解成“开源版的 Claude Code”这个理解不准确。Pi 是一个个人 AI 代理框架它的定位比“某个模型的官方客户端”要低一层准确说是“框架层”。也就是说Pi 把模型、工具、工作流拆成了可配置的部件你想用哪个模型、接什么工具、跑什么流程都可以自己拼。我在实际使用中感受最明显的一点是Claude Code 更像一个“App”你用它的方式基本被定死了而 Pi 更像一个“平台”你在上面跑的是自己的定义。同一个任务我可以让 DeepSeek 跑一次让 Claude 跑一次再让本地模型跑一次然后对比输出质量这在 Claude Code 里几乎是做不到的。正是这种“模型是插拔的管道是你自己的”的设计思路让 Pi 成了很多人在 Claude Code 之外的第二选择甚至是第一选择。你可以把 Pi 拆成几个基本部件来理解agent 核心负责编排任务循环provider 层负责对接不同模型供应商tool 层负责读写文件、执行命令、调用外部 APIworkflow 层负责把多步任务串成固定流水线。这四层结构是它的骨架也是它和 Claude Code 在架构理念上最大的区别。1.3 一张表看完核心差异对比维度Claude CodePi定位Anthropic 官方终端编程代理开源、模型无关的 AI 代理框架模型绑定默认绑定 Claude 系列模型可配置任意支持的供应商如 DeepSeek、OpenAI、Anthropic、Gemini、本地模型成本结构官方订阅或按量 API重度使用较贵按所选模型计费可接低成本模型数据流控制对话和代码片段默认走官方 API本地编排数据流由用户配置决定可选用本地模型扩展性支持 Skills但整体封闭性较强支持 Skills、Workflow、Tool 自定义扩展空间大社区形态闭源问题反馈周期长开源迭代快issue 和 PR 透明这张表只看结论会觉得 Pi 全面占优实际上不是。Claude Code 的零配置体验和官方调优是 Pi 目前很难完全的尤其是工具调用的稳定性和对 Claude 模型特性的调用上。但如果你需要多模型切换、成本控制、自定义工作流Pi 确实给了你一条更宽的路。2. 为什么大家真的会换五个从实践中长出来的理由2.1 不被单一模型锁死模型是多插头不再是发动机Claude Code 用起来最“顺手”的条件是你愿意接受 Claude 模型的一切行为。这本身没问题但模型迭代是常事而你不会永远喜欢每一次迭代。我实测下来Claude 某些版本在代码生成上更“聪明”但在指令遵循上会变得过度发挥明明只要补个工具函数它却给你重构成一套抽象工厂。这在 Claude Code 里你能做的有限最多改提示词但底层模型行为你是改不了的。Pi 的多模型设计恰好解掉了这个痛点。我目前的生产配置里默认模型是 DeepSeek处理常规任务又快又便宜遇到项目架构设计、复杂重构这类需要强推理的场景我会手动切到 Claude 或 GPT 系列模型跑一遍对比结果。这种“按任务分模型”的用法在 Claude Code 里完全做不到。对一个普通开发者来说这可能意味着你的日常开发副驾成本直接降一个数量级。2.2 成本从“月底账单”变成“按任务计划”成本是很多人转投 Pi 的直接原因这一点我不打算替 Claude Code 辩护。假设你每天让代理实际工作 6 到 8 小时包含大量上下文注入、多文件编辑和测试执行一个月下来 token 消耗非常惊人。我见过团队里有人用 Claude Code 跑了两周账单接近 400 美元。不是说官方定价不合理而是这种“代跑”型工具本来就吃调用量叠加订阅费后个人开发者和小团队真的容易吃不消。Pi 不改变你的使用习惯但它改变了你为使用习惯付费的对象。同样的任务量切到 DeepSeek 或其他性价比更高的模型后月成本可能只有原来三分之一甚至更少。当然不同模型质量有差异具体省不省钱要看任务类型。我的建议是先用 Pi 跑一周开日志统计各模型的实际 token 消耗再决定默认模型用谁。别凭直觉选。2.3 数据边界代码库可以不离开自己人企业场景里Claude Code 的一个敏感点在于对话内容和代码片段默认会发送到 Anthropic API。对于私有仓库、未公开业务逻辑、内部工具链这个默认行为会让安全团队非常紧张。我知道 Anthropic 有企业版和相关合规承诺但对于很多中小团队来说引入一个新 SaaS 先去走安全评审流程太重。Pi 的默认路径则更“自带隐私”。它的编排层跑在你的本地机器或自己的服务器上模型层可以接本地模型也可以接你经过合规评估的模型 API。也就是说代码库可以不离开你的控制边界决定权在你手里。我认识的一些开发者之所以从 Claude Code 切到 Pi就是因为他们需要把 AI 代理接入公司的私有 GitLab 和内部文档系统而这些数据流向不能被第三方 API 记录。2.4 Skills 和 Workflow从“用别人做好的”到“自己拼流程”Claude Code 的 Skills 机制其实做得不错你可以用 Markdown 指令加脚本定义一个技能让它在特定场景下自动调用。但它的边界比较明显技能主要围绕 Claude 的能力展开且工作流的编排层级不深。如果你需要的是一个跨多步骤、多工具、带条件分支的自动化流程Claude Code 提供不了足够的表达力。Pi 的 Workflow 配置则更像写代码。我可以定义一个“周重构流程”先扫描未通过 lint 的文件再生成重构方案然后调用编辑器批量修复最后跑一遍测试。每一步可以用不同的模型也可以限制工具白名单。这种精细度在 Claude Code 里很难实现至少我找不到一个原生、稳定的方式。如果你之前被 Claude Code 的 Skills 限制住了那 Pi 的 workflow 设计会让你有豁然开朗的感觉。2.5 社区迭代开源项目的更新节奏不太一样Claude Code 作为一个闭源产品迭代节奏取决于官方规划。它的发布说明、问题反馈、功能请求都是黑盒你只能等。而 Pi 走的是开源路线GitHub 上的 issue 和 PR 是公开的新模型适配、新工具集成、新 workflow 示例社区里会有人提前踩坑并给出方案。我在迁移过程中遇到的一堆问题几乎都能在 open issue 或讨论帖里找到前因后果。不过开源也有开源的代价最明显的就是文档不全、版本碎片化。Claude Code 打开就是一个能用的状态Pi 需要你读懂它的配置哲学否则就是配置地狱。所以我一般会提醒准备入坑 Pi 的朋友先花半小时把仓库 README 和 examples 目录看一遍再动手别直接抄网上旧版本的配置很多报错都是这么来的。3. Pi 的核心机制到底是什么样的3.1 Agent 的干活循环感知、拆解、执行、自查Pi 的 agent 工作方式可以拆成一个四个阶段的循环感知、拆解、执行、自查。感知阶段agent 会读取你给的指令、项目文件、git 状态等上下文拆解阶段它会规划一个任务列表明确先做什么后做什么执行阶段调用工具完成任务比如编辑文件、执行命令、调用 API自查阶段会根据测试结果、报错信息或输出日志判断任务是否需要返工。这个循环听起来不复杂但它决定了 Pi 的模型无关性能走通。因为这四个阶段可以解耦你就可以让“规划”用强推理模型“执行”用低成本模型甚至让不同的步骤打不同的模型。我在实际项目里就试过用 Claude 完成方案设计再用 DeepSeek 执行代码修改整体效果够用成本下降很明显。这种灵活性是 Pi 和 Claude Code 最本质的差异之一。3.2 多模型适配层为什么接 DeepSeek 只是改几行配置Pi 能做多模型接入核心是 provider 抽象层。它把不同模型的 API 统一成一套内部接口无论是 Anthropic、OpenAI、DeepSeek、Gemini还是本地模型服务都会转换成统一的对话和工具调用格式。你只需要在配置文件里声明 provider写上对应的 API Key 环境变量即可。比如我要接 DeepSeek 和 Anthropic配置大概是这样的[providers.deepseek] api_key_env DEEPSEEK_API_KEY base_url https://api.deepseek.com/v1 model deepseek-chat [providers.anthropic] api_key_env ANTHROPIC_API_KEY model claude-sonnet-4-5这里的 api_key_env 是指从哪个环境变量读取密钥base_url 是 API 地址。Pi 在启动时会根据 agent 配置里的 default_model 决定走哪个 provider切换模型不需要重启服务也不需要改代码改配置即可。这一点让“一个代理连接多个模型”变成了标准能力而不是社区 hack。有一点要提醒不同的 provider 在上下文窗口、工具调用格式、thinking 能力上差异很大。比如 DeepSeek 的上下文虽长但某些高级推理参数不支持本地模型可能根本不支持 function calling。Pi 的适配层只能保证“能接到一起”但接完能不能用得好取决于你是否了解每个模型的脾气。3.3 上下文和思考等级从 xhigh 到 reasoning_effort很多从 Claude Code 迁移过来的人会习惯性地找“思考等级”设置。在 Claude Code 里你可以通过命令参数把思考等级调到 high 或 xhigh这会显著影响模型在回答问题前投入多少推理资源。这个参数的存在是因为 Claude 系列模型本身支持不同程度的内部推理调高之后复杂任务的成功率会明显上升但耗时和 token 消耗也会同步增加。Pi 里对应的概念是 reasoning_effort你可以把它配置在全局 agent 级别也可以细化到单个 workflow 里。我目前是这么用的普通聊天和简单代码修改用 low 或 medium涉及架构设计、多文件重构的任务用 high。这个参数不是所有模型都支持接入的模型如果不支持 thinking这个配置会被静默忽略不会报错但你需要知道它有没有生效。检查的方法是看日志里的 reasoning token 消耗如果一直是 0说明模型没在思考配置了也白配。4. 实操从 Claude Code 迁移到 Pi 的完整流程4.1 安装和初始化先把基础跑起来安装 Pi 的方式取决于它当前的发布形态。我选择的是从源码安装克隆仓库后执行 npm install再用 link 命令把它装到全局。这种方式的好处是方便看源码、改配置坏处是需要手动解决依赖关系。如果你的发行版提供预编译二进制或官方安装脚本直接用那种会更省事具体以你拿到的仓库 README 为准。装完先跑一下版本确认pi --version初始化时Pi 会在用户目录下创建默认配置目录通常是~/.pi/。里面会有全局配置文件、skills 目录、workflow 目录。第一次启动时先别急着填密钥把配置文件结构和示例配置看明白再动手。我见过太多人一上来就粘贴一个网上的完整配置结果路径不对、字段名不匹配启动即报错。4.2 把模型供应商配到 Pi 里一份配置任意切换写好配置文件是迁移的第一关。先设置环境变量把密钥放到 shell profile 里避免写进明文配置export ANTHROPIC_API_KEY你的密钥 export DEEPSEEK_API_KEY你的密钥 export OPENAI_API_KEY你的密钥然后在~/.pi/config.toml里写模型相关配置。我的默认配置是把 DeepSeek 作为日常主力Claude 作为高难度任务备选[agent] default_model deepseek reasoning_effort medium max_tokens 32768 [providers.deepseek] api_key_env DEEPSEEK_API_KEY base_url https://api.deepseek.com/v1 model deepseek-chat [providers.anthropic] api_key_env ANTHROPIC_API_KEY model claude-sonnet-4-5配置好后可以用一条简单指令验证链路是否通pi run 请打印当前项目的目录结构并说明你看到的技术栈如果配置正确它会读取项目目录并返回结构摘要。我实测下来一般这三步就能跑通设置环境变量、配置 provider、跑一条测试指令。真正需要花时间的是下一步——工作流的迁移。4.3 迁移 Skills 与 Workflow把原来的习惯带过来Claude Code 里的 skills 本质是“一段 Markdown 指令加脚本”它告诉模型在什么场景下执行什么操作。Pi 的 skills 机制很相似所以迁移成本比想象中低。我当时的做法是把每个 skill 的说明文件和关联脚本复制到 Pi 的 skills 目录然后按 Pi 的格式重写 frontmatter加上 name、description、trigger 字段让代理知道什么时候自动调用它。迁移后更大的改动集中在 Workflow 上。如果你之前在 Claude Code 里靠多轮对话完成一个固定流程Pi 里可以把它固化成一个 workflow。举个实际的例子我写了一个“补测试”流程配置如下workflow: add-tests model: deepseek reasoning_effort: high steps: - analyze: 扫描 src 下未被测试覆盖的模块 - plan: 列出需要补的最小测试集输出方案 - execute: 按方案生成测试文件 - verify: 运行测试并修正失败用例 tools: - read - write - run max_steps: 20这样每次执行pi run --workflow add-tests它就会按固定流程把“扫描、计划、执行、验证”跑完。和 Claude Code 的多轮对话相比可复用性高了很多而且每次跑完的日志都有记录。4.4 用一个真实任务跑通流程从提问到收工拿我最近的一次任务举例一个内部工具仓库的测试覆盖率不足我要把核心模块的单元测试补上。在 Claude Code 里我会先让它读包结构然后再多轮对话确认测试范围最后让它补写用例。在 Pi 里我直接跑pi run --workflow add-tests --context 核心模块是 src/core优先补工具函数和状态机的测试这条指令会触发上面定义的 workflow。执行过程中Pi 会输出每个步骤的日志比如“扫描完成src/core 下 3 个模块无测试”“已生成 5 个测试文件”“测试运行结果7 个用例全部通过”。这类日志对排查问题特别有用你能清楚地看到 agent 在每一步做了什么、用了哪些工具、调用了哪些模型。整体体验下来迁移后的习惯其实不是“问得更多”而是“把流程写成配置让代理自动执行”。5. 常见问题与排查技巧实录5.1 “response stream was malformed” 到底怎么查很多从 Claude Code 转到 Pi 的人第一次跑大批量任务时会遇到这个报错the response stream was malformed and no response was produced。这表示模型返回的流式响应不完整Pi 在解析时拿不到完整内容于是放弃了当次响应。这个问题的常见原因有三个网络不稳定导致流被截断、上游 API 超时或限流、上下文过长导致响应在生成过程中被中断。我的排查步骤是第一步看 Pi 的日志确认是在哪个 provider、哪条指令下出的错第二步把指令拆小比如把一次读 10 个文件改成一次读 3 个看是否继续复现第三步如果是接 DeepSeek 这类第三方 API 出现的问题检查是不是触发了限流常见的表现是请求偶尔成功偶尔失败第四步如果默认模型参数里 max_tokens 设置得太小正好赶上复杂任务也会出现响应被截断的情况。把这些逐项排除掉基本能定位到问题源头而不是盲目重试。5.2 遇到地区可用性问题时我建议的合规处理方式这个问题我必须谨慎地讲。有些人在安装 Claude Code 或调用 Anthropic 官方 API 时会遇到区域不可用的提示大意是“Claude Code 可能在你的地区不可用请查看支持范围”。我给出的建议很简单不要尝试任何绕过手段先去查官方服务条款和可用区域列表确认是否覆盖你所在的位置。如果覆盖检查自己的网络访问是否正常如果不覆盖最务实的选择是换用你所在地合规可用的模型供应商。Pi 在这种情况下的价值就在这里它天然支持多家模型供应商你完全可以把默认模型配成 DeepSeek 这类官方 API 可用且合规的模型而不是死磕某一个模型。我团队里有一部分同事就是这么干的日常开发主力模型用 DeepSeekClaude Code 只在满足服务条款要求的环境中按需使用。这不牺牲效率也能避开区域可用性带来的不确定性。5.3 迁移期最容易踩的三个误区第一个误区是把 Pi 当成 Claude Code 用。很多人迁移后还是用“对话式”思路不断在一个会话里堆指令完全不碰 workflow 和 skills 配置。这样能用但发挥不出 Pi 的优势没过多久又觉得“还是 Claude Code 好用”。我建议迁移前先花半小时写一个最小 workflow让代理完成一个固定任务找到“配置驱动”的感觉。第二个误区是只看示例配置不读文档。Pi 的版本迭代比较快网上很多配置示例来自过期版本字段名、目录结构可能都不一样。我踩过的坑是照抄了一个旧版配置结果 provider 字段解析失败启动过程各种报错。后来翻了一遍当前版本的 config 示例才发现接口已经变了。所以配置问题先查仓库里的 examples 目录别迷信搜索到的碎片内容。第三个误区是一次性接入太多模型。多模型是 Pi 的优势但不代表每个任务都值得切换。模型一多配置复杂度、密钥管理、上下文差异都会成为负担。我的建议是第一阶段只接一个主力模型加一个备选模型跑两周有了稳定基线后再慢慢加。5.4 一份速查表常见错误、原因与处理方向错误现象可能原因处理方向response stream was malformed网络不稳定、上游 API 超时/限流、上下文过长、max_tokens 过小拆小任务、检查限流、调大 max_tokens、查看日志定位 providerprovider 配置解析失败配置字段名过期、yaml/toml 格式错误对照仓库 examples 目录逐项核对字段名模型不支持 thinkingreasoning 配置不生效所选模型本身没有 reasoning 能力更换支持 thinking 的模型或确认 reasoning token 是否真的增加skill 无法被自动触发frontmatter 缺少 description 或 trigger 条件不匹配检查 skill 的元信息格式重新描述触发场景工具调用失败工具目录权限不足、依赖命令未安装检查执行环境、依赖命令、权限配置最后说几句实际体会我自己的迁移路径是最开始 Claude Code 负责一切后来发现高频任务成本太高而 DeepSeek 这类模型在常规代码任务上表现已经够用于是逐步把大部分日常任务切到了 Pi。现在我的习惯是Pi 的默认模型配 DeepSeek遇到复杂架构设计或跨模块重构时再手动切到 Claude。这个组合让我既保住了对模型选择的主导权也没有完全放弃官方模型的强推理能力。如果你也刚转过来我的建议是别急着把 Claude Code 卸载。两个工具可以共存Claude Code 适合交互式探索Pi 适合批量任务和固定流程。遇到问题也别硬扛去翻项目的 open issue 和讨论区绝大多数坑都有人踩过了。工具迁移本身不是终点想清楚谁掌握控制权问答界面后面的那套流程才是你真正拥有的东西。
企业数字化 ERP 产品动态
相关推荐
比亚迪DM-i插电混动技术解析与应用场景 1. 插电混动技术的市场定位与用户需求在当下汽车动力技术路线中,插电混动(PHEV)凭借其独特的"可油可电"特性,正在成为越来越多消费者的折中选择。相比纯电动车,它消除了里程焦虑;相较传统燃油车&… · 2026/11/3 17:22:30
专业图床服务与CDN加速技术解析 1. 为什么我们需要专业的图床服务作为一名技术博主,我深知图片加载速度对用户体验的影响有多大。去年我的个人博客就因为图片加载问题流失了近30%的移动端读者。当页面加载时间超过3秒时,53%的用户会选择离开——这是Google的研究数据。传统解决方案通常… · 2026/11/3 17:22:30
O(1)空间复杂度下寻找缺失数字的原地标记算法 1. 问题背景与核心思路这个问题看起来简单,但隐藏着几个关键约束条件:我们需要在O(n)时间复杂度和O(1)额外空间复杂度下,找出1到n范围内缺失的数字。这意味着我们不能简单地使用哈希表等额外数据结构,而必须充分利用给定的数组本身… · 2026/11/3 17:21:30
C++中struct与class的本质区别与工程实践 1. 结构体与类的本质探析在C的语法体系中,struct和class就像一对孪生兄弟,表面相似却各有性格。作为从C语言继承而来的语法结构,struct在C中被赋予了全新的内涵。记得我刚接触C时,曾天真地认为struct只是C语言中那个简单的数据打包… · 2026/11/3 18:03:32
内网私有化部署DeepSeek:打造能严苛验证算法的智能音箱 去年年底我把家里的智能音箱从厂商云端切换到了内网私有化部署的 DeepSeek 上。不是简单换一个问答后台,而是做了一个能进行“严苛算法求证”的语音枢纽:语音识别、大模型推理、语音合成全部跑在家庭内网,断外网也能正常工作,数据… · 2026/11/3 18:03:32
2026 AI专业生存指南:Python与大模型应用开发全栈工具清单 2026年了,如果你正准备进入AI专业,或者已经在读大一大二,应该已经感觉到了:学校里教的东西和行业里真正用的东西,中间隔着的不是一两年,而是整整一个技术周期。我这个标题里列了Python和大模型应用… · 2026/11/3 18:03:32
深度学习在服装推荐系统中的应用与实践 1. 项目背景与核心价值服装推荐系统是近年来电商平台和时尚科技领域的热门研究方向。传统基于规则的推荐方式往往存在个性化程度低、更新滞后等问题。这个毕业设计项目通过引入深度学习技术,构建了一套能够自动学习用户偏好与服装特征的智能推荐系统。我在实际开发中… · 2026/11/3 18:03:32
拟贝叶斯方法与STFT结合的非平稳信号处理技术 1. 拟贝叶斯方法与STFT结合的背景与价值在信号处理领域,非平稳信号的分析一直是个棘手的问题。这类信号的特点是统计特性随时间变化,传统的傅里叶变换难以捕捉其瞬时特征。我在处理生物医学信号时就深有体会——心电图、脑电图这些信号往往包含多个随时间… · 2026/11/3 18:03:32
C语言数据结构选择与查找算法优化实践 1. 题目背景与需求解析这道PTA(程序设计能力考试)题目考察的是C语言基础编程能力,属于典型的"信息查询"类问题。题目要求我们根据输入的考生信息,在给定准考证号时快速输出对应的考试座位号。在实际考试系统中ÿ… · 2026/11/3 18:02:31
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46