家庭服务器首选:Mac mini 跑 OpenClaw + 私有云 + 导航页,把 endpoint 改到 TaoToken
1. Mac mini 家庭服务器跑 OpenClaw 时模型通道怎么统一把 Mac mini 放在电视柜旁边当家庭服务器这件事我折腾了挺久。它功耗低、噪音小、macOS 又是 Unix 底子跑 Docker 容器几乎不用额外适配。但真正让我卡住的不是 OpenClaw 本身能不能起来而是它默认那套模型调用通道——要么指向本地 llama 权重要么指向某个需要额外网络条件的地址在家里这种多设备、多服务共存的网络里维护成本很高。OpenClaw 是一个开源的 AI 对话服务你可以把它理解成「自己家里的一台 ChatGPT 前端 后端」它对外暴露 HTTP 接口内部负责会话管理、上下文拼接、模型路由。适合谁适合想把 AI 对话能力私有化、又不想每台设备都装客户端的人。Mac mini 上跑它手机、平板、笔记本都能通过局域网访问同一个入口。问题出在模型这一层。OpenClaw 的配置文件里有一个AI_MODEL_PATH和AI_MODEL_TYPE默认走本地推理。本地推理在 Mac mini 上不是不能跑但 M 系列芯片跑 7B 以上的模型内存和散热压力都不小而且每次换模型都要重新拉权重。更现实的做法是把 OpenClaw 的模型 endpoint 指向一个统一的 API 网关让模型调用这件事从「本地资源问题」变成「网络配置问题」。这就是把 endpoint 改到 TaoToken 的动机。TaoToken 提供统一的模型调用入口OpenClaw 只需要把 base URL 和 Key 填对剩下的模型切换、额度管理都在网关侧完成。Mac mini 本身只负责跑服务、存数据、做反向代理不承担推理负载。这样一来家庭服务器上同时跑 OpenClaw、Nextcloud 私有云、Homarr 导航页资源占用就变得可控。我试过在 Mac mini 上直接跑本地模型风扇转起来之后客厅能听到明显噪音后来改成网关调用整机负载降了一大截。下面这套配置就是围绕「endpoint 统一到 TaoToken」这个核心来展开的OpenClaw 的容器编排、私有云、导航页都会给到可复制的片段。2. TaoToken 前置准备与 Mac mini 环境搭建在动 OpenClaw 的配置之前先把 Mac mini 的基础环境和 TaoToken 的接入信息准备好。这一步不做扎实后面容器起来了也会在模型调用上反复报错。2.1 Mac mini 系统与 Docker 准备Mac mini 建议用 macOS 13 以上Docker Desktop 对 Apple Silicon 的支持已经比较稳定。先装 Homebrew再装 Docker# 安装 Homebrew /bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) # 把 Homebrew 加进 PATH echo eval $(/opt/homebrew/bin/brew shellenv) ~/.zprofile eval $(/opt/homebrew/bin/brew shellenv) # 安装 Docker Desktop brew install --cask docker # 启动 Docker open /Applications/Docker.app # 验证 docker --version docker compose versionDocker Desktop 第一次启动会要权限按提示给就行。验证通过后创建一个统一的工作目录后面所有服务都放在这个目录下方便备份和迁移mkdir -p ~/home-server/{openclaw,nextcloud,homarr,portainer,nginx} mkdir -p ~/home-server/data/{openclaw,nextcloud,homarr,portainer,nginx} cd ~/home-server # 创建共享网络所有容器都接进来 docker network create home-server-net这个home-server-net很关键。OpenClaw、Nextcloud、Homarr 之间要通过容器名互相访问比如 Nginx 反代到http://openclaw:8080就必须在同一个自定义网络里。默认的 bridge 网络不支持容器名 DNS 解析所以这一步不能省。2.2 TaoToken 接入信息获取TaoToken 的接入需要三样东西Base URL、API Key、Model ID。Base URL 用https://taotoken.net/api这是 API 调用的根地址注意不要带 UTM 参数那是给网页访问用的。API Key 在控制台里创建创建后只显示一次记得先复制到安全的地方。控制台地址在这里https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsoleAPI Key 管理页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keysModel ID 取决于你想用哪个模型在模型列表里能看到。OpenClaw 的配置里会有一个AI_MODEL字段填的就是这个 ID。如果你不确定选哪个可以先在模型对话页面试一下https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentchat拿到这三样之后先别急着写进 OpenClaw用 curl 验证一下通道是否通curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer 你的API_KEY \ -H Content-Type: application/json \ -d { model: 你的Model_ID, messages: [{role: user, content: ping}] }如果返回里有choices字段说明通道没问题。如果返回 401检查 Key 有没有复制完整如果返回local proxy failed那是本机网络层的问题不是 TaoToken 侧的问题后面排障章节会细说。2.3 OpenClaw 的 endpoint 配置思路OpenClaw 的模型配置集中在.env文件里。原版模板里是AI_MODEL_PATH和AI_MODEL_TYPE我们要做的是把这两项替换成网关调用所需的AI_BASE_URL、AI_API_KEY、AI_MODEL。不同版本的 OpenClaw 字段名可能略有差异但核心逻辑一致告诉它「不要找本地权重去这个 URL 拿结果」。这里有个容易踩的坑OpenClaw 的容器里读的是/app/.env而我们在宿主机上编辑的是~/home-server/openclaw/.env通过 volume 挂载进去。挂载路径写错的话容器里读到的还是默认配置endpoint 根本没改。所以下面 docker-compose 里的 volume 映射要仔细核对。3. 可复制的 OpenClaw TaoToken 配置片段这一节给的是可以直接复制粘贴的配置。路径和原文保持一致你按自己的目录结构调整。3.1 OpenClaw 的 docker-compose.ymlversion: 3 services: openclaw: image: openclaw/openclaw:latest container_name: openclaw restart: always ports: - 8080:8080 volumes: - ~/home-server/data/openclaw:/data - ~/home-server/openclaw/.env:/app/.env environment: - DB_HOSTpostgres - REDIS_HOSTredis depends_on: - postgres - redis networks: - home-server-net postgres: image: postgres:14 container_name: openclaw-postgres restart: always volumes: - ~/home-server/data/openclaw/postgres:/var/lib/postgresql/data environment: - POSTGRES_DBopenclaw - POSTGRES_USERopenclaw - POSTGRES_PASSWORDopenclaw123 networks: - home-server-net redis: image: redis:7-alpine container_name: openclaw-redis restart: always volumes: - ~/home-server/data/openclaw/redis:/data networks: - home-server-net networks: home-server-net: external: true注意networks用的是external: true因为网络已经在 2.1 里手动创建过了。如果你让 compose 自己创建容器名解析可能对不上。3.2 .env 里的 endpoint 改写这是整篇文章最核心的一段。把原来的本地模型配置替换成 TaoToken 网关配置# OpenClaw 基础配置 OPENCLAW_PORT8080 OPENCLAW_HOST0.0.0.0 # 数据库配置 DB_HOSTpostgres DB_PORT5432 DB_NAMEopenclaw DB_USERopenclaw DB_PASSWORDopenclaw123 # Redis 配置 REDIS_HOSTredis REDIS_PORT6379 REDIS_PASSWORD # 数据存储 DATA_PATH/data # 模型调用通道指向 TaoToken AI_BASE_URLhttps://taotoken.net/api AI_API_KEYsk-你的TaoToken密钥 AI_MODEL你的Model_ID AI_API_TYPEopenai # 日志 LOG_LEVELinfo LOG_PATH/var/log/openclaw三个字段的含义AI_BASE_URL是网关根地址OpenClaw 会在后面拼/v1/chat/completionsAI_API_KEY是鉴权头AI_MODEL是模型 ID。AI_API_TYPEopenai表示用 OpenAI 兼容协议TaoToken 的接口是兼容的所以这个值不用改。如果你用的是 Claude Code 或者 Codex 这类工具配置逻辑类似但字段名不同。Claude Code 的配置在~/.claude/settings.jsonCodex 在~/.codex/auth.json核心都是 Base URL Key Model ID 三件套。OpenClaw 这里用的是.env别搞混。3.3 启动与配置校验cd ~/home-server/openclaw docker compose up -d docker compose ps docker compose logs -f openclaw日志里如果出现AI provider initialized: https://taotoken.net/api说明 endpoint 已经读进去了。如果还是显示local model path那就是.env没挂载成功回去检查 volume 路径。4. 验证请求与私有云、导航页的访问效果配置写完不算完得实际发一个请求确认模型通道真的通了。4.1 通过 OpenClaw 接口验证OpenClaw 起来之后它自己的 API 会暴露在 8080 端口。先看健康检查curl -s http://localhost:8080/api/health返回{status:ok}就说明服务本身没问题。然后发一条对话请求走 OpenClaw 内部逻辑最终打到 TaoTokencurl -X POST http://localhost:8080/api/chat \ -H Content-Type: application/json \ -d { message: 用一句话说明家庭服务器的作用, session_id: test-001 }如果返回内容里包含模型生成的文本说明 OpenClaw → TaoToken → 模型 这条链路是通的。这一步能过后面私有云和导航页就只是常规的容器编排问题了。4.2 Nextcloud 私有云部署Nextcloud 的 compose 文件version: 3 services: nextcloud: image: nextcloud:latest container_name: nextcloud restart: always ports: - 8081:80 volumes: - ~/home-server/data/nextcloud:/var/www/html environment: - MYSQL_HOSTnextcloud-db - MYSQL_DATABASEnextcloud - MYSQL_USERnextcloud - MYSQL_PASSWORDnextcloud123 depends_on: - nextcloud-db networks: - home-server-net nextcloud-db: image: mariadb:latest container_name: nextcloud-db restart: always volumes: - ~/home-server/data/nextcloud/db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORDroot123 - MYSQL_DATABASEnextcloud - MYSQL_USERnextcloud - MYSQL_PASSWORDnextcloud123 networks: - home-server-net networks: home-server-net: external: true启动后访问http://localhost:8081创建管理员账户数据库填nextcloud-db用户nextcloud密码nextcloud123。装完之后局域网内其他设备用http://Mac mini的IP:8081就能访问私有云。4.3 Homarr 导航页部署version: 3 services: homarr: image: ghcr.io/homarr-labs/homarr:latest container_name: homarr restart: always ports: - 8082:7575 volumes: - ~/home-server/data/homarr/configs:/app/data/configs - ~/home-server/data/homarr/icons:/app/public/icons environment: - TZAsia/Shanghai networks: - home-server-net networks: home-server-net: external: true访问http://localhost:8082创建管理员后把 OpenClawhttp://Mac的IP:8080、Nextcloudhttp://Mac的IP:8081加进去。这样家里任何设备打开导航页就能一键跳到各个服务。4.4 Nginx 反向代理统一入口如果不想记端口可以用 Nginx 做域名反代。核心配置片段server { listen 80; server_name openclaw.local; location / { proxy_pass http://openclaw:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 80; server_name nextcloud.local; location / { proxy_pass http://nextcloud:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }然后在路由器或 Mac mini 的/etc/hosts里加解析sudo vim /etc/hosts # 添加 192.168.1.100 openclaw.local 192.168.1.100 nextcloud.local 192.168.1.100 homarr.local把192.168.1.100换成你 Mac mini 的实际局域网 IP。这样在浏览器里输入openclaw.local就能直接访问不用记端口。5. 本篇常见报错排查配置过程中最容易卡在几个固定位置这里按真实报错来对照。5.1 401 Unauthorized{error:{message:Invalid API key,type:invalid_request_error}}这个报错说明 TaoToken 侧没认出来你的 Key。检查三件事Key 有没有复制完整前后不能有空格、.env里AI_API_KEY有没有写错字段名、容器有没有重新加载配置。改完.env后必须docker compose down docker compose up -d光restart不会重新读挂载文件。5.2 local proxy failedError: local proxy failed: dial tcp 127.0.0.1:7890: connect: connection refused这个报错不是 TaoToken 的问题是容器里残留了本机代理配置。OpenClaw 镜像里如果带了HTTP_PROXY环境变量或者宿主机 Docker 配置了代理容器会尝试走一个不存在的本地端口。解决办法是在 compose 里显式清掉environment: - HTTP_PROXY - HTTPS_PROXY - NO_PROXYtaotoken.net,localhost,127.0.0.1注意NO_PROXY里要把taotoken.net加进去确保 API 请求不走代理。5.3 reading choices 字段为空KeyError: choices这个报错通常出现在 OpenClaw 解析响应的时候。原因可能是AI_BASE_URL写成了https://taotoken.net/api/v1而 OpenClaw 自己又拼了一次/v1/chat/completions变成/api/v1/v1/chat/completions路径错了。正确写法是AI_BASE_URLhttps://taotoken.net/api不要带/v1。5.4 OAuth 相关报错如果你用的是 Claude Code 或 Codex 这类带 OAuth 的工具可能会看到OAuth token expired, please re-authenticate这类工具不走 API Key走的是 OAuth 流程。如果你要把它们也接到 TaoToken需要看对应工具的文档配置方式不一样。OpenClaw 用的是 API Key 模式不涉及 OAuth所以本篇不展开。Claude Code 的接入文档在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc5.5 容器名解析失败nginx: host not found in upstream openclaw这是网络没接对。检查所有 compose 文件里的networks是不是都写了home-server-net并且external: true。如果某个服务漏了它就不在同一个 DNS 域里Nginx 找不到openclaw这个主机名。5.6 端口冲突Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in useMac mini 上如果之前跑过别的服务占了 8080换一个端口就行。改 compose 里的ports映射比如18080:8080然后访问http://localhost:18080。注意容器内部端口不用改只改宿主机映射。6. 长期运行与 Coding Plan 的衔接家庭服务器跑起来之后真正考验的是长期稳定性。Mac mini 的散热比笔记本好但连续跑容器几个月还是要注意几件事。第一是磁盘。Nextcloud 存照片、OpenClaw 存会话记录数据目录会慢慢涨。建议每周看一眼df -h超过 80% 就清理一下 Docker 的悬空镜像docker system prune -f第二是日志。OpenClaw 的日志默认写到容器里时间长了会占空间。可以在 compose 里加日志轮转logging: driver: json-file options: max-size: 10m max-file: 3第三是模型通道的额度。如果你把 OpenClaw 开放给家里人用调用量会上去。TaoToken 的控制台里能看到用量建议设一个提醒。如果后面要跑更重的编码任务或者 Agent 流程可以看一下 Coding Plan它针对长期编码场景做了额度优化https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-plan我自己是把 OpenClaw 当家庭 AI 入口日常问答走它写代码的时候单独用 Claude Code 接同一个网关。两边的 Key 可以分开管理互不影响。Mac mini 这边只要保证 Docker 和网络稳定剩下的就是偶尔docker compose pull更新一下镜像。最后给一个实用技巧把~/home-server整个目录用 Time Machine 或者 rsync 定期备份到外接硬盘。配置文件和数据库都在里面哪天 Mac mini 系统出问题恢复起来就是复制目录 docker compose up -d的事。导航页里可以加一个「服务状态」卡片指向 Portainer 的http://Mac的IP:9000一眼看到所有容器是不是绿的。

相关新闻

FastAPI + litellm 统一代理大模型 API:优雅实现成本监控与 Fallback 策略|TaoToken 统一 Key 通道实践

FastAPI + litellm 统一代理大模型 API:优雅实现成本监控与 Fallback 策略|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 2:55:28 阅读更多 →
2026 开放智能体技能规范 (Open Agent Skills):让 AI 插件零配置跨端漫游

2026 开放智能体技能规范 (Open Agent Skills):让 AI 插件零配置跨端漫游

/* 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 2:55:28 阅读更多 →
测试文章标题01:把 Cursor Base URL 改到 TaoToken 的完整配置与验证

测试文章标题01:把 Cursor Base URL 改到 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/11 3:28:10 阅读更多 →

最新新闻

MySQL 64学时教学大纲拆解:从E-R图到PetStore建库全链路

MySQL 64学时教学大纲拆解:从E-R图到PetStore建库全链路

/* 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 2:55:40 阅读更多 →
MySQL与PostgreSQL整数类型选型:从INT到BIGINT的避坑指南

MySQL与PostgreSQL整数类型选型:从INT到BIGINT的避坑指南

搞数据库的人,十有八九都遇到过这种场景:建表时图省事顺手写了个INT,看着挺正常,结果业务量上来之后,主键突然撞到天花板,或者磁盘空间莫名暴涨。选整数类型这件事,在 MySQL 和 PostgreSQL 里看…

2026/10/12 2:55:40 阅读更多 →
互联网医院+居家养老:医养协同闭环如何落地

互联网医院+居家养老:医养协同闭环如何落地

晚上九点多,同事给我打电话,说她父亲在老家测出血压180/110,人有点晕。她自己在外地出差,隔着几百公里,语音那头全是慌张。这种场景,做互联网医院和居家养老医养结合项目之前,基本只能干着急&am…

2026/10/12 2:55:40 阅读更多 →
消息队列如何保证数据不丢失?生产、存储、消费三端全解析

消息队列如何保证数据不丢失?生产、存储、消费三端全解析

面试题这东西,十有八九是套路,但“消息队列如何保证数据不丢失”是我见过最容易“背了配置但答不出本质”的一道。很多人上来就背:Kafka 开 acksall、副本设 3、消费者别自动提交,听起来很全,但面试官只要换个问法——…

2026/10/12 2:55:40 阅读更多 →
Git常用命令实战:从核心设计逻辑到高频操作指南

Git常用命令实战:从核心设计逻辑到高频操作指南

每个写代码的人,早晚都要面对版本管理这件事。刚开始我不太在意,直到有一次熬夜改了三天代码,因为一次误操作把整个项目覆盖,才真正体会到版本管理的分量。后来把Git当成每日必用工具,才发现真正高频的“常用命令”就二…

2026/10/12 2:55:40 阅读更多 →
PLC程序质量四层评估模型:从能运行到可维护可演进

PLC程序质量四层评估模型:从能运行到可维护可演进

/* 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 2:54:40 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →