用Matlab从零搭建电力市场出清模型:SCED出清电价与LMP实战
先说个我自己的经历。刚接触电力市场那会儿最让我头疼的还不是各种交易规则而是“出清电价”这四个字——翻了很多资料要么全是经济学公式要么全是调度模型就是找不到一份能直接运行的Matlab代码。后来自己啃SCED安全约束经济调度用舍友的电脑把第一版出清程序跑通时那种“哦原来电价是这么算出来的”的感觉到现在都记得。这篇文章就是想把这条弯路帮你省掉用Matlab从零搭一个市场出清模型手把手算出发电计划和出清电价代码全部可以直接复制运行。这篇内容适合三类人刚进电力交易岗、需要快速理解出清机制的新人电力系统专业、在准备课程设计或毕业设计的同学以及做电力市场仿真、想快速验证某个想法但不想从零造轮子的研究者。读完你会得到两套完整代码一套无网络约束的基础版理解“统一出清价”怎么来一套带线路约束的进阶版理解“节点边际电价LMP”怎么算。1. 市场出清到底在算一道什么“题”1.1 出清电价不是“平均成本”而是“边际成本”很多人第一次接触市场出清容易把它理解成“把大家的报价平均一下”。这个理解错得离谱。出清电价的核心是边际成本不是平均成本。我用买菜打个比方调度中心像一个大规模采购员要在几台发电机组里买够今天的用电量。每个机组报一个价比如G1说“前100度我卖1块后100度卖1块5”G2说“前100度卖1块2”你要买300度。作为采购员你肯定先从1块的买起再买1块2的最后买1块5的——总花费最少。那“最后买进来的那一度”的价格就是出清电价。这个价格决定了所有成交机组拿到手的结算价而不是每台机组各报各拿。这背后的经济学逻辑是在竞争性电力市场里大家都按边际成本报价按统一出清价结算。效率高的机组先发电效率低的机组后发电最后一个被调用的机组决定了全市场价格。在Matlab的优化模型里这个“最后价格”恰好对应功率平衡约束的对偶变量也就是拉格朗日乘子。1.2 SCED的数学模型目标、约束、对偶乘子市场出清在数学上是一个带约束的最优化问题专业术语叫安全约束经济调度Security Constrained Economic DispatchSCED。标准形式长这样目标函数最小化总购电成本。把每台机组的出力乘以报价系数累加决策变量就是每台机组的出力功率。约束条件分几类功率平衡约束——所有机组出力之和必须等于系统负荷机组出力上下限约束——每台机组在最小技术出力和最大容量之间运行网络安全约束——每条输电线路的潮流不能超过热稳定极限进阶版才有。用Matlab的linprog求解这个线性规划问题返回结果里除了最优出力还会给你一组影子价格。功率平衡约束的影子价格就是系统的边际电价。这个乘子读起来很直观系统如果多带1MW负荷总购电成本会增加多少这个增加量正是出清电价的经济含义。1.3 为什么出清计算一定要用优化求解器你可能想过如果线路不限制直接把机组报价排个序从低到高累加容量直到满足负荷不就算出来了吗为什么还要用线性规划求解器排序法在无网络约束、无爬坡约束、机组报价线性这些前提下确实够用但一旦加入网络安全约束问题就变复杂了。同一台机组的电力通过不同线路送往负荷中心某些线路可能先达到上限迫使调度调整出力组合。这个时候哪台机组发多少电、哪条线路承担多少潮流是一个相互耦合的系统性问题靠手工排序根本排不出来。更关键的一点是排序法只能给你“谁被调度”给不了“电价是多少”。优化求解器在求解过程中自动生成了对偶乘子这才是我要的出清电价。用排序法手动模拟边际机组还好找但如果两个约束同时起作用价格形成逻辑就非常绕。所以我建议一开始就养成用linprog搭模型的好习惯后面加任何约束都是往矩阵里塞行逻辑不会乱。2. 最小可行案例Matlab基础版出清模型2.1 最小案例的数据设计先跑通一个最简单、无网络约束的案例。我设计了三台机组每台机组报两段价格这样能模拟“阶梯报价”的真实场景机组报价段价格元/MWh容量MWG1段1150100G1段2250100G2段1200100G2段235050G3段130080G3段240020系统总负荷设为300 MW。这个数据设计有一个巧思把各段报价按从低到高排列前面三段G1段1、G2段1、G1段2正好累加到300 MW所以边际机组是G1的第二段出清价理论值应该是250元/MWh。拿这个理论值做参照你就能验证模型对不对。2.2 可以直接运行的完整Matlab代码%% 电力市场出清电价计算 - 基础版无网络约束 % 模型分段线性报价下的安全约束经济调度 % 目标最小化系统总购电成本 % 约束功率平衡总出力总负荷、各报价段出力上限 % 输出机组出清出力、系统统一出清电价、总购电成本 clear; clc; %% 1. 数据输入 % 每行代表一个报价段[成本(元/MWh), 容量(MW)] offer_G1 [150, 100; 250, 100]; offer_G2 [200, 100; 350, 50]; offer_G3 [300, 80; 400, 20]; % 系统总负荷 D 300; %% 2. 组装线性规划问题 % 把各段报价展开成列向量 cost_vec [offer_G1(:,1); offer_G2(:,1); offer_G3(:,1)]; cap_vec [offer_G1(:,2); offer_G2(:,2); offer_G3(:,2)]; n_seg length(cost_vec); % 目标函数系数min f * xx为各段出力 f cost_vec; % 等式约束所有段出力之和 总负荷 Aeq ones(1, n_seg); beq D; % 不等式约束本例无网络约束 A []; b []; % 变量上下界各段出力在 [0, 该段容量] 之间 lb zeros(n_seg, 1); ub cap_vec; %% 3. 求解 options optimoptions(linprog, Algorithm, dual-simplex, Display, iter); [x, fval, exitflag, ~, lambda] linprog(f, A, b, Aeq, beq, lb, ub, options); %% 4. 结果整理 seg_G1 x(1:2); seg_G2 x(3:4); seg_G3 x(5:6); p_G1 sum(seg_G1); p_G2 sum(seg_G2); p_G3 sum(seg_G3); % 出清电价功率平衡约束的拉格朗日乘子 clearing_price lambda.eqlin; %% 5. 输出 fprintf( 机组出清结果 \n); fprintf(机组1出力: %.2f MW\n, p_G1); fprintf(机组2出力: %.2f MW\n, p_G2); fprintf(机组3出力: %.2f MW\n, p_G3); fprintf(系统总出力: %.2f MW (负荷 %.2f MW)\n, p_G1p_G2p_G3, D); fprintf(系统出清电价: %.2f 元/MWh\n, clearing_price); fprintf(总购电成本: %.2f 元\n, fval);2.3 结果怎么看谁被调度价格如何形成运行这段代码你会看到类似下面的结果 机组出清结果 机组1出力: 200.00 MW 机组2出力: 100.00 MW 机组3出力: 0.00 MW 系统总出力: 300.00 MW (负荷 300.00 MW) 系统出清电价: 250.00 元/MWh 总购电成本: 60000.00 元对照报价表拆解一下负荷300 MW先从最便宜的G1段1买100 MW150元再买G2段1的100 MW200元还差100 MW只能调用G1段2250元。此时G1段2作为边际机组整场统一出清价250元/MWh。G3全程没被调度一分钱不拿也不用付出力。注意一个细节G2段2报价350元/MWh虽然高于出清价250元但因为负荷需求不够大它没有被调度。这不影响结算——在统一出清价机制下成交机组按市场价结算而不是按自己的报价结算。所以在代码里fval是所有机组按照自己报价的成本累计60000元但实际电费账单是按出清价乘以电量计算。这两者之间的差价就是市场机制调节供需的体现。2.4 换成你自己的数据只需要改这几行这套代码扩展性很好。最常见的改动场景有两种一是换成真实机组的报价数据。你只需要修改offer_G1到offer_G3矩阵行数可以任意增减矩阵按[报价, 容量]组织即可。二是修改负荷。改D一个数字即可。如果机组数量超过三台在结果整理部分加几行对应的sum就行。如果你想把分段报价改成分段数更多的阶梯报价也不用重新建模直接往对应机组的报价矩阵里加行。需要提醒一点真实市场的报价段通常有数十段但建模方式完全一致成本向量和容量向量慢慢铺开就可以。3. 把网络约束加进来算节点边际电价LMP3.1 为什么输电网络在出清模型中必须显式建模基础版算出来的价格全场统一这在单一节点或输电阻塞不严重的简化场景下够用。但真实电网的输电线路有容量上限某些线路满载时必然导致“便宜电送不到、贵电顶上”的情况。这时如果还按统一价结算会给出错误的经济信号也无法体现阻塞成本分摊。节点边际电价Locational Marginal PriceLMP就是为了解决这个问题提出的。每个节点的电价不一定相同受端节点因为便宜电送不过去、只能调用本地高价电源电价就会升高。这个价格差正是市场对输电资源稀缺性的定价。3.2 DC潮流把交流电网变成线性约束在出清计算里直接使用完整交流潮流AC Power Flow是不现实的因为交流潮流方程是非线性的会让优化问题变成非线性规划求解慢且无法保证全局最优。工程上普遍采用直流潮流DC Power Flow近似。DC潮流做了几个关键简化电压幅值近似为1.0标幺值线路电阻忽略或并入电抗相角差很小。这样线路有功潮流就能写成相角差的线性函数P_ij (θ_i - θ_j) / x_ij。在这个近似下整个电网的潮流约束可以整理成节点导纳矩阵B和注入功率之间的线性关系P_inj B * θ。只要给定各节点注入功率就能解出相角再算出各线路潮流。再进一步可以把线路潮流直接写成节点注入功率的线性组合这样就能把它塞进LP的约束矩阵里。3.3 带网络约束的完整Matlab代码设计一个经典3节点系统。节点1接机组G1成本190元/MWh、容量300 MW节点2接机组G2成本300元/MWh、容量200 MW节点3既有负荷250 MW又接一台高价机组G3成本500元/MWh、容量200 MW。三条线路电抗均为0.1标幺值线路1-3和2-3的传输容量都只有100 MW线路1-2容量200 MW。这个案例的关键考点是G2成本比G3便宜200元/MWh但它所在的节点2想向负荷节点3送电必须经过容量只有100 MW的线路2-3。如果这条线路被G1经由节点2转送的功率占满G2即便便宜也发不出来。这就是典型的输电阻塞导致LMP分化的场景。%% 电力市场出清计算 - 进阶版3节点节点边际电价 % 模型DC潮流约束下的安全约束经济调度 % 目标最小化总购电成本 % 约束功率平衡、机组上下限、线路潮流限额 % 输出各机组出力、各节点LMP、总成本 clear; clc; %% 1. 系统参数 % 线路电抗标幺值均设为0.1 x12 0.1; x13 0.1; x23 0.1; % 线路传输容量MW cap12 200; cap13 100; cap23 100; % 机组成本元/MWh与容量MW c [190; 300; 500]; % G1, G2, G3 Pmax [300; 200; 200]; % 节点3负荷MW D 250; %% 2. 构建DC潮流关系 % 节点1、2为待求相角节点节点3作为参考节点theta3 0 B [1/x12 1/x13, -1/x12; -1/x12, 1/x12 1/x23]; Bi inv(B); % 节点注入节点1注入 P_G1节点2注入 P_G2 % 决策变量 x [P_G1; P_G2; P_G3] % 则 [theta1; theta2] Bi * [P_G1; P_G2] M Bi * [1 0 0; 0 1 0]; %% 3. 组装LP % 目标函数最小化购电成本 f c; % 功率平衡G1G2G3 负荷 Aeq [1 1 1]; beq D; % 线路潮流约束 % 每条线路有两个方向约束正方向和反方向 A12 [1/x12, -1/x12] * M; % 线路1-2潮流系数 A13 [1/x13, 0] * M; % 线路1-3潮流系数 A23 [0, 1/x23] * M; % 线路2-3潮流系数 A_ineq [A12; -A12; A13; -A13; A23; -A23]; b_ineq [cap12; cap12; cap13; cap13; cap23; cap23]; % 机组上下限 lb zeros(3, 1); ub Pmax; %% 4. 求解 options optimoptions(linprog, Algorithm, dual-simplex, Display, iter); [x, fval, ~, ~, lambda] linprog(f, A_ineq, b_ineq, Aeq, beq, lb, ub, options); %% 5. 结果输出 p_G1 x(1); p_G2 x(2); p_G3 x(3); fprintf( 机组出清结果 \n); fprintf(G1: %.2f MW\n, p_G1); fprintf(G2: %.2f MW\n, p_G2); fprintf(G3: %.2f MW\n, p_G3); fprintf(总成本: %.2f 元\n, fval); % 节点边际电价LMP % 系统能量价格 网络约束影子价格乘子修正 LMP lambda.eqlin * ones(3,1) A_ineq * lambda.ineqlin; fprintf( 节点边际电价 \n); fprintf(节点1: %.2f 元/MWh\n, LMP(1)); fprintf(节点2: %.2f 元/MWh\n, LMP(2)); fprintf(节点3: %.2f 元/MWh\n, LMP(3));3.4 阻塞电价的形成同网不同价跑这段代码会得到一个和你直觉一致的结果G2出不了预期的200 MW只出一部分甚至为零节点3不得不调用高价机组G3来满足负荷。线路2-3满载成为阻塞断面。此时三个节点的LMP明显不同节点3最高节点1最低节点2居中。这个价格差该怎么理解节点3是负荷中心本可以靠便宜的G1和G2供电但线路容量不够只能被迫使用本地500元/MWh的G3作为边际电源。所以节点3的电价由这个高价机组决定向节点1、2传播时又受到阻塞约束的影响电价逐级变化。lambda.ineqlin里那些非零分量就是每条线路阻塞约束的影子价格它们把阻塞成本折射到了各个节点的电价里。LMP的三个分量值得展开讲一下能量分量是系统统一的边际成本即不考虑阻塞时全系统一个价阻塞分量来自线路越限约束的对偶变量体现了输电资源稀缺性网损分量在本案例中被DC潮流简化为零实际系统中会单独计算。商业电力市场软件展示LMP时通常把这三块拆开显示方便市场参与者理解为什么自己所在节点的电价和别处不一样。4. 建模中容易出错的关键细节4.1 爬坡约束如何扩展基础版只考虑了单一时间断面的功率平衡但实际调度中机组出力在相邻时段之间不能任意跳变。比如某台机组上一时段出力100 MW下一时段最多只能爬坡30 MW这意味着决策变量要在时间维度上关联起来。扩展方法很直接把变量从“本时段各机组出力”扩展成“T个时段×N台机组”的向量目标函数是所有时段总成本最小化功率平衡约束每个时段各写一行再额外增加一组相邻时段出力差值的约束-ramp_limit ≤ P_{t1} - P_t ≤ ramp_limit。这时候模型就变成了一个更大的LP120个变量以下用linprog依然毫无压力。4.2 报价段耦合与单调性假设分段报价里有个隐藏前提同一机组后一段的价格必须高于或等于前一段也就是报价曲线单调递增。如果报价倒挂前段贵、后段便宜单纯把各段当成独立变量求解LP会优先让便宜的后段大发违反实际发电顺序导致结果没有物理意义。真实市场规则通常要求报价必须单调递增所以问题被规则挡住了。但如果你从某篇论文里拿到的数据不规范或者想测试非凸报价就得引入额外的顺序约束比如前一段未满之前后一段出力必须为零。这属于混合整数线性规划MILP的范畴需要intlinprog变量里要增加状态变量来标识“该段是否已启动”。做课程设计时如果遇到这个问题先检查报价数据是否单调很多时候只是数据没整理好。4.3 负电价不是bug某些时段新能源大发叠加负荷低谷市场出清价可能跌到零甚至负值。很多初学者第一次在linprog里解出负价格第一反应是“代码写错了”。其实负电价的机理很简单新能源机组出力受自然条件约束或者机组启停成本很高宁愿贴着负报价继续发也不愿意停机再启动因为后者的代价更大。在模型里只要成本向量中存在负值f系数linprog自然会把负价格解出来。你不需要额外处理。但要注意负电价出现时功率平衡约束的影子价格可能为负这时“买电”反而让总成本下降从经济信号上说就是鼓励用电。只要结果是数学上的最优解就说明模型行为是正确的。4.4 单位、标幺值和数据陷阱出清模型最常见的数据坑是单位不统一而这个问题通常隐藏得很深不会报错只是结果看起来怪怪的。机组报价一般用元/MWh出力用MW电量用MWh这三个单位必须对应。如果报价单位是元/MWh但负荷单位是kW结果就会差三个数量级。进阶版里还涉及标幺值问题。为了图省事我用了标幺电抗和MW数值直接混合运算在3节点小案例里没问题但当你把模型扩展到更大电网这个做法就要小心。我的建议是从一开始就固定一个基准容量比如100 MVA电抗、潮流全部折算成标幺值功率平衡方程用标幺值最后展示结果时再乘以基准容量转回MW。这样代码虽然多几行换算但后期调试和扩展到IEEE标准节点系统都会省很多力。5. 我实测中踩过的坑和调试技巧5.1 结果不对劲先查数据而不是怀疑求解器第一次跑通基础版时我“严谨地”把机组报价写成了[150 1; 250 1]结果出来一个奇高无比的出清价。当时怀疑是linprog的算法有问题来回换求解器、加options折腾了一晚上。最后发现是报价矩阵里容量单位写错了——1 MW不是100 MW出力上限全部被压死系统只能调用最贵的机组段。这是个非常典型的低级错误。从那以后我养成了一个习惯任何优化结果出来先别急着分析第一步核对输入数据是否物理上合理第二步看最优解是否满足所有约束把x代回Aeqx和A_ineqx检查第三步才看经济指标。exitflag为1只能说明求解成功不代表你的模型一定正确。5.2 用手算验证模型30秒的加减乘除验证出清结果是否正确最有效的方法不是看求解器报告而是拿小算例手算一遍。基础版那个例子我把报价从低到高排序前300 MW对应的三段分别是150、200、250出清价就是250元/MWh。这个手算结果和LP输出一致我才敢把代码用到更复杂的场景里。进阶版也可以用同样的思路先忽略线路约束手算出经济调度结果再检查这个结果是否越限。如果越限再手工调整少量机组出力观察成本变化方向最终和LP解对照。这个“先经济后安全”的验证顺序正是电力系统调度员处理问题时的思维方式反过来也能帮你理解模型在做什么。5.3 linprog返回的lambda怎么读符号如何避坑我见过不止一个同学拿到lambda之后不知道该取lambda.eqlin还是lambda.ineqlin或者符号搞反。linprog返回的lambda是对应约束的拉格朗日乘子它是从“目标函数对约束右侧项的边际灵敏度”角度给出的。对于等式约束Aeq*x beqlambda.eqlin可以直接理解为电力系统里的能量影子价格。对于不等式约束A*x blambda.ineqlin非零项对应的是活跃或说“起作用”的约束——也就是被卡住的线路。最常见的符号陷阱是在进阶版计算LMP时有人会手动给lambda.ineqlin加上正负号再乘到灵敏度上结果出来价格顺序反了。我的建议是直接按我在代码里写的A_ineq * lambda.ineqlin去算约束方向和乘子方向交给linprog自己处理不手动干预。如果你非要手推就先用一个只有一条线路阻塞的小例子对照LMP大小关系和阻塞方向验证能对上再扩展。5.4 从教学模型到实际系统的差距这套代码帮你建立了出清计算的核心思维但真实系统的复杂度要高出不少。实际电力市场出清不仅要算功率平衡还要考虑机组启停这属于机组组合问题要用MILP、备用容量约束、线性化的网损校正、分区价差、多时段耦合等等。模型规模也完全不在一个量级——省级现货市场出清变量动辄几十万个求解器用的是Cplex或Gurobi这样级别的商业软件Matlab自带的linprog和intlinprog在大规模计算上效率不够。但我不建议你一开始就去啃大模型。把这三节点案例彻底吃透学会看lambda搞明白为什么阻塞会让节点出现价格差你已经掌握了理解电力市场出清的骨架。后面无论是转Python调scipy.optimize、pyomo还是直接学Cplex本质上都是同一个线性规划模型在不同工具里的语法差异而已。我在实际做仿真时最常用的套路反而是先用这个Matlab小模型验证算法逻辑再用Python的Pyomo或Julia的JuMP把模型搬到更大算例上。第一版代码不需要漂亮能帮你把经济逻辑跑通就是好代码。

相关新闻

Multisim 14.0高频仿真补丁:9MHz小信号放大器精准建模

Multisim 14.0高频仿真补丁:9MHz小信号放大器精准建模

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

2026/9/21 7:07:29 阅读更多 →
Spring3集成OpenAPI泛型响应丢失?三种方案助你解决

Spring3集成OpenAPI泛型响应丢失?三种方案助你解决

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

2026/9/21 7:07:29 阅读更多 →
Jetson Orin离线语音助手实战:Riva+Llama 2全流程部署

Jetson Orin离线语音助手实战:Riva+Llama 2全流程部署

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

2026/9/21 7:07:29 阅读更多 →

最新新闻

做品管圈网站哪家好?3步避开被黑挂马陷阱

做品管圈网站哪家好?3步避开被黑挂马陷阱

做品管圈网站哪家好?3步避开被黑挂马陷阱 网站上线三天,后台突然多了个奇怪的脚本,页面弹出一堆博彩广告,SEO排名一夜清零。如果你正面临这种“网站被黑挂马不知道怎么办”的噩梦,先别慌着删库重装。很多站长在找做品管圈网站哪家好时,只盯着价格和功能,却忽略了最底层的代码安全与架构选型。今天咱们不聊虚的,…

2026/9/21 7:44:43 阅读更多 →
Voyager 資料夾管理指南:為 Gemini 與 AI Studio 的 AI 對話打造真正的「檔案系統」

