news 2026/9/26 11:47:36

基于改进灵敏度分析的智能软开关(SNOP)选址定容优化配置研究

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于改进灵敏度分析的智能软开关(SNOP)选址定容优化配置研究

做配电网优化配置的朋友,对“选址定容”这四个字应该都不陌生。分布式电源大规模接入之后,配电网早就不是一张被动送电的单向网络,节点电压、潮流方向、损耗特性全都在变,传统靠联络开关和电容器调电压的路子越来越吃力。这时候,智能软开关(SNOP)作为一种能连续调控潮流的电力电子设备,被越来越多地拿来做馈线互联的柔性调控手段。可SNOP一套设备造价不低,装在哪、装多大容量,直接决定方案的经济性,这就引出了基于改进灵敏度分析的有源配电网智能软开关优化配置研究。我基于Matlab,在IEEE33节点系统上完整实现了从灵敏度指标构建、候选位置粗筛,到粒子群算法优化定容的整套流程,这套代码既适合写论文做算例分析,也适合工程预研阶段做方案比选,下面把整个思路和踩过的坑一次说清楚。

1. 为什么要做SNOP优化配置:有源配电网的“新考题”

1.1 分布式电源接入后,传统配电网的调节手段在失灵

传统配电网在规划设计时是“单向潮流”假设:电能从变电站母线流向末端负荷,电压沿着馈线逐渐降低。分布式光伏、风电大量接入后,情况变了。晴天中午光伏大发,馈线中段可能出现功率倒送,局部电压被抬高,甚至越过上限;夜晚负荷高峰光伏退坡,电压又跌下去。同一根线上,一天之内电压波动幅度比过去大得多。

过去调节电压无非三件套:有载调压变压器、并联电容器、改变联络开关开合状态。前两者响应慢,而且调节步长粗糙;联络开关只能合上或断开,是典型的两态设备,无法连续控制。DG出力波动频繁时,这些手段要么动作次数受限,要么根本来不及跟上变化。结果是,配电网运行人员发现电压越限风险和网损上升问题越来越突出,尤其是高渗透率台区,单纯靠传统设备已经很难同时满足电压质量和经济性要求。

1.2 智能软开关是什么,它比联络开关强在哪

智能软开关,英文缩写SNOP或者SOP,全称是Soft Normally Open Point,常安装在传统联络开关的位置,用背靠背的电压源型换流器替代原来的机械开关。它的核心能力有两个:

  • 有功功率可以在两个端口之间连续、双向、快速调节,相当于一条“可调速的功率走廊”;
  • 每个端口还可以独立发出或吸收无功功率,相当于在馈线末端装了两台可在一定范围内连续调节的动态无功源。

这两点正是有源配电网最需要的调节手段。联络开关只能改变网络拓扑,SNOP却能在线改变功率分配,把重载馈线的功率“借道”送到轻载馈线去,同时还能就地支撑电压。从运行效果看,安装位置选得好、容量定得合适的SNOP,可以把系统网损降下来,把电压曲线拉平,甚至延缓馈线扩容改造。

1.3 为什么“优化配置”比“随便装一个”重要得多

SNOP本质上是大功率电力电子设备,涉及IGBT、直流母线电容、散热系统、控制保护装置,一台几十到上百千瓦容量的设备,造价已经不低;容量再往上走,成本近似线性上升。要是拍脑袋确定位置和容量,可能出现两种情况:装在高灵敏度节点,效果立竿见影;装在“死角”,设备常年轻载,投资回收遥遥无期。容量选小了,电压支撑和功率转移能力不够,越限问题依旧;容量选大了,设备利用率低,方案在可研阶段就会被砍掉。

所以这个问题的本质是一个带约束的非线性混合整数优化问题:离散变量是SNOP的安装位置,连续变量是容量和无功控制策略,目标是最小化年综合费用或典型日运行损耗,同时要满足潮流方程、节点电压上下限、支路电流、设备容量等一系列约束。直接在全网所有可能的支路上同时搜索位置和容量,搜索空间巨大,算得慢还容易陷入局部最优。改进灵敏度分析在这里的价值,就是先用一个计算量很小的指标把所有候选位置排个序,把真正值得进一步优化的少数位置挑出来,再交给智能优化算法做精细的容量寻优。

我实测下来的体会是:这种“灵敏度粗筛 + 优化算法精算”的两阶段思路,比一上来就套用粒子群或者遗传算法在全网盲搜要稳得多,收敛速度快,结果也更可解释。

2. 改进灵敏度分析:选址思路的核心

2.1 传统灵敏度分析在配电网里的常规做法和局限

传统灵敏度分析在电力系统里用得很多,最常见的是电压对节点注入功率的灵敏度。思路很简单:把潮流方程在某一个运行点做线性化,得到雅可比矩阵,求逆之后就能得到节点电压幅值对节点有功、无功注入的偏导数。谁对电压的影响大,谁就是关键节点,无功补偿设备就优先装在哪里。

这个方法在输电网和传统配电网里都验证过,计算快、物理意义清楚。但在有源配电网的SNOP选址场景里,它有三个明显短板:

  • 只在单一运行点线性化,而配电网一天之内DG出力和负荷变化剧烈,不同时段的关键节点可能完全不同,单点灵敏度容易失真;
  • 传统灵敏度关注的是“对电压的影响”,而SNOP选址通常更关心“对网损和电压的综合改善效果”,目标导向不一致;
  • 也是最重要的一点,SNOP是双端口设备,一个端口增加注入功率的同时另一个端口在减少,它改变的是两个节点之间的功率交换,而不是单点注入。传统单点灵敏度指标无法准确描述这种双端口耦合作用。

2.2 改进灵敏度分析到底改在哪里

我在程序里实现的改进灵敏度分析,主要改了三个地方。

第一,把目标函数明确为系统网损。SNOP的调节本质是改变潮流分布,而系统网损对端口注入功率的变化率,能直接反映“在这个位置装SNOP对降损有多大潜力”。网损表达式是各支路电流平方乘以电阻之和,对节点电压相角和幅值求偏导后,再通过潮流雅可比矩阵映射到节点注入功率变化上,就得到了网损对注入功率的灵敏度向量。这个计算只依赖当前运行点的潮流结果,不需要反复试探安装效果,效率很高。

第二,做多场景加权。我构造了DG大发-轻载、DG大发-重载、DG小发-重载、DG小发-轻载四个典型运行场景,对每个场景分别计算灵敏度指标,再按场景持续时间加权求和。这样选出来的位置不是只在某一个时刻有效,而是在一天内综合表现最好。

第三,针对候选SNOP端口的双端口特性,把两个端口作为一个“端口对”来评估。传统的单节点灵敏度看的是单个节点的注入影响,而SNOP接入会同时在两个端口产生一正一负的功率变化,所以我把灵敏度指标改写成网损对端口对有功交换的偏导数。这个指标才能真实反映SNOP的实际控制动作。

2.3 改进灵敏度如何指导SNOP选址

有了改进灵敏度指标之后,候选位置排序就非常直观了。程序把IEEE33节点系统原有的联络开关支路和部分可选的馈线间支路列成候选端口对集合,逐一计算加权灵敏度,按数值从大到小排序,再结合工程约束(比如线路走廊条件、变电站位置),取排名靠前的若干个位置作为后续优化算法的候选集合。

我按改进灵敏度对IEEE33节点系统的结果做过排序,典型高灵敏度端口对大致集中在馈线中后段与另一馈线中段互联的位置,比如9-15附近、18-33附近这些区域。表1给出一组示例性的排序结果,具体数值会随DG接入位置和容量变化。

排序端口对(节点-节点)加权灵敏度指标(标幺值)工程评价
19-150.0216高灵敏度,优先候选
218-330.0193中后段互联,电压支撑明显
312-220.0142线路末端互联,受负荷分布影响大
425-290.0087灵敏度中等,作为备选
58-210.0061首端附近,改善效果有限

排序出来后,优化算法只需要在这5个位置里挑2到3个组合,搜索空间一下子缩小了一个数量级。这一步在Matlab里运行时间只有几秒,但换来的效率提升非常可观。

3. IEEE33节点系统与优化模型搭建

3.1 IEEE33节点系统关键参数与建模细节

IEEE33节点系统是配电网研究里最常用的标准算例之一,整个系统额定电压12.66kV,33个节点,32条支路,总负荷约3.715MW加2.3Mvar,首端节点通过变电站母线供电。系统里还包含5条联络开关支路,分别是8-21、9-15、12-22、18-33、25-29,正常运行时处于断开状态。

