InfluxQL 与 Flux 双语言实战:从数据写入到聚合查询
摘要InfluxDB 2.x 支持两套查询语言 — InfluxQL 像 SQL 上手快但能力有限Flux 功能强但学习曲线陡。刚开始接触的人很容易被这两套语言搞懵到底学哪个本文从实际项目出发用同一个业务场景服务器 CPU 监控分别用 InfluxQL 和 Flux 实现数据写入、基础查询、时间聚合、多表关联等操作。同时覆盖 Retention Policy 和 Continuous Query 这两个生产必配的数据生命周期管理功能。看完这篇你就不用纠结选哪个语言了。环境说明InfluxDB 2.7.x | 操作系统 CentOS 7.9 / macOS 14 | Python 3.11 | Telegraf 1.28版本提示InfluxDB 3.x 已引入标准 SQL 支持Flux 逐步弃用。本文基于 2.x 版本如果你是新项目建议直接使用 InfluxQL SQL 方案。场景引入服务器 CPU 监控在我负责的一个运维监控项目中需要采集 3 台服务器的 CPU 使用率和内存使用率。数据每 10 秒写入一次 InfluxDB然后按不同维度做聚合查询和降采样。团队里有人用 InfluxQL 写查询有人用 Flux导致代码风格混乱、维护困难。我花了一周时间把两种语言的查询模式梳理了一遍最终统一了团队的查询规范。我们先建一个简单的数据集# 写入 3 台服务器的 CPU 和内存数据Line Protocol 格式server_metric,hostweb-01,cpu0cpu_usage45.2,mem_usage62.11689123456000000000server_metric,hostweb-01,cpu1cpu_usage32.8,mem_usage62.11689123456000000000server_metric,hostweb-02,cpu0cpu_usage78.5,mem_usage85.31689123456000000000server_metric,hostweb-02,cpu1cpu_usage65.1,mem_usage85.31689123456000000000server_metric,hostdb-01,cpu0cpu_usage23.4,mem_usage45.61689123456000000000核心需求查某台服务器过去 1 小时的 CPU 平均值查所有服务器按小时聚合的 CPU 趋势查 CPU 和内存的关联关系多 field 联合查询跨表查询服务器指标 告警事件数据写入HTTP API Line Protocol单条写入为什么需要这段代码验证 InfluxDB 2.x 的写入 API 是否正常工作同时熟悉 Line Protocol 格式。curl-XPOSThttp://localhost:8086/api/v2/write?orgmyorgbucketmydbprecisionns\-HAuthorization: Token MY_TOKEN\-HContent-Type: text/plain; charsetutf-8\-dserver_metric,hostweb-01,cpu0 cpu_usage45.2,mem_usage62.1 1689123456000000000批量写入500 条一批性能提升 20 倍为什么需要批量写入单条写入的 QPS 大约只有 500批量写入可以提升到 10000生产环境必须用批量模式。# 批量写入每条数据一行用换行符分隔curl-XPOSThttp://localhost:8086/api/v2/write?orgmyorgbucketmydbprecisionns\-HAuthorization: Token MY_TOKEN\-HContent-Type: text/plain; charsetutf-8\-dserver_metric,hostweb-01,cpu0 cpu_usage45.2,mem_usage62.1 1689123456000000000 server_metric,hostweb-01,cpu1 cpu_usage32.8,mem_usage62.1 1689123456000000010 server_metric,hostweb-02,cpu0 cpu_usage78.5,mem_usage85.3 1689123456000000020为什么用 Python 封装批量写入生产环境中数据来源多样采集器、业务系统、日志解析需要统一的写入入口来控制批次大小和写入速率。# Python 批量写入封装importrequestsimporttimedefbatch_write(metrics,batch_size500):批量写入 InfluxDB每批 500 条批次间间隔 10ms 控制速率urlhttp://localhost:8086/api/v2/write?orgmyorgbucketmydbprecisionnsheaders{Authorization:Token MY_TOKEN,Content-Type:text/plain; charsetutf-8}foriinrange(0,len(metrics),batch_size):batchmetrics[i:ibatch_size]data\n.join(batch)resprequests.post(url,headersheaders,datadata)ifresp.status_code!204:print(f[ERROR] Batch{i//batch_size}failed:{resp.status_code})time.sleep(0.01)# 控制写入速率避免打满带宽查询实战InfluxQL vs Flux 全场景对比需求 1查 web-01 过去 1 小时 CPU 平均值为什么用两种语言实现同一个需求直观对比语法差异帮助团队快速选择合适的查询语言。-- InfluxQL 写法类 SQL 语法上手成本低SELECTMEAN(cpu_usage)FROMserver_metricWHEREhostweb-01ANDtimenow()-1hGROUPBYcpu;// Flux 写法函数式管道语法表达能力更强 from(bucket: mydb) | range(start: -1h) | filter(fn: (r) r._measurement server_metric and r.host web-01) | filter(fn: (r) r._field cpu_usage) | group(columns: [cpu]) | mean() | yield(name: mean_cpu)对比维度InfluxQLFlux学习成本⭐类 SQL⭐⭐⭐函数式表达能力⭐⭐⭐⭐⭐⭐⭐调试难度低中适合场景简单聚合查询复杂数据管道3.x 兼容性高接近 SQL低逐步弃用查询语言选择流程根据业务场景选择最合适的语言避免盲目使用 Flux 增加复杂度否是是否是否查询需求是否需要跨表 JOIN或自定义函数仅做简单聚合MEAN/MAX/MIN/COUNT使用 Flux使用 InfluxQLSELECT WHERE GROUP BY time FILLfrom range filter 管道函数 JOIN未来是否会迁移到 3.x优先用 InfluxQL3.x 原生 SQL 语法更接近InfluxQL 足够覆盖 80% 日常场景需求 2按小时聚合 CPU 趋势为什么需要时间聚合原始数据每 10 秒一条直接查 24 小时的数据有 8640 个点图表渲染卡顿。按小时聚合后只有 24 个点展示更清晰。-- InfluxQLGROUP BY time 实现时间桶聚合SELECTMEAN(cpu_usage)FROMserver_metricWHEREtimenow()-24hANDhost~/web-/GROUPBYtime(1h),host FILL(null);// FluxaggregateWindow 实现时间窗口聚合 from(bucket: mydb) | range(start: -24h) | filter(fn: (r) r._measurement server_metric) | filter(fn: (r) r.host ~ /web-/) | filter(fn: (r) r._field cpu_usage) | aggregateWindow(every: 1h, fn: mean, createEmpty: false) | yield(name: hourly_cpu)对比说明InfluxQL 的FILL(null)和 Flux 的createEmpty: false效果相反 — InfluxQL 默认不填充空桶Flux 默认创建空桶。生产环境建议 Flux 使用createEmpty: false避免图表出现断点。需求 3CPU 和内存关联分析为什么需要关联分析排查性能问题时单独看 CPU 或内存都不够需要看两者的比值关系。当 CPU/内存比值异常时往往意味着资源分配不均衡。// Flux 的优势多 field 联合查询 JOIN cpu from(bucket: mydb) | range(start: -1h) | filter(fn: (r) r._measurement server_metric and r.host web-01) | filter(fn: (r) r._field cpu_usage) | aggregateWindow(every: 5m, fn: mean) mem from(bucket: mydb) | range(start: -1h) | filter(fn: (r) r._measurement server_metric and r.host web-01) | filter(fn: (r) r._field mem_usage) | aggregateWindow(every: 5m, fn: mean) // 两个表 JOIN计算 CPU/内存比值 join(tables: {cpu: cpu, mem: mem}, on: [_time, host]) | map(fn: (r) ({r with ratio: r._value_cpu / r._value_mem})) | yield(name: cpu_mem_ratio)性能提示Flux 的 JOIN 在数据量大时性能较差。如果两个表的维度一致考虑存成同一个 Measurement 的多个 Field用 InfluxQL 直接查性能提升 3-5 倍。需求 4跨表查询服务器指标 告警事件为什么需要跨表查询运维排障时需要同时看指标数据和告警事件的时间线快速定位哪个告警对应哪个指标异常。// Flux 跨 Measurement 查询指标 告警时间线 metrics from(bucket: mydb) | range(start: -1h) | filter(fn: (r) r._measurement server_metric) | filter(fn: (r) r._field cpu_usage) alerts from(bucket: mydb) | range(start: -1h) | filter(fn: (r) r._measurement alert_event) | filter(fn: (r) r.severity critical) // 按时间对齐找出指标异常与告警的关联 join(tables: {metric: metrics, alert: alerts}, on: [_time, host]) | map(fn: (r) ({ r with alert_context: CPU${r._value_metric}, Alert${r.alert_name} })) | yield(name: metric_alert_correlation)InfluxQL 的局限InfluxQL 不支持跨 Measurement 的 JOIN这是 Flux 的核心优势场景。如果你有大量跨表查询需求Flux 是唯一选择或者升级到 3.x 使用 SQL JOIN。数据生命周期管理RP CQRetention Policy数据保留策略为什么必须配 RPInfluxDB 默认永久保留数据不做降采样的话高频数据每 10 秒一条一个月就能吃掉几百 GB 磁盘。# InfluxDB 2.x 中 RP 由 Bucket 的 retention 参数控制# 创建 Bucket 时指定数据保留 30 天influx bucket create\--namemydb\--retention30d\--orgmyorg# 查看现有 Bucket 及保留期influx bucket list# 修改保留期已有数据不会被删除但过期后自动清理influx bucket update\--idBUCKET_ID\--retention90dContinuous Query / Task自动降采样为什么需要降采样高频原始数据每 10 秒一条保留 7 天降采样后按小时聚合保留 1 年。这样既节省存储又能看长期趋势。-- InfluxDB 1.x 方式Continuous Query2.x 中通过 Task 实现CREATECONTINUOUS QUERYcq_hourly_cpuONmydbBEGINSELECTMEAN(cpu_usage)AScpu_usage_hourlyINTOhourly_metricsFROMserver_metricGROUPBYtime(1h),host,cpuEND为什么用 Task 替代 CQTask 支持完整的 Flux 管道可以做过滤、转换、多分支写入等复杂操作CQ 只支持简单的 SELECT INTO 模式。// InfluxDB 2.x 使用 Task 实现降采样 // 在 Web UI 的 Tasks 页面中创建 option task { name: hourly-downsample, every: 1h, // 每小时执行一次 offset: 5m // 延迟 5 分钟执行等待数据完全到达 } from(bucket: mydb) | range(start: -2h) // 处理过去 2 小时的数据保证覆盖 | filter(fn: (r) r._measurement server_metric) | filter(fn: (r) r._field cpu_usage) | aggregateWindow(every: 1h, fn: mean) | set(key: _measurement, value: hourly_cpu) | to(bucket: mydb_downsampled, org: myorg)方案选型InfluxQL vs Flux 全维度对比维度InfluxQLFlux建议语法风格类 SQLSELECT/WHERE/GROUP BY函数式管道from/range/filterSQL 背景选 InfluxQL简单聚合一行搞定需要 5-6 行管道InfluxQL 更高效时间聚合GROUP BY time(1h)aggregateWindow(every: 1h)两者都方便多表 JOIN不支持join() 函数Flux 唯一选择自定义函数不支持可定义 functionFlux 灵活调试体验直接在 CLI 运行需要在 UI 或 flux CLIInfluxQL 更简单3.x 兼容性接近 SQL迁移平滑逐步弃用InfluxQL 更安全性能简单查询快复杂管道有优化空间简单场景 InfluxQL学习曲线1-2 天1-2 周InfluxQL 上手快选型结论新项目2.x优先 InfluxQL覆盖 80% 场景复杂分析用 Flux新项目3.x直接用 SQL不需要学 Flux存量项目保持现有查询不变新增查询优先用 InfluxQL/SQL踩坑指南1时间戳精度不统一现象同一台服务器的数据用 Python 脚本写入的时间戳是纳秒用 Telegraf 采集的是微秒。查询时某些数据点的时间错位了。原因InfluxDB 默认存储精度是纳秒但如果写入时指定了不同的precision参数时间戳会被截断或填充。解决在所有写入端统一precision参数# 统一使用秒级时间戳curl-XPOST...precisions-dserver_metric cpu45.2 1689123456# Telegraf 配置中指定精度 # 不要指定 precision让 Telegraf 自动使用纳秒 [[outputs.influxdb_v2]] urls [http://localhost:8086] token MY_TOKEN organization myorg bucket mydb content_encoding gzip注意Telegraf 和自定义脚本混用时务必统一精度参数。建议全部使用纳秒ns避免精度丢失。2忘了配 Retention磁盘写满现象InfluxDB 跑了两个月后服务器磁盘告警/data分区使用率 98%。原因创建 Bucket 时没有指定--retention默认是0永久保留。两个月下来积累了 1.5TB 的原始数据。解决# 紧急设置保留期已存在的数据不会被删除但后续会自动清理influx bucket update--idBUCKET_ID--retention30d# 手动清理旧数据如果磁盘已经撑不住了influx delete--bucketmydb--start1970-01-01T00:00:00Z--stop2025-06-01T00:00:00Z# 查看 Bucket 大小influx bucket list--orgmyorg回退方案如果误删了需要的数据只能从备份恢复。建议在执行influx delete前先备份influx backup -b mydb /path/to/backup3Task 执行延迟导致数据空洞现象降采样后的hourly_metrics中凌晨 2:00-3:00 的数据总是空的。原因Task 配置了every: 1h但采集端在凌晨 2:00 左右发生了网络抖动数据延迟了 10 分钟才到达。Task 在 2:05 执行时还没看到这些延迟数据。解决增大查询范围 增加偏移量option task { name: hourly-downsample, every: 1h, offset: 30m // 改为 30 分钟偏移给延迟数据足够的时间 } // 查询范围也扩大到 3 小时 from(bucket: mydb) | range(start: -3h) // ... 后续聚合逻辑不变经验值offset 建议设置为采集间隔的 3-5 倍。如果采集间隔是 10 秒offset 至少 30 秒如果网络不稳定建议 5-10 分钟。常见问题Q1InfluxQL 和 Flux 到底学哪个3.x 之前学 InfluxQL 做简单查询学 Flux 做复杂分析。日常运维 80% 的场景 InfluxQL 够了复杂管道分析多表 JOIN、条件分支才需要 Flux。3.x 开始 InfluxDB 引入标准 SQL 支持Flux 逐步弃用。如果你刚开始学直接学 InfluxQL SQL 就行。Q2为什么我的 GROUP BY time 查不出数据最常见的原因是时区问题。InfluxDB 默认把时间戳当成 UTC 存储如果写入的是 UTC 时间但查询时用了本地时区时间范围就对不上了。-- 查询时显式指定时区偏移8h UTC8SELECTMEAN(cpu_usage)FROMserver_metricWHEREtimenow()-24hGROUPBYtime(1h,8h)FILL(previous);Q3Task 和 CQ 有什么区别Task 是 InfluxDB 2.x 替代 CQ 的新方案。CQ 只支持简单的 SELECT INTO 模式Task 支持完整的 Flux 管道可以做过滤、转换、多分支写入等复杂操作。Q4写入速度上不去怎么办为什么写入慢常见瓶颈有三个 — 网络带宽未压缩、批次太小逐条写入、精度过高纳秒级时间戳占用空间大。# 1. 开启 gzip 压缩减少网络传输量 60-80%curl-XPOST...-HContent-Encoding: gzip--data-binary data.gz# 2. 增大 batch size每次至少 500 条# 3. 降低写入精度从纳秒降到秒级# influxdb.conf — 写入调优 [coordinator] write-timeout 10s max-concurrent-queries 0 [data] cache-max-memory-size 1g cache-snapshot-write-cold-duration 10m compact-full-write-cold-duration 30m查询语言检查清单【InfluxQL 适用场景】 □ 简单聚合查询MEAN/MAX/MIN/COUNT □ GROUP BY time 时间桶聚合 □ 简单 WHERE 过滤Tag 条件 时间范围 □ FILL 填充空值 【Flux 适用场景】 □ 跨 Measurement 查询 □ 多表 JOIN 关联分析 □ 条件分支和自定义函数 □ 数据预处理过滤/转换/聚合/输出 【生产必配】 □ Retention Policy必须设置默认 0永久保留是大坑 □ Continuous Query / Task高频→低频降采样 □ 写入精度统一所有采集端用同一个 precision总结InfluxQL 和 Flux 的关系很像 SQL 和 Python 的关系 — InfluxQL 简单直接上手就能干活Flux 灵活强大但需要花时间学习。我的建议是先精通 InfluxQL 的 20 个常用查询模式SELECT WHERE GROUP BY time 聚合函数这些能覆盖日常 90% 的需求。遇到复杂的分析场景再用 Flux。对于数据生命周期管理记住一句话就行原始数据高频写入、短期保留降采样数据低频存储、长期保留。配上 Task 自动执行一次配置就不用管了。适用边界本文基于 InfluxDB 2.7.x3.x 版本的查询方式有较大变化原生 SQL 支持请关注后续文章。下一篇文章讲 Schema 设计黄金法则 — 哪些放 Tag、哪些放 Field、怎么预估和控制 Cardinality这些都是生产环境踩出来的经验。互动你用的是 InfluxQL 还是 Flux遇到过什么奇怪的语法问题欢迎评论区交流。

相关新闻

去AI痕迹工具怎么选?4款工具横向测评

去AI痕迹工具怎么选?4款工具横向测评

开篇 "去AI痕迹"和"降AI率"其实是同一个概念的不同说法——都是让AI生成的文本看起来更像真人写的。但市面上很多工具在这方面各有侧重:有的侧重句式重组,有的侧重风格迁移,有的侧重词汇替换。本文从"去AI痕迹"…

2026/10/5 13:13:01 阅读更多 →
Warp 自定义工具栏命令绑定 CLI Agent:从 Unknown 会话到完整 Agent 体验

Warp 自定义工具栏命令绑定 CLI Agent:从 Unknown 会话到完整 Agent 体验

桌面应用开发者工具人工智能AI 应用AI Agent代码智能体 【免费下载链接】warp Warp is an agentic development environment, born out of the terminal. 项目地址: https://gitcode.com/GitHub_Trending/wa/warp 点击查看 免费下载 自定义命令(如公司内…

2026/10/5 13:13:01 阅读更多 →
先认证后授权怎么落地:安当OTP 在解耦架构里的角色

先认证后授权怎么落地:安当OTP 在解耦架构里的角色

一、为什么"认证"和"授权"必须解耦 很多系统的安全隐患,根源不在加密算法不够强,而在流程上把"你是谁"和"你能做什么"粘在了一起。一个典型的老式做法是:用户提交账号密码,应用校验通过后…