Voyager 資料夾管理指南:為 Gemini 與 AI Studio 的 AI 對話打造真正的「檔案系統」

AI 应用前端 【免费下载链接】voyager Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any websites, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;其中的提示词管理器可用…

2026/9/21 7:41:44 阅读更多 →
gatsby-source-graphql 插件全解析:将任意第三方 GraphQL API 缝合进 Gatsby 数据层

gatsby-source-graphql 插件全解析:将任意第三方 GraphQL API 缝合进 Gatsby 数据层

前端静态站点Web框架 【免费下载链接】gatsby React-based framework with performance, scalability, and security built in. 项目地址: https://gitcode.com/gh_mirrors/ga/gatsby 点击查看 免费下载 本篇技术指南以 gatsby-source-graphql 插件的 CHANGELOG 版…

2026/9/21 7:41:44 阅读更多 →
Lightweight Charts v3 到 v4 迁移指南:破坏性变更逐项分析与实战改造方案

Lightweight Charts v3 到 v4 迁移指南:破坏性变更逐项分析与实战改造方案

Lightweight Charts v3 到 v4 迁移指南:破坏性变更逐项分析与实战改造方案 【免费下载链接】lightweight-charts Performant financial charts built with HTML5 canvas 项目地址: https://gitcode.com/gh_mirrors/li/lightweight-charts 本指南以 Lightweig…