在Matlab里搭建这个系统时,有两个细节容易坑人。一个是节点编号习惯,有些文献从0号开始编号,0号是根节点,有些从1号开始编号,我写程序时统一处理成“内部节点号连续、电气节点号可映射”的结构,避免索引混乱。另一个是标幺值换算,Matlab潮流计算建议用标幺值,基准功率取100MVA,基准电压取12.66kV,所有支路阻抗和负荷数据都换算成标幺值,单位不统一的话灵敏度数值会完全失真。

系统里的DG接入方式我按工程常规做法处理:选择三到四个分布式光伏接入点,每个点设定一个额定容量,按典型日出力曲线给定各个时段的出力。这样既体现了“有源配电网”的特征,又不至于让潮流计算因为DG容量过大而异常困难。

3.2 优化目标函数怎么定

目标函数是优化问题的指挥棒,定得不好,后面的工作全白费。我采用的日运行费用型目标函数如下:

F = w1 × E_loss + w2 × E_deviation + C_invest

其中E_loss是典型日网损电量,按24个时段潮流结果累加;E_deviation是节点电压偏移的累积量,反映电压质量;C_invest是SNOP设备的日等值投资成本,把设备总投资按使用寿命和贴现率折算到每一天。权系数w1和w2体现决策者对经济性和电压质量的偏好,我默认设置为网损权重0.7、电压偏移权重0.3,这也是文献里比较常见的取值。

对于纯论文复现场景,也可以先只优化日网损E_loss,把结果跑通后再加入投资成本和电压惩罚项。工程预研则更应该用年综合费用形式,把设备日常运维成本也算进去。我给出的代码把两部分都实现了,通过参数开关切换,方便不同用途的读者。

3.3 约束条件怎么列全

约束条件是优化问题里最容易漏但最要命的部分。我在模型里考虑了五类约束:

  • 潮流等式约束:每个节点有功和无功功率必须满足潮流平衡方程,这是基本盘;
  • SNOP等式与不等式约束:两个端口的有功之和为零(内部直流母线不存储能量),每个端口无功在上下限内可调,两端视在功率不超过设备容量圆约束;
  • 节点电压约束:所有节点电压幅值在0.95到1.05标幺值之间,有源配电网电压越限问题主要靠这条约束兜底;
  • 支路电流约束:各支路电流不越过导线长期载流量;
  • DG运行约束:光伏有功出力按预测曲线给定,功率因数在0.95超前到0.95滞后范围内。

在实际Matlab实现中,我最常用的是把约束处理成惩罚项:在粒子群适应度函数里,凡是违反电压或容量约束的方案,就在目标函数上加上一个很大的惩罚值,让算法自动绕开不可行区域。这个方法实现简单,对PSO这类无约束优化器特别友好。

3.4 决策变量编码方式

SNOP优化配置的决策变量包括安装位置和容量两类。位置是离散变量,从候选端口对集合中选;容量是连续变量,但工程上一台设备不可能做任意容量,我按50kVA步长做离散化处理。

粒子群中每个粒子的位置向量设计为:

维度含义类型取值范围示例
x(1)第一个SNOP安装端口对编号离散整数1到候选集合大小
x(2)第二个SNOP安装端口对编号离散整数1到候选集合大小
x(3)第一个SNOP容量离散连续混合200到2000kVA
x(4)第二个SNOP容量离散连续混合200到2000kVA

当只配置一台SNOP时,x(2)固定置零,优化退化为单点选址定容。这样一套编码逻辑清晰,代码也好实现。需要注意的是,位置变量虽然在数值上表现为整数,但使用粒子群优化时不能直接取整,否则会把速度信息破坏掉,正确做法是在计算适应度时才取整。

4. Matlab代码实现全过程

4.1 程序总体架构与运行流程

整个Matlab程序我拆成了六个模块,层次清晰,以后想改成IEEE123节点或者其他算例,只需要替换数据文件和潮流求解函数:

