从零部署本地AI代码助手:CodeX开源模型与VibeCoding实践指南
在实际项目开发中我们常常需要借助AI来辅助代码生成、解释或重构。然而依赖云端API不仅涉及费用、网络延迟还可能存在数据安全和隐私顾虑。将AI模型部署在本地实现一个完全自主可控的代码助手是许多开发者和团队的理想选择。CodeX作为一个备受关注的开源项目提供了将大型语言模型LLM本地化的能力而VibeCoding则代表了在这种环境下流畅、沉浸式的编码体验。本文旨在为开发者提供一份从零开始的、详尽的CodeX开源模型本地部署指南。无论你是想深入了解大模型本地化技术还是希望搭建一个私有的、离线的代码辅助工具都可以跟随本文的步骤在个人电脑或服务器上完成部署并初步体验VibeCoding的工作流。我们将涵盖环境准备、依赖安装、模型获取、服务启动、客户端配置以及常见问题排查的全过程确保每一步都有明确的操作、解释和验证方法。1. 理解CodeX与本地部署的核心价值在开始动手之前有必要厘清几个核心概念这有助于理解我们正在构建什么以及为什么要选择这条路径。1.1 CodeX是什么它不是什么首先需要明确这里提到的“CodeX”通常不是指OpenAI那个已不再公开服务的Codex模型。在当前的社区语境和热搜词中“CodeX”更可能指的是一个开源的工具、框架或项目其核心目标是简化大型语言模型LLM的本地部署与应用。它可能是一个模型服务封装、一个带有Web界面的管理工具或者是一个客户端SDK。它的价值在于模型无关性可能支持对接多种开源LLM后端如Llama、Qwen、DeepSeek等而非绑定某个特定模型。部署简化将复杂的模型加载、推理服务化、API暴露等过程封装起来提供一键或简单命令即可启动的服务。生态集成可能提供IDE插件、CLI工具或API方便与开发工作流即VibeCoding集成。因此本文的“CodeX”是一个部署和集成框架的代称。具体的实现项目可能需要根据其官方文档来确定例如它可能是text-generation-webui、ollama、vLLM或某个特定名称为“CodeX”的项目。下文将基于通用本地部署逻辑进行阐述你需要根据选择的实际工具调整具体命令。1.2 为什么选择本地部署相比于直接调用云端AI服务的API本地部署有以下几个显著优势数据隐私与安全所有代码、提示词和模型生成的上下文都留在本地无需上传至第三方服务器适合处理敏感或私有项目。零网络依赖与低延迟断网环境下仍可使用模型推理在本地进行响应速度通常更快且不受网络波动影响。零持续使用成本除了一次性的硬件投入和电费没有按Token或调用次数计费的压力可以无限次使用。可定制化可以对模型进行微调Fine-tuning或针对特定编程语言、代码库进行优化打造专属的代码助手。当然本地部署也对硬件主要是GPU内存和显存提出了要求并且需要一定的运维知识。1.3 什么是VibeCoding“VibeCoding”并非一个官方技术术语而是一种流行于开发者社区的表述。它描述的是一种沉浸式、流畅的编码状态在这种状态下开发者与代码辅助工具如本地部署的AI深度协作工具能够无缝理解上下文、快速生成符合意图的代码块、解释复杂逻辑或重构代码从而极大提升开发效率和心流体验。实现VibeCoding的关键就是一个响应迅速、理解准确、且深度集成到IDE中的本地AI助手。2. 部署环境准备与规划本地部署的成功与否硬件和基础软件环境是关键。这一步需要仔细检查和准备。2.1 硬件要求评估本地运行LLM对硬件尤其是GPU有较高要求。以下是不同规模模型的大致硬件需求参考模型参数量级最低GPU显存要求推荐配置适用场景7B (70亿) 参数8 GBNVIDIA RTX 3060 12G / RTX 4060 Ti 16G个人学习小型代码生成与补全13B (130亿) 参数16 GBNVIDIA RTX 4080 16G / RTX 4090 24G个人开发较好的代码理解和生成能力34B (340亿) 参数32 GBNVIDIA RTX 3090 24G / RTX 4090 24G (需量化)团队或复杂项目更强的逻辑和上下文处理70B (700亿) 参数64 GB多张高端GPU或专业卡如A100企业级应用接近顶尖商用模型的能力关键说明量化技术是核心通过量化如GGUF格式、GPTQ、AWQ可以在几乎不损失太多精度的情况下大幅降低模型对显存的需求。例如一个70B的模型经过4-bit量化后可能只需要20-30GB显存。社区流行的llama.cpp项目就主要使用GGUF格式。纯CPU运行如果没有合适GPU也可以使用CPU和内存运行但速度会慢很多。需要确保有足够大的系统内存RAM通常需要模型大小的1.5-2倍。存储空间模型文件本身很大一个7B的GGUF模型可能约4-7GB一个70B的模型可能超过40GB。请预留充足的硬盘空间。2.2 软件与驱动环境准备操作系统LinuxUbuntu 20.04/22.04首选、WindowsWSL2推荐或 macOSApple Silicon芯片体验更佳。本文以Ubuntu为例其他系统原理相通。Python环境确保安装Python 3.10或3.11。推荐使用conda或venv创建独立的虚拟环境。# 安装python3-venv (Ubuntu) sudo apt update sudo apt install python3-pip python3-venv -y # 创建并激活虚拟环境 python3 -m venv codex-env source codex-env/bin/activateCUDA与cuDNN如果你使用NVIDIA GPU必须安装与你的GPU驱动匹配的CUDA Toolkit和cuDNN。这是GPU加速推理的基础。# 检查GPU和驱动 nvidia-smi # 根据nvidia-smi输出的CUDA Version去NVIDIA官网下载对应版本的CUDA Toolkit安装。Docker可选但推荐使用Docker可以避免复杂的依赖环境配置保证环境一致性。确保已安装Docker和NVIDIA Container Toolkit用于GPU透传。# 安装Docker sudo apt install docker.io -y sudo systemctl start docker sudo systemctl enable docker # 安装NVIDIA Container Toolkit distribution$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt update sudo apt install -y nvidia-docker2 sudo systemctl restart docker3. 选择与安装模型服务后端这是本地部署的核心。你需要选择一个具体的工具来加载和运行模型。这里介绍两个最流行的选择Ollama和text-generation-webui。3.1 方案一使用Ollama最简单Ollama极大地简化了本地大模型的下载、管理和运行。它内置了众多开源模型并提供了简单的API。安装Ollama# Linux/macOS curl -fsSL https://ollama.ai/install.sh | sh # Windows: 直接从官网下载安装程序。拉取并运行一个代码模型Ollama提供了很多针对代码优化的模型。# 拉取模型例如 DeepSeek-Coder 7B ollama pull deepseek-coder:6.7b # 运行模型服务 ollama run deepseek-coder:6.7b运行后它会在本地启动一个服务默认端口11434并提供一个交互式聊天界面。但我们的目标是通过API调用。以API服务模式运行# 让Ollama在后台以服务模式运行只提供API ollama serve # 或者启动时指定模型 OLLAMA_MODELS/path/to/models ollama serve Ollama的API兼容OpenAI格式这为后续集成带来了极大便利。3.2 方案二使用text-generation-webui功能强大text-generation-webui原名oobabooga是一个功能极其丰富的Web UI支持众多模型加载方式Transformers, llama.cpp, ExLlama等适合喜欢图形界面和深度定制的用户。克隆项目并安装git clone https://github.com/oobabooga/text-generation-webui cd text-generation-webui # 运行安装脚本Linux/macOS ./start_linux.sh --update # 或手动安装依赖 pip install -r requirements.txt下载模型文件你需要自行从Hugging Face等平台下载模型。例如下载CodeLlama的GGUF格式文件。# 进入模型目录 cd text-generation-webui/models # 使用huggingface-hub工具下载需先 pip install huggingface-hub huggingface-cli download TheBloke/CodeLlama-7B-GGUF codellama-7b.Q4_K_M.gguf --local-dir .启动Web UI并加载模型cd text-generation-webui python server.py --model codellama-7b.Q4_K_M.gguf --api --listen--model: 指定模型路径。--api: 启用API扩展必须。--listen: 允许网络访问如果你需要从其他机器连接。启动后访问http://localhost:7860可以看到Web界面。API地址通常是http://localhost:5000。3.3 方案对比与选型建议特性Ollamatext-generation-webui上手难度极低一键安装运行中等需要更多配置模型管理内置命令拉取即可需手动下载和管理模型文件API兼容性兼容OpenAI API提供自定义API也有OpenAI兼容扩展Web界面简单功能极其丰富聊天、参数调整、训练等可定制性较低非常高推荐人群新手追求快速启动进阶用户需要更多控制和功能对于只想快速体验VibeCoding的开发者推荐从Ollama开始。4. 配置客户端实现VibeCoding服务端跑起来后我们需要一个客户端来与之交互并将其集成到编码工作流中。这里以VS Code为例介绍两种主流方式。4.1 方式一使用兼容OpenAI的VS Code扩展许多VS Code的AI助手扩展如Genie AI、Continue、Twinny支持配置自定义的OpenAI兼容API端点。由于Ollama默认就兼容此格式集成非常简单。在VS Code中安装扩展例如搜索安装“Continue”。配置扩展。通常扩展会要求你提供一个config.json文件或在设置中填写API信息。API Base URL:http://localhost:11434/v1(Ollama默认)API Key: 可以留空或者任意填写如ollama。Model Name: 填写你拉取的模型名如deepseek-coder:6.7b。Continue扩展配置示例 (~/.continue/config.json):{ models: [ { title: Local DeepSeek Coder, provider: openai, model: deepseek-coder:6.7b, apiBase: http://localhost:11434/v1, apiKey: ollama } ] }配置完成后你就可以在VS Code中通过快捷键或右键菜单使用本地模型进行代码补全、解释、生成等操作实现VibeCoding。4.2 方式二使用专门的CodeX客户端或CLI如果部署的“CodeX”项目自带客户端例如从热搜词中看到的codex cli,codex desktop则需按其官方文档配置。假设客户端是一个命令行工具其配置可能是一个YAML文件# ~/.codex/config.yaml server: endpoint: http://localhost:8000 # 你的模型服务地址 api_key: your-api-key-if-any model: name: codellama-7b安装并配置客户端后你可以在终端直接与模型交互codex generate --prompt Write a Python function to calculate fibonacci sequence.4.3 验证连接与基础功能无论哪种方式配置后都需要验证。检查服务是否运行# 检查Ollama curl http://localhost:11434/api/tags # 应返回模型列表 # 检查text-generation-webui API curl http://localhost:5000/api/v1/models发送一个测试请求# 使用curl模拟OpenAI API调用 (针对Ollama) curl http://localhost:11434/v1/chat/completions \ -H Content-Type: application/json \ -d { model: deepseek-coder:6.7b, messages: [ {role: user, content: 用Python写一个快速排序函数并添加注释。} ], stream: false }如果收到包含代码的JSON响应说明整个链路已通。5. 深入配置与优化基础服务跑通后为了获得更好的VibeCoding体验还需要进行一些优化。5.1 模型参数调优在服务端启动时或通过API调用时可以调整关键参数以平衡速度和质量temperature(温度默认~0.8): 控制随机性。越低输出越确定、保守越高越有创造性。代码生成通常设低一些0.1-0.3。top_p(核采样默认~0.95): 与temperature类似控制候选词范围。max_tokens(最大生成长度): 根据你的需求设置生成长代码块时需要调高。stop(停止序列): 设置停止词例如[\n\n, ]防止模型一直生成下去。在Ollama中可以在ollama run时指定或通过Modelfile创建自定义模型配置。在text-generation-webui中可以通过Web界面或API参数轻松调整。5.2 系统性能优化GPU层拆分如果模型太大显存放不下可以设置将部分层卸载到CPU内存。在llama.cpp或相关工具中常用-ngl参数Number of GPU Layers。# 在text-generation-webui的启动命令中 python server.py --model mymodel.gguf --api --n-gpu-layers 40 # 表示前40层用GPU其余用CPU批处理与上下文长度增大批处理大小可以提高吞吐但需要更多显存。上下文长度-c决定了模型能“记住”多长的对话越长消耗资源越多需要根据硬件调整。5.3 安全与网络配置仅监听本地如果只在本地使用启动服务时不要加--listen或-host 0.0.0.0参数。使用API密钥如果服务需要对外暴露务必配置API密钥验证。例如在text-generation-webui中可以使用--api-key参数。防火墙确保服务器防火墙只开放必要的端口。6. 常见问题排查清单本地部署过程不会一帆风顺以下是按排查优先级排序的常见问题清单。问题现象可能原因检查与解决步骤服务启动失败提示CUDA错误1. CUDA未安装或版本不匹配。2. GPU驱动太旧。3. PyTorch等库安装的版本不支持当前CUDA。1. 运行nvidia-smi确认驱动和CUDA版本。2. 运行python -c import torch; print(torch.cuda.is_available())确认PyTorch能否识别GPU。3. 根据CUDA版本重新安装对应版本的PyTorchpip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118。模型加载时显存不足(OOM)1. 模型太大超过GPU显存。2. 未使用量化模型。1. 换用更小的模型如7B。2. 使用量化版本GGUF格式的Q4, Q5等。3. 增加--n-gpu-layers参数将更多层卸载到CPU。API调用返回404或连接拒绝1. 服务未成功启动。2. 端口被占用或错误。3. 客户端配置的地址/端口不对。1. 检查服务进程是否在运行ps aux模型生成速度极慢1. 完全运行在CPU上。2. 系统内存不足频繁交换。3. 模型参数如上下文长度设置过高。1. 确认模型是否部分或全部加载到了GPU查看服务启动日志。2. 使用htop或nvidia-smi监控资源使用情况。3. 尝试减小max_tokens和上下文长度。生成的代码质量差、胡言乱语1. 模型本身能力有限。2.temperature参数过高导致随机性太大。3. 提示词Prompt不够清晰。1. 尝试换用更强大的模型如DeepSeek-Coder, CodeLlama。2. 将temperature调低至0.1-0.3。3. 优化你的提示词明确指令、输入和输出格式。例如“你是一个资深Python程序员。请写一个函数输入是一个整数列表返回它们的和。只需输出代码不要解释。”VS Code扩展无法连接1. 扩展配置的API格式与服务器不兼容。2. 服务器启用了CORS限制。3. 网络代理干扰。1. 确认服务器是否提供了OpenAI兼容的API端点如/v1/chat/completions。Ollama默认支持text-generation-webui需启用--api和--extensions openai。2. 尝试在服务器启动命令中添加CORS参数如--cors。3. 检查VS Code或系统代理设置尝试关闭。7. 生产环境考量与最佳实践将本地CodeX用于个人项目和学习与用于团队生产环境要求截然不同。稳定性与可用性进程守护使用systemdLinux或进程管理工具如pm2来守护模型服务进程确保崩溃后能自动重启。健康检查为API端点添加健康检查路由如/health并配置监控告警。性能与扩展模型缓存如果频繁使用确保模型文件位于高速SSD上。API网关与负载均衡如果团队使用可以考虑在前端加一个API网关实现负载均衡、限流、鉴权。硬件升级考虑使用多GPU或专业计算卡来提升并发处理能力。安全网络隔离将模型服务部署在内网仅通过安全的内部网关暴露。API密钥认证强制所有请求必须携带有效的API Key。输入输出过滤对用户输入和模型输出进行基本的过滤和审查防止注入攻击或生成不当内容。模型更新与迭代版本管理对模型文件进行版本控制记录每个版本的表现。A/B测试当有新模型时可以并行部署旧版本进行小流量对比测试。反馈循环建立机制收集开发者对生成代码的反馈如“有用/无用”用于后续模型微调。完成以上所有步骤后你就拥有了一个完全在本地运行的、私有的AI代码助手。你可以随时在VS Code中向它提问让它生成代码片段、解释复杂逻辑、重构函数甚至编写测试用例真正进入一种高效、沉浸的VibeCoding状态。下一步你可以探索对特定代码库进行微调让助手更懂你的项目规范和业务逻辑或者尝试集成到CI/CD流程中进行自动化的代码审查。

相关新闻

2026年6款热门录屏软件深度对比:从OBS到Camtasia,如何选择最适合你的工具?

2026年6款热门录屏软件深度对比:从OBS到Camtasia,如何选择最适合你的工具?

这次我们来看一个录屏软件的选择问题。对于内容创作者、在线教育者、技术支持人员,甚至是普通用户,一个顺手、高效、功能对路的录屏工具至关重要。面对市面上琳琅满目的选择,从开源免费到专业付费,从轻量级到功能全家桶&#xff0…

2026/10/12 17:30:10 阅读更多 →
JavaWeb项目404问题排查与Maven配置指南

JavaWeb项目404问题排查与Maven配置指南

1. 项目概述:为什么你的JavaWeb项目总出404? 每次新建JavaWeb项目时,最让人抓狂的就是部署后浏览器里那个刺眼的404。明明代码没问题,路径也检查了无数遍,可Tomcat就是找不到你的页面。这种情况我见过太多——新手在搭…

2026/10/11 18:58:06 阅读更多 →
AI音乐生成实战:从LSTM到Transformer,手把手搭建智能作曲系统

AI音乐生成实战:从LSTM到Transformer,手把手搭建智能作曲系统

最近在音乐制作圈和AI技术圈,一个事件引发了不小的讨论:说唱歌手Fenix Flexin在单曲《Rubberz》的制作中,被质疑使用了AI技术,而他本人对此的态度从最初的否认转向了不再否认。这背后折射出的,是AI生成内容&#xff08…

