BGP Unnumbered替代OSPF:数据中心Spine-Leaf Underlay配置实战
你是不是还在数据中心里跑着 OSPF每个 Leaf 接口都得手写一个 /31 的互联地址然后又为了 area 划分、DR/BDR 选举、LSA 泛洪范围折腾到半夜如果是那这一篇你大概率能用到。我这次的实验项目很直接在 EVE-NG 专业版里用 BGP Unnumbered 方案彻底替代 OSPF把一套标准的 Spine-Leaf Underlay 打通。所谓 Unnumbered就是所有物理接口不配 IPv4 地址只开 IPv6 链路本地地址BGP 邻居自动从接口上发现IPv4 路由的下一跳也跟着变成链路本地地址配置量能砍掉一大半。这篇会从为什么弃 OSPF、EVE-NG 环境怎么搭、vEOS 下完整配置是什么样、验证和排错怎么做一路写到生产落地该注意什么适合正在接触 VXLAN EVPN 的网工也适合刚准备做数据中心网络实验的初学者照着敲。1. 为什么数据中心里我第一个想干掉的就是 OSPF1.1 OSPF 在设计上低估了 CLOS 的“横向扩张”先声明我没有否定 OSPF 的意思它在园区网、广域网里依然是可靠的主力。但放到数据中心这种动辄几十台 Leaf 的 CLOS 架构里OSPF 的短板会被放得很大。第一是链路 IP 规划量。一台双上联的 Leaf 至少两根互联4 台 Leaf 就要规划 8 段互联地址到了 40 台 Leaf光维护互联地址表就够喝一壶。你得给每个链路想一个 /31 或 /30还得防止重复、方便后面排错。而 BGP Unnumbered 根本不需要互联地址接口上干干净净所有物理链路共享同一个链路本地地址空间根本没有规划成本。第二是协议自身的开销。OSPF 邻居建立依赖组播 Hello要求链路两端协商接口类型、计时器、area、认证任何一项不一致邻居就卡死。CLOS 里链路那么多任意一根链路状态抖动都会引发 LSA 更新DR/BDR 选举在 P2P 链路上还好一旦有人把接口类型配成广播型整个广播域的 LSDB 都会受影响。BGP 没有这些乱七八糟的邻居状态机TCP 179 一握手能力一协商邻居就完事。第三是排障心智负担。OSPF 出问题你得查邻居状态机卡在哪个阶段查区域类型查 LSA 类型再查 SPF 计算后的路由结果。BGP Unnumbered 的排障路径简单得多邻居没起来先查 TCP 和 AS 号起来了看有没有激活地址族路由不发看 network 和下一跳横竖就那么几个点。1.2 BGP Unnumbered一个能用“零互联 IP”解决问题的方案BGP Unnumbered 的核心不是新协议而是 RFC 5549 把两个能力组合到了一起BGP 会话可以用 IPv6 链路本地地址建立IPv4 前缀的下一跳也可以用 IPv6 链路本地地址编码。当接口上执行ipv6 enable之后设备会基于自身 MAC 自动生成一个 FE80::/10 的链路本地地址。这个地址不需要你规划只要接口 up 就一定存在且只在本链路内有效。配置neighbor interface Ethernet1 remote-as之后路由器会在该接口上学习对端的链路本地地址并把它当作 BGP 邻居地址来发起 TCP 179 会话。同时两端在地址族协商时带上扩展下一跳能力这样通告 IPv4 前缀时下一跳字段就变成对端的链路本地地址。最让人舒服的一点是eBGP 场景下所有 Leaf 可以用同一套配置模板。Spine 侧只需把每个接口的neighbor interface指向对应 Leaf 的 ASLeaf 侧只需把自己上联 Spine 的接口指过去剩下的全是重复动作。1.3 一组让我下定决心做切换的对比数字我在 EVE-NG 里同一套双 Spine 双 Leaf 拓扑下做过简单对比。OSPF 方案下每个设备要配接口地址、area、network 或 network 命令逐条宣告四台设备总共得写几十行地址相关配置而且哪台设备配错了地址或者 area排错起点就没法判断。BGP Unnumbered 方案下所有物理接口只用一行ipv6 enableBGP 部分每根邻居一行加上 router-id 和 network 宣告两块 Leaf 的配置几乎一字不差。收敛维度也值得说。OSPF 依赖 SPF 重算全网的 LSA 洪泛会随节点数增长而恶化BGP 在 iBGP/eBGP 上都有成熟的收敛机制配合 BFD 之后几十毫秒收完这在 Leaf 故障切换场景里就是“用户还没感知路由已经绕过去了”。2. EVE-NG 专业版里的实验拓扑搭建2.1 镜像选型为什么我用 vEOS 而不是 IOSv做 BGP Unnumbered 实验第一步就是选对镜像这一步错了后面全白搭。思科 IOSv 不支持 RFC 5549 的接口邻居方式你在它上面翻半天也找不到neighbor interface这种配置语法别浪费时间。Cisco Nexus 9000v 支持但 EVE-NG 里跑起来内存开销大boot 时间长而且部分版本需要 license 才能完整起 BGP。我最推荐的还是 Arista vEOS它对 BGP Unnumbered 的支持非常标准配置语法直观show输出清晰而且 vEOS 在 EVE-NG 社区镜像里非常成熟稳定性和兼容性都很好。如果你手头有 Cisco IOS-XRv也能做命令风格是 XR 那套但流程上会比 vEOS 多几行麻烦。最省心的组合就是 vEOS 做 Spine、vEOS 做 Leaf实验目的达到了运维习惯也贴合现在主流的数据中心设备。2.2 拓扑与资源规划双 Spine 双 Leaf 就够用实验不追求规模追求把原理打通。我用的是 2 台 Spine 2 台 Leaf 的简化 CLOS虽然规模小但已经能完整覆盖 BGP Unnumbered 的邻居发现、路由通告和跨 Leaf 转发验证。规划如下设备角色AS 号Router-IDLoopback0spine1Spine6500010.255.0.110.255.0.1/32spine2Spine6500010.255.0.210.255.0.2/32leaf1Leaf6500110.0.1.110.0.1.1/32leaf2Leaf6500210.0.2.110.0.2.1/32Leaf 之间采用 eBGP 互联每个 Leaf 独立 ASSpine 用一个共享 AS。这是现代数据中心的主流做法每个 Leaf 的配置模板完全一致就像打印出来的一样同时天然避免 iBGP 全互联或路由反射器的复杂度。互联关系leaf1 的 Ethernet1 连 spine1 的 Ethernet1leaf2 的 Ethernet1 连 spine1 的 Ethernet2leaf1 的 Ethernet2 连 spine2 的 Ethernet1leaf2 的 Ethernet2 连 spine2 的 Ethernet2。硬件上没有任何 IP 规划这也是整个方案最爽的地方。2.3 资源分配和启动顺序EVE-NG 专业版和社区版在这个项目里的体验差异主要在节点并发和资源调度上专业版能同时起多个重量级镜像而不会互相拖垮。每个 vEOS 节点分配 2GB 内存、2 个 vCPU 足够实验跑得很顺4 个节点加起来 8GB 内存普通笔记本带得动。启动时注意顺序先把两台 Spine 全部启动到 CLI 可登录状态再启动 Leaf。如果同时批量启动四台EVE-NG 加载镜像时的 CPU 峰值会很高旧的笔记本可能直接卡到 SSH 都进不去。节点启动完成之后用 EVE-NG 的节点管理界面打开 console或者直接用你惯用的 SSH 工具连接。进到 CLI 之后先show version确认镜像版本再show interface status看链路是否 up这两步过了再进入配置能省很多“为什么 BGP 没反应”的排查时间。3. BGP Unnumbered 配置与原理同步拆解3.1 接口上的“无编号”秘密IPv6 链路本地地址在 vEOS 上让接口进入 BGP Unnumbered 状态的配置其实就两行interface Ethernet1 no switchport ipv6 enableno switchport是把接口从二层切换成三层路由口ipv6 enable才是核心动作。执行完ipv6 enable之后vEOS 会自动为这个接口生成一个 IPv6 链路本地地址格式是基于 MAC 的 EUI-64前面是 FE80::/10中间插了 FFFE最后是 MAC 后 24 位。这个地址最关键的属性是“只要接口 up 就一定存在”。它不需要你配置不需要 DHCPv6不需要 RA是 IPv6 协议栈内置的能力。所以 BGP Unnumbered 的“无编号”其实是建立在 IPv6 自动地址之上的每个物理接口天然拥有一个只在本地链路内有效的第二层邻居地址。你可以用show ipv6 interface Ethernet1看到它leaf1#show ipv6 interface Ethernet1 Interface Ethernet1 is up IPv6 is enabled, link-local is fe80::c8e5:ffff:fe00:101到这一步接口层面已经完全为零配置。值得注意的是这里的链路本地地址只用于 BGP 会话传输和下一跳不参与业务路由的转发决策业务流量仍然走 IPv4。3.2 邻居自动建立的核心机制neighbor interface 并不是“自动发现”很多人一听 Unnumbered 就以为是 BGP 学 OSPF 那样用组播 Hello 自动发现邻居其实不是。BGP 没有 Hello 机制它靠的是本地明确配置加上接口邻居关系推导。在 vEOS 里配置router bgp 65001 router-id 10.0.1.1 neighbor interface Ethernet1 remote-as 65000这行neighbor interface Ethernet1 remote-as 65000的意思是发往 AS 65000 的 BGP 会话邻居地址从这个接口上对端设备的链路本地地址获得。BGP 进程启动后会在接口 Ethernet1 上识别对端的链路本地地址然后把它作为 TCP 目的地址源地址用本端的链路本地地址发起 TCP 179 连接。这就带来一个细节如果对端设备的 AS 号和你配置的不一致邻居建立会直接失败BGP 会进入 Active 状态然后不断重试。所以 eBGP 场景下AS 号方向的对应关系就是最重要的正确性保证。链路本地地址本身不会冲突但 AS 号配错BGP 就永远起不来。3.3 Spine 和 Leaf 的完整配置脚本这是整个实验的核心我直接把能“抄作业”的完整配置贴出来。Spine1 的 BGP 相关配置如下hostname spine1 interface Ethernet1 no switchport ipv6 enable ! interface Ethernet2 no switchport ipv6 enable ! interface Loopback0 ip address 10.255.0.1/32 ! router bgp 65000 router-id 10.255.0.1 neighbor interface Ethernet1 remote-as 65001 neighbor interface Ethernet2 remote-as 65002 ! address-family ipv4 neighbor interface Ethernet1 activate neighbor interface Ethernet2 activate network 10.255.0.1/32Spine2 一样只是设备名、router-id、Loopback 换成 10.255.0.2接口邻接关系相应地指向 leaf1、leaf2。Leaf1 的配置hostname leaf1 interface Ethernet1 no switchport ipv6 enable ! interface Ethernet2 no switchport ipv6 enable ! interface Loopback0 ip address 10.0.1.1/32 ! router bgp 65001 router-id 10.0.1.1 neighbor interface Ethernet1 remote-as 65000 neighbor interface Ethernet2 remote-as 65000 ! address-family ipv4 neighbor interface Ethernet1 activate neighbor interface Ethernet2 activate network 10.0.1.1/32Leaf2 类似AS 65002router-id 是 10.0.2.1。你仔细看会发现 Leaf 的配置就是复制粘贴换参数Spine 也是复制粘贴换接口。3.4 Loopback 通告Underlay 路由的最后一环有人会问接口上不是没有 IPv4 地址吗那 BGP 通告network 10.0.1.1/32是怎么来的答案是 Loopback 接口。Loopback0 承载了一个稳定的 IPv4 地址既是 BGP 的 router-id也是后续 VXLAN/EVPN 环境的 VTEP 地址。BGP 的network命令要求路由表里有精确匹配的前缀才通告所以只要 Loopback0 配上了BGP 就会把这个 /32 前缀通告给邻居。这样就形成了一条非常干净的路径Leaf1 的 Loopback110.0.1.1/32通过 eBGP 通告给 Spine1 和 Spine2Spine 再把它通告给 Leaf2。Leaf2 学到之后BGP 的 IPv4 路由表里会出现leaf2#show ip bgp BGP routing table information for VRF: default Network Next Hop Metric LocPrf Weight Path * 10.0.1.1/32 fe80::c8e5:ffff:fe00:101 0 0 65001 i注意这里的 Next Hop 是fe80::c8e5:ffff:fe00:101不是 IPv4 地址。这就是 RFC 5549 扩展下一跳在起作用IPv4 前缀的下一跳字段被编码成了 IPv6 链路本地地址。路由生效的时候设备知道去 10.0.1.1/32 要把报文送到本地某个接口的链路本地邻居而那个邻居就在直连链路上所以不需要额外递归。到这里 Underlay 就通了从 leaf1 ping leaf2 的 Loopbackleaf1#ping 10.0.2.1 source 10.0.1.1 PING 10.0.2.1 (10.0.2.1) from 10.0.1.1: 56(84) bytes of data. 64 bytes from 10.0.2.1: icmp_seq1 ttl62 time1.25 ms能看到 64 bytes 回复说明整个 Underlay 路由链路已经完整跑通。这个过程里你没在任何物理接口上配置过 IPv4 地址。4. 验证命令、常见坑与排错实录4.1 从 show bgp summary 看邻居与能力协商配置完成后第一件事是在每个节点执行show bgp summaryspine1#show bgp summary BGP summary information for VRF: default Router Identifier 10.255.0.1, local AS number 65000 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State PfxRcd fe80::c8e5:ffff:fe00:101%Ethernet1 4 65001 1234 1235 267 0 0 02:11:34 Estab 1 fe80::c8e5:ffff:fe00:201%Ethernet2 4 65002 1102 1098 267 0 0 02:09:21 Estab 1注意邻居地址是一串 FE80 开头的 IPv6 链路本地地址后面还带%Ethernet1的接口限定。这证明 BGP 会话确实是通过链路本地地址建立的而且状态是 Estab说明 TCP 179 会话、能力协商全都成功了。PfxRcd 为 1说明收到了对端的 Loopback 前缀。如果这里看到 State 是 Active 或者 Connect那就按下一节排查。4.2 四大常见故障的排查路径我在 EVE-NG 里做这个实验踩过几个坑列成速查表给你现象可能原因排查方式邻居卡在 ActiveAS 号方向配错show run section router bgp核对每台设备的 remote-as邻居卡在 Connect接口不是三层口或未 upshow interface status检查 no switchport 和物理状态邻居 Estab 但路由表空地址族未激活或 network 未写show bgp neighbors看 IPv4 地址族状态核对 network 命令路由学到但 ping 不通Loopback 未宣告show ip bgp确认前缀show ip route确认递归出口有个怪坑值得单独说EVE-NG 里如果节点之间链路连接正常但 BGP 怎么都起不来先看看接口的链路本地地址是不是没生成。某些镜像版本下ipv6 enable后立即查可能还没生成完等几秒再show ipv6 interface。我在第一个 Leaf 上遇到过这种情况等了大约十秒地址才出现。还有 eBGP 场景下的一个经典坑如果 Leaf 侧配置neighbor interface Ethernet1 remote-as 65000而 Spine 侧也把 Est1 指向同一个 AS 号而不是 65001BGP 会立刻报错因为 eBGP 要求两端 AS 号互不相同。这种错误在show bgp summary里能看到 Notification 计数不断增长BGP 会话反复建了断、断了建。4.3 EVE-NG 里容易被忽略的几个环境坑镜像层面不要用 IOSv 做这个实验前面说过它不支持接口邻居方式。Cisco IOS-XRv 可以跑但 XR 的配置命令风格和 vEOS 差异很大neighbor fe80::%interface这种写法会让你多调不少时间。vEOS 是最顺畅的选择。节点管理层面EVE-NG 专业版的 console 界面如果你用的不熟建议直接用外部 SSH 连节点管理 IP。我一般不开 EVE 自带的 web console因为输入粘贴长配置时容易漏字符外部 SSH 工具流畅得多而且能保存会话日志方便排错回溯。资源层面四台 vEOS 节点全启动时如果遇到节点突然掉电或者 console 无响应先看宿主机内存是不是爆了。我之前一台 8GB 内存的旧机器同时起四台节点很勉强后来改用 16GB 内存的机器才彻底稳定。你要复现这个实验建议至少留 4GB 给宿主机系统剩下 8GB 以上给实验节点。5. 从实验台到生产环境落地前必须想清楚的三件事5.1 设备平台支持度的差异在实验环境里跑通不代表你机房里的设备都能照搬。BGP Unnumbered 依赖 RFC 5549而各厂商的支持时间点并不一致。Arista EOS 从很早就原生支持接口邻居和扩展下一跳Cumulus Linux 对这套方案支持得也相当彻底Cisco 在 Nexus 9000 的 NX-OS 上需要确认镜像版本某些老版本需要在地址族下显式开启扩展下一跳能力。落地前先在自己设备厂商的 release note 里确认三件事接口是否支持ipv6 enable自动生成链路本地地址BGP 是否支持neighbor interface这种接口邻居配置语法IPv4 地址族下是否默认启用扩展下一跳编码。这三项都满足才能完全复刻实验里的配置否则就要回到显式配置邻居 IPv6 地址的变通方案。5.2 与 EVPN/VXLAN 的上层衔接这套 Underlay 的真正价值是给 Overlay 打底。我在实验里做完纯路由的 ping 通之后紧接着在这个基础上叠加了 VXLAN EVPNLeaf 上起 VXLAN 接口EVPN 用 BGP 的 l2vpn evpn 地址族承载。这时候 BGP Unnumbered 的优势体现得更充分EVPN 会话和 IPv4 会话共用同一个 BGP 进程、同一套接口邻居不需要额外配置邻居地址Underlay 的 Loopback 地址恰好就是 VTEP 源地址EVPN 路由的下一跳也是沿用这套链路本地机制传递。整个配置量比传统模式下显式配 IPv4 邻居的方式减少了大概一半。如果你正打算搭 VXLAN EVPN强烈建议 Underlay 直接用 BGP Unnumbered别再用 OSPF 了。后面 Overlay 地址族和路由反射器的配置思路会清晰很多。5.3 运维习惯的转变最后聊点软的。从 OSPF 切到 BGP Unnumbered技术上其实不难难的是团队运维习惯的转变。以前排障的第一反应是“查接口 IP 通不通”现在第一反应变成“查链路本地地址是否生成、BGP 会话是否 Estab”。OSPF 的show ip ospf neighbor那套肌肉记忆不再适用你得重新训练自己看show bgp summary和show ip bgp。我个人建议团队里建立一份 BGP Unnumbered 的速查手册把常用的 show 命令、排障流程、和 EVPN 地址族配合的注意事项全部写进去。我在实验过程中最受益的一件事就是把配置模板和验证命令固化下来新同事上手时照着敲一遍半小时就能把 Underlay 跑通比我当年对着 OSPF 的 area 规划懵一整天高效太多。这个实验做完之后我自己最深的体会是BGP Unnumbered 不是把 BGP 复杂化了而是把数据中心 Underlay 的运维真正做成了“配置模板化、排障白盒化”。后续还可以在同一套拓扑上扩展多台 Leaf、叠加 BFD 检测、接入 EVPN 做 VXLAN 二层互通每一步都是在现有基础上加小块积木不会像 OSPF 那样动一发牵全身。如果你正打算重构机房的 Underlay先拿这套 EVE-NG 实验验证一下手感值回票价。

相关新闻

软件复位后RAM数据保留方案:.noinit段与启动代码详解

软件复位后RAM数据保留方案:.noinit段与启动代码详解

很多搞单片机的人应该都遇过这种场景:设备跑着跑着就卡死,看门狗咬下去后系统复位了,但问题依然复现不了,因为复位后所有变量都回到了“刚上电”的样子,你根本不知道复位发生前程序在干什么。更头疼的是,有…

2026/10/5 3:08:51 阅读更多 →
苍穹外卖Excel报表导出实战:数据统计模块从需求到实现

苍穹外卖Excel报表导出实战:数据统计模块从需求到实现

我早就想聊聊苍穹外卖里数据统计模块的Excel报表导出了。这个功能乍一看是真不起眼,在需求文档里往往就一行字——“导出运营数据报表”,但真正动手做的时候你会发现,它背后牵涉业务口径梳理、时间维度聚合、Excel文件组装、前端下载链路、异…

2026/10/5 3:08:51 阅读更多 →
HCIP考试题库PDF:OSPF与BGP高频考点拆解与刷题避坑指南

HCIP考试题库PDF:OSPF与BGP高频考点拆解与刷题避坑指南

简介:这份PDF是面向华为HCIP备考人群的考试题库合集,覆盖认证考试221、222、223三个科目方向,内容更新至2021年5月。题库按题号组织,以单选题为主,每题后紧跟正确答案与答案解析,并保留答题时间等过程信息&…

2026/10/5 3:08:51 阅读更多 →

最新新闻

插件机制深度解析:从入口激活到报错排查实战

插件机制深度解析:从入口激活到报错排查实战

插件这个词,几乎所有搞技术的都绕不开。不管是 IDE 里的代码检查工具、音乐播放器里的音源扩展,还是 CI 流水线里的构建步骤,背后都是同一套"宿主 插件"的协作逻辑。可插件这东西,平时用得顺手没人会多看它一眼&#x…

2026/10/5 3:50:14 阅读更多 →
插件机制从原理到排障:failed to load plugins 排查实战指南

插件机制从原理到排障:failed to load plugins 排查实战指南

前阵子连续好几个人问我同一个问题:控制台里刷了一串failed to load plugins web boot: 2 entries did not activate linxin666/dsh-p,然后整个服务直接起不来,这到底是不是插件坏了,要不要重装系统。还有人问MusicFree plugins到…

2026/10/5 3:50:14 阅读更多 →
Cursor插件开发实战:从plugin.json契约到agent沙盒调试

Cursor插件开发实战:从plugin.json契约到agent沙盒调试

1. 项目概述:从“plugins”这个词开始,我们到底在聊什么? “plugins”这个词最近在开发者圈子里反复刷屏,但很多人点开搜索结果后反而更迷糊了——它既不是某个具体软件的专属功能,也不是某家公司的独家技术&#xff…

2026/10/5 3:50:14 阅读更多 →
从账号打通到One ID:用户身份体系的设计与落地实践

从账号打通到One ID:用户身份体系的设计与落地实践

我第一次被“One ID”这个概念击中,是很多年前在一家同时运营4个C端应用的公司做用户中心的时候。产品经理提了个听起来特别简单的需求:同一个用户,在App A已经注册登录,跳转到App B却要重新注册一遍,用户直接在应用商…

2026/10/5 3:50:14 阅读更多 →
插件加载失败排查:从web boot报错到激活机制全解析

插件加载失败排查:从web boot报错到激活机制全解析

我把这个话题拆开揉碎讲一遍。最近社区里好几个群都在刷同一类报错,什么“failed to load plugins web boot: 2 entries did not activate”,还有人问“harness failed to load plugins”到底是怎么回事,再加上“iar plugins 是干什么的”、“…

2026/10/5 3:50:14 阅读更多 →
插件加载失败根因与修复:web boot 报错排查指南

插件加载失败根因与修复:web boot 报错排查指南

在软件的世界里,大概没有哪个词能像 plugins 这样让人又爱又恨。装了插件,IDE 能多出一排好用的工具按钮,播放器能凭空多出无数音源,交付平台也能按团队需求定制流水线。但插件一旦闹脾气,就是另一回事了:报…

2026/10/5 3:49:13 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

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

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 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/5 0:00:23 阅读更多 →

周新闻

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/4 1:00:58 阅读更多 →
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/5 1:10:22 阅读更多 →
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/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 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/4 11:40:45 阅读更多 →
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/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练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/4 20:14:29 阅读更多 →