% 主程序 main_snop_optimization.m % 1. 加载IEEE33节点数据 data = load_ieee33(); % 2. 构造DG接入方案与典型日场景 scenarios = build_scenarios(data); % 3. 改进灵敏度分析,对候选端口对排序 candidate_pairs = improved_sensitivity(data, scenarios); top_pairs = candidate_pairs(1:nTop, :); % 取前若干个端口对 % 4. 粒子群优化 [opt_pos, opt_cap, opt_cost] = pso_snop(data, top_pairs, scenarios); % 5. 结果校验与可视化 validate_and_plot(data, opt_pos, opt_cap, scenarios);

主流程只负责逻辑串联,具体计算都封装在子函数里。这种结构对调试特别友好,哪个环节出了问题,直接单独调用对应函数就能排查,不用跑整个程序。

4.2 改进灵敏度分析模块的实现思路

灵敏度计算是程序的第一个关键模块。我在代码里用了“解析梯度 + 有限差分校验”的组合方案。解析法先在一个运行点完成潮流计算,得到雅可比矩阵J和网损对各节点电压相角、幅值的偏导向量g,然后通过下面的线性化关系求网损对节点注入功率的灵敏度:

∂P_loss/∂S = J^(-T) × g

这个式子本质上是把网损对状态量的偏导,映射到节点注入功率空间。对候选端口对,再把两个端口各自的灵敏度按SNOP有功转移方向折算成综合指标。为了验证公式实现正确,我在程序里对前几个候选位置做了有限差分校验:给端口注入功率加一个小扰动,重新算一次潮流,观察网损变化量,与解析值对比。两者偏差在1e-4到1e-5量级,说明推导和编程没有出错。

核心代码片段如下:

function sens = calc_sensitivity(V, theta, Ybus, J, cand_pairs) % 计算网损对状态量的偏导 [dP_loss_dtheta, dP_loss_dV] = loss_gradient(V, theta, Ybus); g = [dP_loss_dtheta; dP_loss_dV]; % 雅可比逆映射到注入功率空间 grad_S = J' \ g; % 对每个候选端口对,综合双端口灵敏度 for k = 1:size(cand_pairs, 1) i = cand_pairs(k, 1); j = cand_pairs(k, 2); sens(k) = grad_S(i) - grad_S(j); % 双端口转移方向的灵敏度 end end

这段代码里grad_S(i) - grad_S(j)的含义是:当SNOP从节点j向节点i转移单位有功时,系统网损的变化量。正值说明该方向转移会增加网损,负值则相反,工程上要取绝对值大且能让网损下降的方向作为高潜力位置。实际程序中还会对多个运行场景做加权平均,因此返回的灵敏度已经是多场景综合指标。

4.3 粒子群算法实现与参数设置

选址定容用的是标准粒子群算法,配电网节点数不多、决策变量维度只有4维,PSO完全够用,没必要上更复杂的算法。参数设置经过多轮试验,固定在以下数值:

nParticles = 50; % 种群规模 maxIter = 100; % 最大迭代次数 w = 0.9; % 初始惯性权重,随迭代非线性衰减到0.4 c1 = 2.0; % 个体学习因子 c2 = 2.0; % 社会学习因子 rng(42); % 固定随机种子,保证结果可复现

适应度函数是核心。对于每个粒子,先取整得到位置变量,再按位置组合计算24时段潮流,统计网损与电压越限惩罚。由于IEEE33节点规模不大,一次牛顿-拉夫逊潮流计算很快,整个PSO流程跑一百次迭代大概需要一到两分钟,比那些动不动就要改拓扑重新建潮流方程的方案快很多。

function cost = fitness(x, data, scenarios, cand_pairs) % 解码位置变量 pos1 = round(x(1)); pos2 = round(x(2)); cap1 = x(3); cap2 = x(4); % 对典型日各时段进行含SNOP的潮流计算 total_loss = 0; total_dev = 0; for t = 1:24 % 在潮流中注入SNOP等效功率模型 [V, loss, dev] = powerflow_with_snop(data, scenarios(t), ... cand_pairs(pos1,:), cap1, ... cand_pairs(pos2,:), cap2); total_loss = total_loss + loss; total_dev = total_dev + dev; end % 投资成本等值到日 C_invest = daily_cost(cap1) + daily_cost(cap2); % 惩罚不可行解 penalty = 1e6 * (max(0, total_dev - limit)); cost = 0.7 * total_loss + 0.3 * total_dev + C_invest + penalty; end

这段代码里对SNOP的处理是等效功率注入模型:把SNOP两个端口看成PQ节点或PV节点,按当前控制策略注入有功和无功功率。由于SNOP无功可独立调节,端口控制策略在主程序里做了一个简单的小循环,让端口无功在可行范围内扫描,取使目标函数最小的无功出力参与潮流计算。

4.4 结果输出与后处理

优化结束后,程序会输出一份完整的结果表格,包括最优安装位置、SNOP容量、系统网损下降率、电压改善情况。可视化部分我画了三类图:优化前后电压分布对比、24小时网损曲线对比、PSO收敛曲线。

电压分布对比图最直观,能把SNOP的作用一眼看出来。优化前光伏大发时段某些节点电压可能达到1.06标幺值,优化后整体曲线被拉进0.95到1.05安全区间;优化后馈线末端电压曲线比优化前明显平缓。收敛曲线则用来判断算法是否早熟,正常应该在40到60代左右趋于平稳。

我还特意加了一个对比开关:不经过改进灵敏度粗筛,直接对全部32条支路做PSO优化,与经过灵敏度筛选后的结果对比。实测下来,前者大概需要优化300多代才能找到好解,而后者100代以内就能稳定收敛,最终网损下降率还更高。这说明改进灵敏度粗筛不仅不是多余步骤,反而是提升算法搜索质量的关键。

5. 常见问题与排查技巧实录

5.1 潮流不收敛,怎么排查

有源配电网潮流不收敛是最常见的问题,基本集中在三种情况:

  • DG容量设置过大,导致局部节点注入功率过高,潮流计算在牛顿迭代时无法收敛。对策是先跑一个不含DG的纯负荷潮流,确认系统本身没问题,再逐步增大DG容量;
  • 支路阻抗参数单位错误,标幺值相差好几个数量级,潮流结果出现零电压或负电压。对策是检查基准功率和基准电压是否和系统额定值一致,特别是12.66kV电压等级,很多人习惯用10kV基准,结果全乱套;
  • SNOP等效注入功率初始值给得太随机,导致第一轮迭代就发散。对策是SNOP有功功率初始值设为零,无功初始值设为零,让算法自己从无调节状态开始迭代,成功率会高非常多。

排查潮流问题我的经验是:先用Matlab的runpf之类的标准潮流函数跑一个纯负荷算例,再一点点加DG和SNOP,定位到是哪一个环节导致不收敛。

5.2 灵敏度数值异常,多半是基准和方向搞错了

灵敏度计算结果异常,我遇到过两类问题。一类是数值量级不对,原因基本是雅可比矩阵里的状态量顺序和偏导向量不一致,比如先排了相角再排电压,但偏导向量里先算了电压再算相角,两个向量直接没法对应上。对策是在编写解析梯度函数时,严格保持状态量顺序一致,并在调试模式里打印J矩阵的维数和g向量的维数,确认长度相同。

另一类是灵敏度的正负号搞反。网损对端口有功转移的灵敏度,正负号决定了SNOP有功功率应该往哪个方向送。我在代码里给候选端口对定义了一个标准方向,即从编号小的节点流向编号大的节点。如果灵敏度为负,说明SNOP按标准方向输送有功可以降低网损;如果为正,说明需要反向输送。程序里输出的灵敏度数值都标注了方向,方便阅读结果时判断。

5.3 粒子群优化结果不稳定或早熟

PSO结果不稳定,通常由三个原因导致:随机种子没固定、种群规模太小、惯性权重衰减策略不合适。

随机种子问题最好解决,在程序开头加一行rng(固定值)就行,多组对比实验一定要保证随机种子一致,否则差异可能根本不是算法改进带来的,而是随机性波动。种群规模方面,IEEE33节点系统决策变量少,50个粒子够用,但如果你把候选位置集合扩大到20个以上,粒子规模建议同步加倍。惯性权重我从0.9线性衰减到0.4,迭代初期全局搜索、后期局部精修,如果全部用固定值0.9,后期容易在最优解附近来回震荡;全部用0.4,又容易陷入局部最优。

如果收敛曲线在前20代就基本平了,大概率是早熟。这时候可以检查惩罚系数是不是过大,或者初始种群是不是全部集中在同一片区域。把初始种群改成在决策空间均匀随机生成,能显著缓解早熟问题。

5.4 Matlab环境与代码运行的几个坑

最后说几个和Matlab本身相关的坑,都是实测中踩过的。

中文注释乱码是个老大难。Matlab 2023a、2023b默认使用GBK编码读取脚本,但很多从网上下载的代码文件是UTF-8保存的,打开后中文注释全变乱码。处理办法有两个:要么把脚本文件另存为ANSI编码,要么在Matlab的预设里调整编码设置,我用的是前一种,稳得很。另外,代码文件所在路径不要包含中文和空格,否则某些低版本Matlab读取脚本时也会出问题。

工具箱依赖也要注意。这套程序核心用到了优化算法和矩阵计算,基础Matlab版本就能跑,不需要额外工具箱。但如果你想把结果导出成特定格式做绘图美化,可能会用到统计工具箱或者绘图相关函数,运行前先用which 函数名检查一下依赖关系,免得跑到一半报错。

版本兼容性方面,从R2020a到R2024b我这套代码都实测过可以正常运行,主要语法没有用新版本特性,老版本用户不用担心跑不起来。

6. 最后说几点个人经验

整套方案做下来,我个人最深的体会是:不要把灵敏度分析和智能优化算法割裂开看。许多人一听到“优化配置”就直奔粒子群、遗传算法,结果搜索空间太大、结果又难看,回头还怪算法不行。其实改进灵敏度分析在这里扮演的正是“业务规则引擎”的角色,它把配电网的物理特性浓缩成一个排序指标,帮助算法缩小搜索范围。这个两阶段思路在很多配电网规划问题里都通用,不只是SNOP,像储能选址、电容器优化配置、分布式电源规划都能借鉴。

如果你想把这套程序用到实际工程项目里,建议重点关注多场景的选取和加权方式。我代码里用的是按典型日时段加权,工程上如果你有全年8760小时的历史数据,完全可以按聚类方法提取典型场景,这样的灵敏度排序和优化结果会比只用四个场景更贴近实际。

这个课题后续的扩展空间也不小,比如把SNOP扩展成三端甚至多端设备,或者考虑SNOP与储能、需求侧响应的协调优化,再进一步考虑DG出力的不确定性,做鲁棒优化或者机会约束规划。底层框架不用动,只需要修改设备模型和场景生成模块就行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 11:47:17

Notepad++主题定制深度指南:Scintilla样式机制与实战避坑

简介:本资源是一套专为Notepad用户定制的29款高质量主题集合,适用于前端开发、代码编辑及日常文本处理场景,尤其适合追求个性化编辑界面与提升编码舒适度的中初级开发者。压缩包内全部为.stylers.xml格式的主题配置文件,共29个&am…

作者头像 李华
网站建设 2026/9/26 11:46:26

浏览器端图片向量检索:TensorFlow.js+Web Worker+IndexedDB实践

本地目录里有1万多张照片,你想做“以图搜图”、按视觉相似度去重,或者从素材库里找出所有同款包装图。过去我的第一反应是调云端API,传图片上去,拿向量回来再对接向量数据库。直到有一次处理一批不能出内网的图片,我彻…

作者头像 李华
网站建设 2026/9/26 11:44:38

容器权限问题深度解析:从Docker到RabbitMQ的排查指南

做技术这些年,最容易被翻来覆去问的,大概就是“容器权限”这几个字。原因是这个词组在不同人嘴里含义完全不同——有人问的是 Docker 容器挂载目录写不进去,有人问的是 C 里 vector、map 这些容器的访问控制,还有人直接甩过来一张…

作者头像 李华
网站建设 2026/9/26 11:44:37

K8S Deployment实战:Pod管理、滚动更新与高可用运维指南

1. 为什么K8S要引入Deployment这个东西1.1 Pod的局限性与Deployment的定位先聊个基本问题:K8S里最小调度单位是Pod,但你在生产环境里几乎不会直接创建Pod。为啥?因为Pod太“脆”了。它是有生命周期的,节点挂了Pod就没了&#xff0…

作者头像 李华
网站建设 2026/9/26 11:44:20

LLM应用-prompt提示:让大模型总结生成思维导图

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

作者头像 李华