2026/10/11 18:58:12 阅读更多 →

最新新闻

LLM Agent技能驱动架构:从裸提示词到稳定技能库的工程实践

LLM Agent技能驱动架构:从裸提示词到稳定技能库的工程实践

先说一个让我印象深刻的现场。我们内部有个客服Agent项目X,最初为了让机器人学会查订单、改地址、申请退款,把所有业务逻辑、话术模板、字段说明一股脑塞进了系统提示词里。上线第一周看起来还行,第二周就原形毕露:用户说“帮我看…

2026/10/13 15:40:38 阅读更多 →
049_特征描述符配置错误导致的兼容性问题

049_特征描述符配置错误导致的兼容性问题

049、特征描述符配置错误导致的兼容性问题 一个让人抓狂的现场故障 前年做一台多路数据采集设备,主控通过高速串行总线挂载了四路采集前端。硬件调试一切正常,枚举也能成功,但系统跑起来之后,偶尔会出现某一路数据错位&#xff0c…

2026/10/13 15:40:38 阅读更多 →
050_连接间隔与从机延迟组合对响应时延的影响

050_连接间隔与从机延迟组合对响应时延的影响

050、连接间隔与从机延迟组合对响应时延的影响 一个让我在客户现场熬到凌晨三点的参数组合 前年做一款低功耗无线外设,主控通过无线链路和上位机通信。功能验证阶段一切正常,实测响应时延在20ms以内,符合预期。到了客户现场部署,对…

2026/10/13 15:40:38 阅读更多 →
四则运算计算代码:从字符串到数值的完整实现与避坑指南

四则运算计算代码:从字符串到数值的完整实现与避坑指南

简介:这份资源提供了一套完整的数学公式四则运算计算代码,面向正在学习编译原理、表达式求值或需要自建计算引擎的开发者与计算机专业学生。代码覆盖加减乘除基础运算,并重点处理带括号表达式的优先级问题,通过递归调用或栈结构保…

2026/10/13 15:40:38 阅读更多 →
C# WinForm会员管理系统源码(含条形码扫码与报表导出)

C# WinForm会员管理系统源码(含条形码扫码与报表导出)

简介:这是一套基于C# WinForm开发的完整会员管理系统源码,面向.NET初学者与中小型商业应用开发者,解决实体门店会员信息管理、消费记录追踪及条形码快速识别等实际业务需求。资源包含222个文件,以107个C#核心逻辑文件(…

2026/10/13 15:40:38 阅读更多 →
JDK 27量子安全新特性:KEM与ML-DSA重塑Java公钥密码体系

JDK 27量子安全新特性:KEM与ML-DSA重塑Java公钥密码体系

最近技术社区里有一条消息热度很高——JDK 27 的首个新特性曝光,方向锁定在量子安全。我第一反应不是"又出个花活",而是打开手边的迁移清单看了一眼:RSA 证书、ECDSA 签名、TLS 握手、JAR 签名,凡是依赖公钥密码的地方&…

2026/10/13 15:39:37 阅读更多 →

日新闻

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

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

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

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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →