Cloudflare Terraform 实战模式:用 autoskills 的 cloudflare-deploy 技能搭建多环境基础设施即代码
【免费下载链接】autoskillsOne command. Your entire AI skill stack. Installed.项目地址https://gitcode.com/gh_mirrors/au/autoskills点击查看免费下载导读本文以 autoskills 仓库中cloudflare-deploy技能的 Terraform 实战参考文档 patterns.md 为核心系统讲解使用 Cloudflare Terraform Provider 落地基础设施即代码IaC的架构模式与真实用例从推荐的目录结构、多环境编排、R2 远程状态后端到携带全部绑定KV/R2/D1/Secret的 Worker 定义、与 Wrangler 的职责边界划分及 CI/CD 集成再到静态站点 API Worker、多区域负载均衡、Zero Trust Access 安全管理员、可复用模块四大实战场景。读完本文你将掌握一套可直接复制运行的 Cloudflare 基础设施代码骨架并理解 Provider v5 时代的关键约束与避坑点。一、为什么需要 Terraform 模式文档在 Cloudflare 平台上部署手段众多Wrangler CLI、Pages Git 集成、REST API、Pulumi、Terraform。当基础设施规模超出单个 Worker、涉及多个环境staging/production、需要 DNS 安全规则 负载均衡 Access 协同管理时Terraform 是官方推荐的声明式 IaC 方案。在 autoskills 的cloudflare-deploy技能中Terraform 被归类为基础设施即代码IaC三选一terraform/、pulumi/、api/之一见 SKILL.md。而 patterns.md 正是这一分类下的架构落地指南与同目录的 README.mdProvider 配置、configuration.md资源清单、api.md数据源、gotchas.md排障共同构成完整参考体系。核心原则来自 README.mdProvider 优先所有基础设施一律用 Terraform Provider 管理绝不与 wrangler.jsonc 对同一资源重复声明远程状态团队环境必须使用远程状态S3、Terraform Cloud 等模块化架构为常见模式zone、worker、pages创建可复用模块版本锁定用~锁定 Provider 版本以保证可预测升级密钥管理敏感数据用变量 环境变量绝不硬编码 API Token。二、推荐的目录结构环境目录 共享状态patterns.md 给出的推荐目录结构如下terraform/ ├── environments/ │ ├── production/ │ │ ├── main.tf │ │ └── terraform.tfvars │ └── staging/ │ ├── main.tf │ └── terraform.tfvars ├── modules/ │ ├── zone/ │ ├── worker/ │ └── dns/ └── shared/ # Shared resources across envs └── main.tf设计要点environments/下每个环境一个目录各自持有main.tf与terraform.tfvars环境专属变量如account_id、environment名称、域名modules/沉淀跨环境复用的抽象zone、worker、dnsshared/存放跨环境共享的资源例如 R2 公共桶、全局规则集。特别提示patterns.md 明确强调 —— Cloudflare 官方建议避免为 Provider 资源过度封装模块原因是 Provider v5 由 OpenAPI 自动生成后模块接口的自动生成复杂度上升。更推荐的做法是环境目录 共享状态shared state即每个环境拥有独立状态文件、直接引用共享状态中的资源 ID而非层层套模块。三、多环境设置模块调用 环境变量在environments/{production,staging}/main.tf中通过模块复用 zone 与 worker 定义以environment变量区分环境# Directory: environments/{production,staging}/main.tf modules/{zone,worker,pages} module zone { source ../../modules/zone; account_id var.account_id; zone_name example.com; environment production } module api_worker { source ../../modules/worker; account_id var.account_id; zone_id module.zone.zone_id name api-worker-prod; script file(../../workers/api.js); environment production }关键点source ../../modules/zone以相对路径引用modules/下的本地模块无需额外 registry 发布module.zone.zone_id将模块输出传递给下游模块形成依赖链环境差异集中在terraform.tfvars如api-worker-prod与api-worker-staging的命名后缀代码本身保持单一。配套验证Terraform 支持terraform validate校验语法、terraform plan对比环境差异、terraform fmt -recursive统一格式命令清单见 README.md。在每个环境目录内执行terraform init terraform plan即可确认 staging 与 production 的差异是否如预期。四、R2 远程状态后端跨环境共享状态的关键Terraform 团队协作必须使用远程状态。patterns.md 给出了一套完全基于 Cloudflare 自身产品R2 S3 兼容端点的状态后端方案无需引入 AWS 即可实现团队共享terraform { backend s3 { bucket terraform-state key cloudflare.tfstate region auto endpoints { s3 https://account_id.r2.cloudflarestorage.com } skip_credentials_validation true skip_region_validation true skip_requesting_account_id true skip_metadata_api_check true skip_s3_checksum true } }参数说明参数作用bucketR2 中承载状态文件的桶名需先在 R2 中创建key状态对象在桶内的路径可用环境区分如staging.tfstate/production.tfstateregion autoR2 无区域概念必须固定为autoendpoints.s3指向你的 R2 账户端点https://account_id.r2.cloudflarestorage.comskip_*系列跳过 AWS 特有校验适配 S3 兼容存储注意region、endpoints等属于后端配置的静态参数HCL 中不能引用变量请直接字面量填写。远程状态与“环境目录 共享状态”模式配合shared/环境产出的输出如共享 zone_id、KV namespace_id可被各环境通过terraform_remote_state数据源读取实现跨环境引用而不产生资源重复管理。五、全绑定 WorkerKV / R2 / D1 / Secret 一网打尽patterns.md 提供了一个“full-stack-worker”示例把 Cloudflare 最常见的四类 Worker 绑定全部接入同一脚本locals { worker_name full-stack-worker } resource cloudflare_workers_kv_namespace app { account_id var.account_id; title ${local.worker_name}-kv } resource cloudflare_r2_bucket app { account_id var.account_id; name ${local.worker_name}-bucket } resource cloudflare_d1_database app { account_id var.account_id; name ${local.worker_name}-db } resource cloudflare_worker_script app { account_id var.account_id; name local.worker_name; content file(worker.js); module true compatibility_date 2025-01-01 kv_namespace_binding { name KV; namespace_id cloudflare_workers_kv_namespace.app.id } r2_bucket_binding { name BUCKET; bucket_name cloudflare_r2_bucket.app.name } d1_database_binding { name DB; database_id cloudflare_d1_database.app.id } secret_text_binding { name API_KEY; text var.api_key } }要点解读module true声明使用 ES Module 格式的 Worker 脚本compatibility_date 2025-01-01固定运行时兼容性日期避免行为漂移绑定块kv_namespace_binding、r2_bucket_binding、d1_database_binding、secret_text_binding直接引用同文件内创建的资源 IDTerraform 会自动建立依赖顺序先建 KV/R2/D1再部署 WorkerWorker 内通过绑定名称KV、BUCKET、DB、API_KEY访问这些资源。Provider v5 支持的全部绑定类型见 configuration.md 的表格除 KV/R2/D1/Secret 外还包括 Service、Queue、Vectorize、Hyperdrive、AI、Browser、Analytics Engine、mTLS 证书绑定。生产环境进阶configuration.md 还推荐了“渐进式发布Gradual Rollouts”模式 —— 用cloudflare_worker定义 Worker 本体cloudflare_worker_version上传带content_sha256的版本再由cloudflare_workers_deployment控制各版本流量百分比如percentage 100实现灰度上线详见 configuration.md。六、Wrangler 集成职责边界与 CI/CD 模式职责划分CRITICALpatterns.md 明确指出Wrangler 与 Terraform 绝不能同时管理同一批资源否则会出现 409 Conflict、状态漂移等冲突详见 gotchas.md 的 “409 Conflict on worker deployment”。推荐分工工具负责范围TerraformZones、DNS、安全规则、Access、负载均衡、Worker 部署CI/CD 管道、KV/R2/D1 等资源创建Wrangler本地开发wrangler dev、手动部署、D1 迁移、KV 批量操作、日志流式查看wrangler tailWrangler 侧能力全景可参考 wrangler/README.mdwrangler dev/wrangler deploy/wrangler rollback、KV 的kv key put/get、D1 的d1 migrations apply、R2 的r2 object put/get、监控用的wrangler tail等。CI/CD 模式terraform apply → envsubst → wrangler deploy典型的流水线分三步Terraform 建基础设施并输出资源 ID用envsubst将 ID 注入wrangler.jsonc模板最后用 Wrangler 部署代码# Terraform creates infrastructure resource cloudflare_workers_kv_namespace app { account_id var.account_id; title app-kv } resource cloudflare_d1_database app { account_id var.account_id; name app-db } output kv_namespace_id { value cloudflare_workers_kv_namespace.app.id } output d1_database_id { value cloudflare_d1_database.app.id }# GitHub Actions: terraform apply → envsubst wrangler.jsonc.template → wrangler deploy - run: terraform apply -auto-approve - run: | export KV_NAMESPACE_ID$(terraform output -raw kv_namespace_id) envsubst wrangler.jsonc.template wrangler.jsonc - run: wrangler deploy流程说明terraform apply -auto-approve保证 KV namespace 与 D1 数据库已存在并通过output暴露 IDterraform output -raw kv_namespace_id读取输出值envsubst把模板中的$KV_NAMESPACE_ID占位符替换为真实 IDwrangler deploy仅部署 Worker 代码不再创建资源 —— 资源的创建与代码的部署由两个工具各司其职。CI/CD 认证流水线环境不适用交互式wrangler login应设置CLOUDFLARE_API_TOKEN环境变量见 SKILL.md 与 README.md。七、实战用例一静态站点 API Worker这是最常见的组合Pages 托管前端静态站Workers 承载 APIDNS 与路由统一由 Terraform 管理resource cloudflare_pages_project frontend { account_id var.account_id; name frontend; production_branch main build_config { build_command npm run build; destination_dir dist } } resource cloudflare_worker_script api { account_id var.account_id; name api; content file(api-worker.js) d1_database_binding { name DB; database_id cloudflare_d1_database.api_db.id } } resource cloudflare_dns_record frontend { zone_id cloudflare_zone.main.id; name app; content cloudflare_pages_project.frontend.subdomain; type CNAME; proxied true } resource cloudflare_worker_route api { zone_id cloudflare_zone.main.id; pattern api.example.com/*; script_name cloudflare_worker_script.api.name }要点cloudflare_pages_project声明构建命令npm run build与产物目录dist可配合 GitHub 源source { type github; config { ... } }见 configuration.md前端域名通过cloudflare_dns_recordCNAME 指向 Pages 的.pages.dev子域proxied true走代理暴露API 通过cloudflare_worker_route挂到api.example.com/*模式若项目还有自定义域名可用cloudflare_pages_domain绑定site.example.com。八、实战用例二多区域负载均衡geo steering面向全球用户时用 Load Balancer 按地理位置把流量分发给不同区域源站resource cloudflare_load_balancer_pool us { account_id var.account_id; name us-pool; monitor cloudflare_load_balancer_monitor.http.id origins { name us-east; address var.us_east_ip } } resource cloudflare_load_balancer_pool eu { account_id var.account_id; name eu-pool; monitor cloudflare_load_balancer_monitor.http.id origins { name eu-west; address var.eu_west_ip } } resource cloudflare_load_balancer global { zone_id cloudflare_zone.main.id; name api.example.com; steering_policy geo default_pool_ids [cloudflare_load_balancer_pool.us.id] region_pools { region WNAM; pool_ids [cloudflare_load_balancer_pool.us.id] } region_pools { region WEU; pool_ids [cloudflare_load_balancer_pool.eu.id] } }解读两个 pool 共用同一个健康检查 monitorcloudflare_load_balancer_monitor.httptype http、path /health见 configuration.mdsteering_policy geo启用地理路由default_pool_ids作为兜底池region_pools把 WNAM北美西部、WEU西欧等 Cloudflare 区域代码映射到对应 pool。提示load_balancer 资源存在已知状态漂移adaptive_routing、random_steering属性建议在 lifecycle 中添加ignore_changes见 gotchas.md。九、实战用例三用 Zero Trust Access 保护管理员后台把管理后台变成仅限指定邮箱访问的受保护应用resource cloudflare_pages_project admin { account_id var.account_id; name admin; production_branch main } resource cloudflare_access_application admin { account_id var.account_id; name Admin; domain admin.example.com; type self_hosted; session_duration 24h allowed_idps [cloudflare_access_identity_provider.google.id] } resource cloudflare_access_policy allow { account_id var.account_id; application_id cloudflare_access_application.admin.id name Allow admins; decision allow; precedence 1; include { email var.admin_emails } }要点cloudflare_access_application定义受保护应用self_hosted 类型session_duration 24h控制会话时长allowed_idps引用身份提供方本例为 Google也可用 GitHub 等其创建方式见 configuration.mdcloudflare_access_policy的include { email var.admin_emails }限定允许访问的管理员邮箱列表decision allow、precedence 1定义策略优先级。版本提示Provider v5 中 Access 系列资源已更名为cloudflare_zero_trust_*cloudflare_access_application→cloudflare_zero_trust_application等迁移细节见 gotchas.md。十、实战用例四可复用模块封装 zone若确实需要模块化patterns.md 给出了一个最小 zone 模块示例 —— 封装 Zone 创建、SSL 设置与 zone_id 输出# modules/cloudflare-zone/main.tf variable account_id { type string }; variable domain { type string }; variable ssl_mode { default strict } resource cloudflare_zone main { account { id var.account_id }; name var.domain } resource cloudflare_zone_settings_override main { zone_id cloudflare_zone.main.id; settings { ssl var.ssl_mode; always_use_https on } } output zone_id { value cloudflare_zone.main.id } # Usage: module prod { source ./modules/cloudflare-zone; account_id var.account_id; domain example.com }模块设计要点variable声明入参ssl_mode带默认值strict调用方只需传account_id与domaincloudflare_zone_settings_override统一开启always_use_https并可通过ssl_mode调整 TLS 模式output zone_id向调用方暴露 zone ID供 DNS、路由等下游资源引用。结合 api.md模块内也可以用数据源按域名反查已有 zonedata cloudflare_zone而非新建实现“引用现有资源”的混合模式。十一、落地前的关键检查清单把 patterns.md 的架构落地到生产前请对照以下清单细节均可在 gotchas.md 找到依据Provider 版本使用~ 5.15.0及以上并锁定required_providers注意 v4→v5 的资源重命名cloudflare_record→cloudflare_dns_record、cloudflare_worker_*→cloudflare_workers_*升级后需terraform state mv迁移状态认证方式优先 API TokenCLOUDFLARE_API_TOKEN按账户/Zone 最小权限授权Global API Key 属于 legacy不推荐状态漂移防护对cloudflare_pages_project加ignore_changes [deployment_configs]、对cloudflare_workers_script加ignore_changes [secret_text_binding]secret 在 API 中返回为 REDACTEDR2 位置大小写location必须大写WNAM、ENAM、WEUR、EEUR、APAC否则后续 apply 会失败D1 只建库不建表Terraform 只创建 D1 数据库schema 需在 apply 后用wrangler d1 migrations apply db-name完成Worker 体积脚本 依赖合计上限 10 MB超限需代码分割或压缩资源导入已有资源如已存在的 DNS 记录应使用terraform import格式见 api.md或先用cf-terraforming生成 HCL避免 “DNS record already exists” 报错并发锁多成员同时 apply 时如遇 “State locking errors”用terraform force-unlock lock-id清理过期锁慎用。容量参考来自 gotchas.mdD1 每账户 50,000 个免费档 10 个Pages 项目每账户 500 个免费账户 100 个免费计划下每个 Zone DNS 记录 3,500 条R2 存储与 KV 键数无上限、按量计费。十二、延伸阅读patterns.md 的 “See Also” 指向同目录其余四份文档构成了完整的 Terraform 参考闭环README.md — Provider 安装、认证方式API Token / Global Key / User Service Key、常用命令与 cf-terraforming 导入工具configuration.md — Zone/DNS、Workers、KV/R2/D1、Pages、RulesetsWAF/重定向/缓存、Load Balancer、Access 的全量资源写法api.md — 数据源查询zone、accounts、worker、KV、list、IP ranges与 Import ID 格式gotchas.md — 状态漂移表、v5 破坏性变更对照、资源级陷阱与常见错误处理。此外cloudflare-deploy技能还提供 Pulumireferences/pulumi/与 REST APIreferences/api/两种 IaC 替代方案以及 wrangler CLI 的完整参考供不同团队按既有工具链选择。赞分享【免费下载链接】autoskillsOne command. Your entire AI skill stack. Installed.项目地址https://gitcode.com/gh_mirrors/au/autoskills点击查看免费下载相关推荐Cloudflare Terraform Provider 实战指南用 Terraform v5 全量管理 Cloudflare 基础设施Cloudflare Terraform Provider 实战指南用 Terraform v5 全量管理 Cloudflare 基础设施 本指南以 Skil人工智能AI 技能AI 插件Cloudflare Analytics Engine 实战模式在 autoskills cloudflare-deploy 技能栈中构建高基数实时指标管道Cloudflare Analytics Engine 实战模式在 autoskills cloudflare deploy 技能栈中构建高基数实时指标管道Cloudflare AI Search 配置实战指南从 Worker 绑定到多环境部署autoskills Cloudflare Deploy 技能参考Cloudflare AI Search 配置实战指南从 Worker 绑定到多环境部署autoskills Cloudflare Deploy 技能参考上一篇espefuse burn-key 命令完全指南向 ESP32 系列 eFuse 烧写安全密钥的实战解析下一篇【免费下载】 OCR自动评分系统OCRAutoScore开启智能教育新篇章创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

P2WLAN诊断与排障指南:5步快速定位Direct/Relay连接问题

P2WLAN诊断与排障指南:5步快速定位Direct/Relay连接问题

P2WLAN诊断与排障指南:5步快速定位Direct/Relay连接问题 【免费下载链接】p2wlan 跨平台 P2P 虚拟局域网(VirtualLAN)工具,让异地设备像在同一局域网中互联。支持 NAT 穿透、IPv6 直连、房间组网与 Relay 回退,覆盖 Windows / macOS / Linux …

2026/10/10 5:09:27 阅读更多 →
CodeQL C 查询包 1.0.9 变更解析:System.Web.UI.AttributeCollection 不再作为 HTML 污点汇聚点

CodeQL C 查询包 1.0.9 变更解析:System.Web.UI.AttributeCollection 不再作为 HTML 污点汇聚点

静态分析SAST应用安全漏洞扫描代码质量 【免费下载链接】codeql CodeQL: the libraries and queries that power security researchers around the world, as well as code scanning in GitHub Advanced Security 项目地址: https://gitcode.com/gh_mirrors/co/code…

2026/10/10 5:09:27 阅读更多 →
FusionStorage分布式存储运维实践:存储池、iSCSI与故障排查

FusionStorage分布式存储运维实践:存储池、iSCSI与故障排查

简介:华为FusionStorage系统管理指南是一份面向数据中心存储管理员与运维工程师的官方操作手册,聚焦分布式存储解决方案中存储资源的管理与维护,重点解决存储池和块客户端日常操作中的常见问题。文档版本为V100R003C30,内容按模块…

2026/10/10 5:09:27 阅读更多 →

最新新闻

开源实时协作Markdown编辑器HedgeDoc:自托管与权限管理指南

开源实时协作Markdown编辑器HedgeDoc:自托管与权限管理指南

如果你所在的环境里,协作记录一直散落在聊天记录、本地文本和邮箱附件之间,我建议你认真了解一下 HedgeDoc。它是一款开源的、基于 Web 的实时协作 Markdown 编辑器,浏览器打开就能用,也能在自己的服务器上搭建。我把团队内部的技…

2026/10/10 5:44:39 阅读更多 →
变步长扰动观察法光伏MPPT仿真:S-Function与Boost电路实践

变步长扰动观察法光伏MPPT仿真:S-Function与Boost电路实践

上次接了个仿真任务,要求搭一套能随光照强度突变“时刻跟踪”最大功率点的光伏MPPT模型。原以为Simulink里找一个现成模块拖进去就行,结果翻遍标准库也没找到变步长扰动观察法仿真模型,最后老老实实把算法写进s-function模块,配合…

2026/10/10 5:44:39 阅读更多 →
AnyPS5远程串流全攻略:从局域网到广域网,低延迟玩转PS5

AnyPS5远程串流全攻略:从局域网到广域网,低延迟玩转PS5

1. 从“AnyPS5”这个标题说起:它到底想解决什么问题第一次看到“AnyPS5”这个标题,我脑子里蹦出来的第一反应是:这大概率是一个围绕“跨平台串流”或者“远程访问”做文章的项目。为什么这么判断?因为“Any”这个前缀在技术圈里几…

2026/10/10 5:44:39 阅读更多 →
Zeek 证书透明度验证指南:深入解析 validate-sct.zeek 的 SCT 校验机制

Zeek 证书透明度验证指南:深入解析 validate-sct.zeek 的 SCT 校验机制

网络安全网络IDS 【免费下载链接】zeek Zeek is a powerful network analysis framework that is much different from the typical IDS you may know. 项目地址: https://gitcode.com/gh_mirrors/ze/zeek 点击查看 免费下载 导读 本文围绕 Zeek 的 policy/protoc…

2026/10/10 5:44:39 阅读更多 →
YCBlogs 开源项目全景导览:Android 组件封装库、视频播放器、线程池与多渠道打包实战指南

YCBlogs 开源项目全景导览:Android 组件封装库、视频播放器、线程池与多渠道打包实战指南

教程技术博客文档 【免费下载链接】YCBlogs 技术博客笔记大汇总,包括Java基础,线程,并发,数据结构;Android技术博客等等;常用设计模式;常见的算法;网络协议知识点;部分fl…

2026/10/10 5:44:39 阅读更多 →
项目成本管理实战:从估算到挣值管理的全流程解析

项目成本管理实战:从估算到挣值管理的全流程解析

1. 先搞清楚:项目成本管理到底在管什么很多人一听到"项目成本管理",第一反应就是"省钱"。特别是当它作为教材里的第11章出现时,很容易被理解成一套记账、算账、省钱的流程。但实际上,项目成本管理的核心不是&…

2026/10/10 5:43:39 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

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/8 15:26:32 阅读更多 →
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/10 1:36:08 阅读更多 →
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/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 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/10 5:23:50 阅读更多 →
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/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练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/9 6:17:20 阅读更多 →