2026/10/5 13:13:01 阅读更多 →

最新新闻

落地页文案的10个转化技巧:用ai-design-skills写好标题公式与CTA

落地页文案的10个转化技巧:用ai-design-skills写好标题公式与CTA

落地页文案的10个转化技巧:用ai-design-skills写好标题公式与CTA 【免费下载链接】ai-design-skills 项目地址: https://gitcode.com/gh_mirrors/ai/ai-design-skills ai-design-skills 是一套面向 Claude Code、Cursor 等 AI 编程工具的落地页设计技能库&a…

2026/10/5 13:58:20 阅读更多 →
成都温江专业美术书法培训机构

成都温江专业美术书法培训机构

优奇艺美术教育,自 2009 年办学至今,十七年专注 3 至 16 岁儿童与青少年美术、书法美育。我们坚持全专职持证教师授课,所有老师长期深耕少儿艺术教育,懂专业,更懂孩子。课程由内部教研团队独立研发,体系完善…

2026/10/5 13:58:20 阅读更多 →
智能体推理性能优化:从硬件加速到可观测性的软硬协同之路

智能体推理性能优化:从硬件加速到可观测性的软硬协同之路

最近我朋友圈里聊得最多的消息,就是 d-Matrix 与 Gimlet Labs 的这次合作。如果你只是把它当成又一条“某某芯片公司与某某平台握手”的行业新闻,那确实没啥感觉;但如果你最近正在做 AI 智能体的推理性能优化,或者被智能体应用上线…

2026/10/5 13:58:20 阅读更多 →
插件机制全解析:从加载原理到故障排查实战

插件机制全解析:从加载原理到故障排查实战

说到 plugins,我第一反应不是某个具体软件,而是一连串又爱又恨的回忆。你可能也遇到过:打开一个工具,界面上弹出一行报错,说某个插件没有激活;或者安装了一个看起来很棒的插件,程序直接崩溃&…

2026/10/5 13:58:20 阅读更多 →
时钟MUX时序约束详解:从原理到实践避免时钟切换死机

时钟MUX时序约束详解:从原理到实践避免时钟切换死机

做后端时序收敛这么多年,每次看到时钟MUX约束报错,我基本都能猜到问题出在哪。时钟MUX(clock MUX)是芯片里最常见也最容易被低估的结构,而它的时序约束一旦写错,轻则CTS多长出几层buffer,重则芯…

2026/10/5 13:58:20 阅读更多 →
SpringBoot+Vue宠物健康顾问系统:从架构设计到前后端分离实践

SpringBoot+Vue宠物健康顾问系统:从架构设计到前后端分离实践

1. 项目概览:这个“宠物健康顾问”到底是什么 先说结论:这套SpringBootVue的宠物健康顾问系统,核心是做“宠物医院的轻量级数字化管理”。它不是一个花架子demo,而是把真实宠物门诊日常要干的几件事——宠物档案建档、在线问诊、疫…

2026/10/5 13:57:20 阅读更多 →

日新闻

马斯克杀回智能体战场,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/5 5:06:42 阅读更多 →
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 阅读更多 →