2026/9/21 7:41:44 阅读更多 →
FoundationDB 存储基准测试上 RAM Disk:mako_storage_bench.sh 在 okteto 开发 Pod 上的 tmpfs 实践指南

FoundationDB 存储基准测试上 RAM Disk:mako_storage_bench.sh 在 okteto 开发 Pod 上的 tmpfs 实践指南

分布式数据库KV存储数据库后端 【免费下载链接】foundationdb FoundationDB - the open source, distributed, transactional key-value store 项目地址: https://gitcode.com/gh_mirrors/fo/foundationdb 点击查看 免费下载 mako_storage_bench.sh 是 FoundationD…

2026/9/21 7:41:44 阅读更多 →
Trigger.dev SDK 公共包修改规范:Changesets 发布流程、版本策略与 @trigger.dev/core 子路径导入指南

Trigger.dev SDK 公共包修改规范:Changesets 发布流程、版本策略与 @trigger.dev/core 子路径导入指南

AI Agent后端任务调度开发工具可观测性AI 应用 【免费下载链接】trigger.dev Trigger.dev – build and deploy durable AI agents and workflows 项目地址: https://gitcode.com/gh_mirrors/tr/trigger.dev 点击查看 免费下载 本篇指南围绕仓库内的 .claude/rules…

2026/9/21 7:41:44 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →