CRI-O 项目开发者实战指南:仓库结构、构建测试与调试排障全解析
云原生容器运行时【免费下载链接】cri-oOpen Container Initiative-based implementation of Kubernetes Container Runtime Interface项目地址https://gitcode.com/gh_mirrors/cr/cri-o点击查看免费下载导读本文以 CRI-O 仓库根目录的 AGENTS.md面向 AI Agent 与开发者的项目上下文说明为核心骨架结合仓库内真实源码、Makefile、配置模板与测试脚本系统梳理 CRI-O 的仓库结构、构建与测试体系、配置与调试手段、开发工作流以及架构设计。读完本文你将能快速看懂 CRI-O 的代码组织方式掌握从make构建、Ginkgo/BATS 测试到crio命令行调试的完整技能并在参与贡献时避开常见坑。一、项目概览CRI-O 是什么、做什么、不做什么CRI-O 是基于 Open Container InitiativeOCI规范的 Kubernetes Container Runtime InterfaceCRI实现专为 Kubernetes 设计定位是轻量、生产可用的容器运行时。关键事实维度内容主语言Go具体版本要求见 go.mod当前要求go 1.27.1许可证Apache 2.0发布周期跟随 Kubernetes 发布节奏遵循 n-2 版本偏移version skew策略主分支main当前版本见 internal/version/version.go当前为1.38.0支持版本见 dependencies.yaml 与 internal/version/version.go当前支持的次要版本为1.37 / 1.36 / 1.35 / 1.34值得注意的一点是internal/version/version.go中的Version特意声明为var而非const其注释明确指出这是为了让下游构建可以在链接期通过-ldflags -X注入版本号而无需改动源码internal/version/version.go#L23-L26。Makefile中对应的BASE_LDFLAGS也确实通过-X ${PROJECT}/internal/version.buildDate...与-X ...buildCommit...注入构建信息Makefile#L101-L105。项目范围CRI-O 的职责边界在 cmd/crio/main.go 顶部的usage常量中有清晰描述✅ 基于 OCI 运行时实现 Kubernetes CRI✅ 管理容器镜像与存储✅ 处理容器生命周期与网络✅ 提供 Kubernetes 所需的监控与日志❌不负责构建、签名或推送镜像❌不提供面向最终用户的稳定 CLI 工具其 CLI 面向运维调试而非普通用户日常使用这一边界决定了 CRI-O 的代码天然以对接 kubelet 的 CRI gRPC 服务为核心从源码结构看server/目录CRI gRPC server 实现与internal/目录内部包正是围绕这一边界组织的。二、仓库结构地图一眼定位每个模块AGENTS.md 给出了仓库的顶层结构与实际目录一一对应/cmd/crio/ - 主守护进程入口 /internal/ - 内部包约 28 个包 ├── config/ - 配置seccomp、nri、apparmor、rdt 等 ├── lib/ - 核心容器/sandbox 管理 ├── oci/ - OCI 运行时接口 ├── storage/ - 镜像与存储层 └── ... - 完整列表见 internal/ 目录 /pkg/ - 公共 API 包annotations、config、types /server/ - CRI gRPC server 实现 /test/ - 集成测试BATS 框架 /docs/ - 文档与 man page /hack/ - 构建与开发脚本 /contrib/ - systemd 单元、CNI 配置、metrics exporter /pinns/ - Pin namespace 工具C 程序关键文件go.mod — Go 版本与依赖声明Makefile — 构建系统可运行make help查看全部目标dependencies.yaml —关键所有工具的版本追踪清单internal/version/version.go — 版本常量与构建信息其中dependencies.yaml是 CRI-O 用 zeitgeist 工具做版本一致性校验的清单里面同时追踪 Go 版本、开发版本1.38.0、受支持版本、golangci-lint、shellcheck、cni-plugins、conmon、cri-tools、buildah、crun 等一组工具链的版本并在refPaths中指明这些版本需要与哪些文件保持一致例如internal/version/version.go中的Version与ReleaseMinorVersions。三、构建系统从零编译 CRI-O基本构建命令# 构建用 openpgp tag 规避 pkg-config 依赖 make BUILDTAGScontainers_image_openpgp containers_image_ostree_stub \ all test-binariesMakefile 关键目标AGENTS.md 强调用make help查看完整列表核心目标如下均在 Makefile 中有对应实现目标作用Makefile 位置make/make all构建二进制、crio.conf 与文档Makefile#L112make testunit运行单元测试GinkgoMakefile#L365make localintegration运行本地集成测试BATSMakefile#L383make lint运行 golangci-lintPR 前必跑Makefile#L325make prettier/make verify-prettier格式化/校验 Markdown、YAML、JSONPR 前必跑Makefile#L408、Makefile#L581make verify-mdtoc校验 Markdown 文件目录TOCMakefile#L403make mockgen重新生成 mockMakefile#L451make verify-dependencies校验 dependencies.yaml 一致性Makefile#L387构建变量BUILDTAGS— 构建标签默认值containers_image_ostree_stub等Makefile#L20DEBUG1— 开启调试符号Makefile#L84-L86PREFIX— 安装前缀默认/usr/localMakefile#L13提示BUILDTAGScontainers_image_openpgp containers_image_ostree_stub是规避本机缺少 pkg-config 依赖的标准做法详见后文常见坑一节。四、测试体系Ginkgo 单元测试与 BATS 集成测试单元测试Ginkgo文件形态*_test.go使用 Ginkgo 框架运行方式make testunit覆盖率输出build/coverage/从源码看仓库几乎每个功能目录都配套了suite_test.go与对应测试文件例如 internal/config/seccomp/seccomp_test.go、internal/version/version_test.go 等可见功能即测试是项目的一贯要求。集成测试BATS文件形态test/*.bats运行方式sudo make localintegration # 全部集成测试 sudo -E ./test/test_runner.sh version.bats # 运行单个测试文件 sudo -E ./test/test_runner.sh ctr.bats -f pattern # 按 pattern 过滤test/test_runner.sh 中可以看到测试运行器的关键细节默认并发数JOBS为 CPU 核数两倍、失败重试BATS_TEST_RETRIES1并支持通过TEST_USERNS1环境变量开启用户命名空间测试此时会设置CONTAINER_UID_MAPPINGS0:100000:100000等映射。Mocks生成方式make mockgen存放位置test/mocks/*/注意mock 文件是提交进 git 的改接口后需要重新生成并一并提交从目录结构看test/mocks/下已有 cmdrunner、config、containers、oci、ocicni、systemd 等一组 mock 包覆盖了守护进程的关键依赖面。五、配置体系crio.conf、drop-in 与验证命令配置文件与默认路径AGENTS.md 给出的配置路径与源码定义一致内容路径主配置文件/etc/crio/crio.confdrop-in 配置目录/etc/crio/crio.conf.d/*.conf容器库相关/etc/containers/{registries.conf,policy.json,storage.conf}运行 Socket/var/run/crio/crio.sock存储目录/var/lib/containers/storageCNI 配置目录/etc/cni/net.d/OCI hooks 目录/usr/share/containers/oci/hooks.d这些常量定义在 pkg/config/config_unix.go如CrioConfigPath /etc/crio/crio.conf、CrioSocketPath /var/run/crio/crio.sockFreeBSD 与 Windows 平台则分别在 pkg/config/config_freebsd.go 与 pkg/config/config_windows.go 中给出平台化路径。drop-in 覆盖机制配置支持 drop-in 目录叠加--config-dir指定的目录会被递归遍历并按处理顺序逐个应用文件名序号越小优先级越低如00-default低于01-my-overwrite主配置文件优先级低于 drop-in而命令行参数优先级最高。这一机制在 internal/criocli/criocli.go#L77-L105 的mergeConfigFiles中实现先加载--config指定的文件再递归应用--config-dir下的所有文件最后在mergeConfig里用各 CLI flag 覆盖配置项。生成与验证配置./bin/crio config [--validate]crio config命令会输出一份带注释的完整配置模板可保存后通过--config复用--default标志则输出不考虑当前配置的纯默认值。注意该命令内部始终会调用conf.Validate()做校验internal/criocli/config.go#L41-L44。AGENTS.md 中的[--validate]对应的是守护进程启动时对配置的运行时校验见 cmd/crio/main.go#L315 的config.Validate(true)。六、开发工作流Git、模板与文档规范Git 工作流铁律所有提交必须带-ssigned-off-by保证 DCO 合规git commit -s简单功能/修复优先单提交用 amend 代替新提交git commit --amend -s复杂功能可用多个逻辑提交以利于评审amend 后必须强制推送git push --force-with-leaseamend 时更新提交信息以反映所有变更保持文档、提交信息、PR 描述同步除非被要求不要在提交信息中关联 issue/PR也不要在 GitHub 上评论模板与文档issue 必须使用模板.github/ISSUE_TEMPLATE/bug-report、failing-test、org_member、reviewerPR 必须使用模板.github/PULL_REQUEST_TEMPLATE.md/kind标签、what/why、fixes、release notes文档与代码保持同步编辑.md源文件而非生成产物文档风格重 why 轻 what兼顾清晰与简洁变更工具版本时必须更新dependencies.yaml并用make verify-dependencies校验新功能开发清单Adding a Feature判断是否需要 Kubernetes KEP创建 issue使用模板实现 配套测试单元 集成更新文档/man page若涉及工具版本变更则更新dependencies.yaml运行 lintmake lint make prettier make verify-mdtoc使用 PR 模板标明/kind、what/why、fixes、release notes代码演进过程中保持提交信息与 PR 描述同步七、调试与运维日志、CLI、信号与 HTTP API日志级别在配置中设置log_level debug可用级别按从低到高为fatal、panic、error、warn、info、debug、trace。CLI 也支持--log-level默认info、--log-formattext/json与--log-filter正则过滤例如request.\*可过滤所有 gRPC 请求定义见 internal/criocli/criocli.go#L814-L831。CLI 子命令crio [config|status info|status containers|version|wipe|check]各子命令在internal/criocli/下均有实现并在 cmd/crio/main.go#L182-L190 注册到 CLIconfig— 输出带注释的配置模板internal/criocli/config.gostatus— 显示守护进程状态含info、containers、config、goroutines、heap等子命令internal/criocli/status.goversion— 输出版本信息--verbose可打印全部 Go 依赖internal/criocli/version.gowipe— 清空容器与镜像存储--force跳过版本检查强制清空internal/criocli/wipe.gocheck— 检查存储目录完整性支持--quick仅快速检查、--repair修复损坏的容器/镜像/层、--force删除损坏容器、--wipe修复失败时清空存储目录等标志internal/criocli/check.go信号处理AGENTS.md 列出的信号行为在 cmd/crio/main.go#L53-L123 的catchShutdown中有精确实现信号行为SIGINT / SIGTERM优雅停机停止 gRPC server、HTTP server、streaming server 与各 monitorSIGUSR1将 goroutine 堆栈写入临时文件crio-goroutine-stacks-timestamp.logSIGUSR2触发runtime.GC()SIGPIPE忽略continueSIGHUP重载 hooks另外 contrib/systemd/crio.service 的 unit 文件显示服务类型为Typenotify守护进程启动完成后通知 systemdExecReload/bin/kill -s HUP $MAINPID与上面的 SIGHUP 行为对应并设置了WatchdogSec60s看门狗。HTTP 扩展接口守护进程通过 cmux 在同一 unix socket 上复用 gRPC 与 HTTP 流量HTTP 端点在 server/inspect.go#L139-L147 定义curl --unix-socket /var/run/crio/crio.sock \ http://localhost/{info,config,containers/:id}其中/info返回 JSON 形式运行信息/config返回 TOML 形式当前配置/containers/:id返回容器详情另有/pause、/unpause、/debug/goroutines、/debug/heap等调试端点server/inspect.go#L150-L189 展示了路由注册与实现。对应的端到端验证见 server/inspect_ginkgo_test.go。八、架构与生命周期守护进程从启动到关停启动生命周期AGENTS.md 概括的启动流程在 cmd/crio/main.go 的app.Action中完整可见解析配置 → 创建 unix socket权限 0660见 cmd/crio/main.go#L349-L356→ 初始化 OpenTelemetry tracingEnableTracing时→ 启动 gRPC HTTP 服务器通过 cmux 按 content-type 分流cmd/crio/main.go#L465-L469→ 注册 CRI Runtime/Image 服务v1.RegisterRuntimeServiceServer/v1.RegisterImageServiceServer→ 写入版本文件info.WriteVersionFile分别写入 tmpfs 版与持久版→ 对存储执行垃圾回收 → 启动退出监控StartExitMonitor与 hooks 监控 → 通知 systemd → 正式服务 → 收到信号后优雅关停。版本文件与镜像清理wipe机制守护进程启动时会把版本信息写入两个文件cmd/crio/main.go#L387-L396VersionFile位于 tmpfs如/var/run/crio/version用于检测节点是否重启VersionFilePersist持久目录用于检测 CRI-O 是否升级internal/version/version.go中的ShouldCrioWipe读取旧版本文件并与当前版本比较只要 major 或 minor 不一致就返回应执行 wipeinternal/version/version.go#L54-L90crio wipe子命令正是基于这一判断internal/criocli/wipe.go#L42-L50。此外守护进程还会在CleanShutdownFile目录下写入.supported标记文件供crio-wipe.service见 contrib/systemd/crio-wipe.service判断干净关机是否受支持从而决定是否需要在异常关机后清理存储。技术栈AGENTS.md 列出的技术栈在 go.mod 的依赖声明中得到印证OCI 运行时runc / crun / kata运行时 handler 机制支持多运行时容器库containers/storage、containers/image网络CNIcontainernetworking/plugins v1.9.1监控进程conmon / conmon-rs通信gRPC / HTTP / D-Bus内部还有 D-Bus 管理见 internal/dbusmgr/可观测性OpenTelemetry开发模式约定AGENTS.md 强调的代码风格在源码中处处可见接口驱动的设计 依赖注入context.Context全链路传播错误用fmt.Errorf配合%w包装日志用 logrus 结构化字段logrus.WithFields注释侧重解释 why 而非 what文件命名也有固定模式*_{linux,freebsd}.go表示平台差异实现、*_test.go为单元测试、*.bats为集成测试、*.md为文档/man page。以 internal/config/apparmor/ 为例同时存在apparmor_linux.go与apparmor_unsupported.go正是平台相关代码的典型拆分。九、常见坑开发者的避坑清单坑解法缺少 pkg-config使用BUILDTAGScontainers_image_openpgp containers_image_ostree_stub测试路径写错使用相对路径如version.bats不要写test/version.bats集成测试权限不足必须用sudo -E ./test/test_runner.sh运行提交未签名始终git commit -s改了 man page 生成文件应编辑.md源文件而不是生成产物改了依赖版本未校验更新后运行make verify-dependenciesCI lint 失败push 前先跑make lint make prettier make verify-mdtoc十、CI/CD 与版本资源CI/CDGitHub Actions工作流定义在.github/workflows/如verify.yml中即引用了GOLANGCI_LINT_VERSIONOpenShift CIProw项目主 CI 平台预提交presubmits与周期任务periodics的作业定义分别位于 OpenShift release 仓库的ci-operator/jobs/cri-o/cri-o/cri-o-cri-o-main-presubmits.yaml与...-periodics.yaml资源导航AGENTS.md 指向的仓库内文档路径已统一换算为仓库根相对路径安装指南install.md使用教程tutorial.mdCRI 边界情况对镜像处理尤为重要cri.md贡献指南CONTRIBUTING.md治理说明GOVERNANCE.md路线图roadmap.mdman pagedocs/crio.8.md、docs/crio.conf.5.md、docs/crio.conf.d.5.md十一、给 AI Agent 与贡献者的 16 条备忘录AGENTS.md 最后以Special Notes for AI Assistants收尾提炼出开发者尤其是 AI 编码助手必须遵守的核心约束可归纳如下绝不以非-s方式提交简单变更优先单提交、用 amend复杂功能可用多逻辑提交amend 后必须git push --force-with-lease保持文档、提交信息、PR 描述三者同步amend 时提交信息必须覆盖所有变更创建 issue 必须用.github/ISSUE_TEMPLATE/模板创建 PR 必须用.github/PULL_REQUEST_TEMPLATE.md模板变更工具版本必更新dependencies.yaml版本更新后运行make verify-dependenciesman page 只编辑.md源文件不编辑生成产物构建标签至关重要用containers_image_openpgp规避 pkg-config集成测试必须走sudo -E ./test/test_runner.shpush 前必跑make lint make prettier make verify-mdtoc当前版本请查dependencies.yaml不要依赖本文或过时文件对版本有疑问时查源码go.mod、Makefile、dependencies.yaml不过度文档化——保持文档、注释与描述清晰且简洁。结语AGENTS.md 本质上是一份面向开发者的项目使用与贡献手册本文以它为骨架逐节对接了仓库中对应的源码、构建目标、测试脚本与配置模板把每一条规则落到可验证的实现细节上。无论你是人类开发者还是 AI Agent下一次面对 CRI-O 时都可以按本文的路径快速定位模块、跑通构建测试、理解配置与调试手段并在提交代码时遵循 DCO 与 lint 规范减少来回返工。赞分享云原生容器运行时【免费下载链接】cri-oOpen Container Initiative-based implementation of Kubernetes Container Runtime Interface项目地址https://gitcode.com/gh_mirrors/cr/cri-o点击查看免费下载相关推荐Knip 开发指南解读从仓库结构、CLI 调试到测试与构建的完整实践Knip 开发指南解读从仓库结构、CLI 调试到测试与构建的完整实践 Knip 是一款用于在 JavaScript 和 TypeScript 项目中查找并修复代码质量静态分析CLIHFS 仓库开发指南深度解读项目结构、构建测试与协作规范实战HFS 仓库开发指南深度解读项目结构、构建测试与协作规范实战 HFSHTTP File Server是一个基于 Node.js/TypeScript 的后端Cortex 仓库开发指南构建、测试、架构约定与 CI 排障基于 AGENTS.mdCortex 仓库开发指南构建、测试、架构约定与 CI 排障基于 AGENTS.md 本文围绕 Cortex 仓库根目录的 AGENTS.md https可观测性时序数据库后端指标监控上一篇XUnity.AutoTranslator架构深度解析Unity游戏实时翻译引擎的实现原理与优化策略下一篇实战指南高效实现Unity游戏多语言实时翻译的智能方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

maturin 平台支持全景:操作系统、CPU 架构、Python 解释器与 manylinux/musllinux 兼容性指南

maturin 平台支持全景:操作系统、CPU 架构、Python 解释器与 manylinux/musllinux 兼容性指南

开发工具构建工具 【免费下载链接】maturin Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages 项目地址: https://gitcode.com/gh_mirrors/ma/maturin 点击查看 免费下载 maturin 是一个用于构建和发布…

2026/10/12 2:01:06 阅读更多 →
drawio-mcp Mermaid 生成指南:28 种图类型语法、ELK 布局与样式实战

drawio-mcp Mermaid 生成指南:28 种图类型语法、ELK 布局与样式实战

AI 应用MCP 服务交互助手 【免费下载链接】drawio-mcp 项目地址: https://gitcode.com/gh_mirrors/dr/drawio-mcp 点击查看 免费下载 本篇指南以 drawio-mcp 仓库中面向 LLM 的 shared/mermaid-reference.md 为骨架,系统讲解在 draw.io 中生成可正确渲染…

2026/10/12 2:01:06 阅读更多 →
蓝鲸 CMDB 批量创建 Workload 接口(batch_create_kube_workload)实战指南

蓝鲸 CMDB 批量创建 Workload 接口(batch_create_kube_workload)实战指南

后端企业应用运维 【免费下载链接】bk-cmdb 蓝鲸智云配置平台(BlueKing CMDB) 项目地址: https://gitcode.com/gh_mirrors/bk/bk-cmdb 点击查看 免费下载 本文围绕蓝鲸智云配置平台(BlueKing CMDB)API Gateway 提供的 batch_create_kube_wor…

2026/10/12 2:01:06 阅读更多 →

最新新闻

OpenClaw 跨平台部署指南:Windows/macOS/Linux 环境搭建避坑全记录

OpenClaw 跨平台部署指南:Windows/macOS/Linux 环境搭建避坑全记录

如果你准备把 OpenClaw 真正用起来,第一道门槛往往不是模型接入,也不是技能配置,而是环境搭建。我见过太多人卡在“装好了但跑不动”“这台能跑换台就崩”的阶段,尤其是在 Windows、macOS、Linux 三套系统之间反复横跳的时候&…

2026/10/13 5:59:40 阅读更多 →
MOE框架详解与实现

MOE框架详解与实现

1. 简介 MoE 是一种将多个子模型(专家)结合的技术,用于提升大语言模型(LLMs)性能。它主要由稀疏 MoE 层和门控网络(路由)组成。稀疏 MoE 层替代传统 Transformer 中的前馈神经网络(FFN)层,包含多个独立的专家网络,每个专家都是一个 FFN。门控网络负责决定输入的 tok…

2026/10/13 5:59:40 阅读更多 →
支付宝模拟器 高仿支付宝 单机版APP 装逼神器

支付宝模拟器 高仿支付宝 单机版APP 装逼神器

这是用uni-app开发的一款单机版的高仿支付宝App这是一个高仿支付宝的单机版app,可以更换头像,用户名,账号,添加账单,设置余额,设置花呗等。 链接地址:项目地址点击这里 直接上截图

2026/10/13 5:59:40 阅读更多 →
贾子猜想(Kucius Conjecture):高维数论的宇宙密码与人类认知边界的探索

贾子猜想(Kucius Conjecture):高维数论的宇宙密码与人类认知边界的探索

贾子猜想(Kucius Conjecture)由鸽姆智库创始人Kucius Teng(贾子邓,读音gǔ zǐ)于2025年3月28日(黄帝4722年二月廿九日)提出,结合代数几何、模形式与量子计算,探讨其与宇…

2026/10/13 5:59:40 阅读更多 →
蓝鲸配置平台 bk-cmdb 开放接口实战:批量更新进程实例(update_process_instance)

蓝鲸配置平台 bk-cmdb 开放接口实战:批量更新进程实例(update_process_instance)

后端企业应用运维 【免费下载链接】bk-cmdb 蓝鲸智云配置平台(BlueKing CMDB) 项目地址: https://gitcode.com/gh_mirrors/bk/bk-cmdb 点击查看 免费下载 本篇文章以 update_process_instance.md(中文版见 update_process_instance.md)为骨架…

2026/10/13 5:59:40 阅读更多 →
MIPI D-PHY物理层调试:从CTS FAIL定位信号完整性根因

MIPI D-PHY物理层调试:从CTS FAIL定位信号完整性根因

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

2026/10/13 5:58:39 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →