NEON NOMAD / TECH NOTES

NNNNzsAI、编程、运维与开发工具实践

NNNNzs 的个人技术博客,记录 AI 应用、编程开发、Next.js、DevOps 与自托管实践,分享真实项目中的问题排查、工具链和技术思考。

Reading Archive

最近文章

在温暖的书房里,整理技术、工具、运维、AI 与生活里的长期思考。

  • 给 OpenViking 做个免费模型聚合入口,小米兜底

    给 OpenViking 做个免费模型聚合入口,小米兜底

    OpenViking 只有 vlm 一个模型配置,没法区分不同任务的模型。用 New-API 模型映射把多个免费渠道捏成一个 openviking 单入口,靠渠道优先级让免费渠道优先、小米 mimo-v2.5 兜底。

    32
  • 记一次 CentOS 7 无法使用新版 VS Code Remote-SSH 的处理方法

    记一次 CentOS 7 无法使用新版 VS Code Remote-SSH 的处理方法

    整理 CentOS 7 上新版 VS Code Remote-SSH 因 glibc 版本不满足要求而无法连接的问题,并记录 vscode-server-centos7 的使用方式、版本匹配和风险边界。

    300
  • 三种 LLM 接口协议:Chat Completions、Messages、Responses

    三种 LLM 接口协议:Chat Completions、Messages、Responses

    市场上并存着 Chat Completions、Anthropic Messages API 以及 Responses API 三种主流的 LLM 接口格式。Chat Completions 作为事实标准简单通用,Messages API 为 Claude 深度优化,而 Responses API 则通过类型化的 Item 模型和服务端状态管理,更贴合 Agent 工作流对多工具调用与编排的需求。

    351
  • 用 Cloudflare Worker + R2 搭 Docker Hub 镜像加速站

    用 Cloudflare Worker + R2 搭 Docker Hub 镜像加速站

    在VPC部署博客时,Docker镜像拉取出现EOF错误导致部署失败,作者尝试公共镜像站后,发现自己的Cloudflare Worker代理也因Docker Hub限流失效。通过分析,发现Docker mirror协议不代理认证请求,因此认证无效,最终集成Cloudflare R2缓存层成功构建私有镜像加速站,实现稳定拉取并配置了自动清理。

    200
  • 一次 Next.js Docker 镜像体积与文章预生成取舍的实测

    一次 Next.js Docker 镜像体积与文章预生成取舍的实测

    针对Next.js生产镜像优化,通过修复.dockerignore排除开发文件并改进Dockerfile.prod的权限处理,将镜像体积从852MB降至551MB,同时保留文章详情页预生成以确保源站响应稳定。

    80
  • 把博客缓存刷新收回到一条链路里:Next.js、源站预热和腾讯云 CDN

    把博客缓存刷新收回到一条链路里:Next.js、源站预热和腾讯云 CDN

    本文记录了博客 CDN 刷新逻辑从部署后执行,改造为在文章发布与修改时精确管理多层缓存的过程。针对腾讯云 CDN 与 Next.js 缓存导致的页面过时问题,通过引入 CacheImpactPlan 与预热验证机制,实现了按变更内容精准失效与刷新,并详细说明了新的部署链路与排查方法。

    200
  • 给内部系统的 Nginx 再加一道门:Basic Auth 配置记录

    给内部系统的 Nginx 再加一道门:Basic Auth 配置记录

    为防止内部系统在公网暴露页面信息和技术栈,在Nginx配置中启用HTTP Basic Authentication作为前置认证。未通过Basic Auth的请求被拦截,无法获取应用内容。这层认证作为入口门禁,与应用自身登录互补,但需配合HTTPS以确保安全,适合作为外层防御措施。

    220
  • 从 /xhs-style-guide 消失说起:MCP Prompts、Resources 与 Tools 的边界

    从 /xhs-style-guide 消失说起:MCP Prompts、Resources 与 Tools 的边界

    一次 MyBlog MCP 联调复盘:为什么 Claude Code 能用斜线命令调用 Prompt,而 Codex、WorkBuddy 看起来只会使用工具和资源;以及我对“把 Prompt 包装成 Tool”这一方案的修正。

    370
  • Git Submodule 不好用:用 GitHub Actions 同步管理多个 Skills 仓库

    Git Submodule 不好用:用 GitHub Actions 同步管理多个 Skills 仓库

    记录如何用 GitHub Actions 自动同步独立的 Skills 仓库到汇总仓库,解决 Git Submodule 在 npx skills add 场景下的痛点。

    240
  • 记一次:Blender GLB 加载成功,博客首页却坏了一半

    记一次:Blender GLB 加载成功,博客首页却坏了一半

    把程序化 Three.js 房间替换成 Blender GLB 后,模型能显示,屏幕内容、热点、镜头和家具交互却集体消失。记录我如何用节点契约、运行时绑定和完整 UV 平面把它们重新接回来。

    260