用 Go 重构 Markdown 加载:从 Nuxt Content 到独立数据 API
记录如何把博客 Markdown 内容加载从 Nuxt Content 中拆出,用 Go 实现独立数据 API:动机、双语内存存储与语言回退、内容上线路径、实测数据、适用边界(何时该上数据库)与已知约束(完整代码见仓库)。
Nuxt SSR 内存泄漏排查实录:一台 2G 服务器被拖垮的完整复盘
从云厂商磁盘告警与 SSH 卡死出发,逐层深入 Swap、容器、Node 进程,最终定位到 Nuxt.js SSR 模块级全局状态导致的服务端内存泄漏,并给出修复与验证。
记忆:多会话与轻量 RAG
给 Agent 补上两类记忆:跨会话键值事实(remember/recall,落盘 JSON)与对本地笔记的轻量 RAG(embed → 余弦 → topK),并用本机实测讲清阈值与 embedding 前缀这两个常被误传的细节(为什么固定阈值会形同虚设)。
服务与迁移:把 Agent 变成流式 API,可切云端
把 Agent 循环变成常驻 HTTP 服务:SSE 逐 token 推送与多轮事件流,同一套代码只改环境变量即可从本地 Ollama 切到 OpenAI 兼容云端。
循环:让 Agent 自己决定调几次工具
把单轮调用升级为循环:多工具注册、一轮多个并行 tool_calls、工具报错回喂、历史裁剪——让 Agent 自己决定调几次工具。
最小代码:单工具一轮调用的完整闭环
用约 200 行 Go(仅标准库)跑通“模型点名 → Go 执行 → 结果回传 → 模型作答”的最小工具调用闭环,并讲清 Ollama /v1“近似兼容”的三条铁律。
环境与运维:A770 上装好并长期跑稳 Ollama
在 Intel Arc A770 上把 Ollama 装好并长期跑稳:镜像安装、Vulkan 点亮 GPU、模型选型、实测性能,以及上线前必读的长期运维手册(监控、环境变量、排查顺序)。
测试全绿,组件却坏了——jsdom 看不到的视觉与无障碍盲区
单测 497 个全绿,Tooltip 悬停却看不见、Select 的屏幕阅读器读不到当前选项。复盘两次排查:jsdom 不渲染视觉、也测不到无障碍规范,这些盲区要靠 e2e 的计算样式验证、像素快照与规范核对来补。附可复现的最小示例。
GORM 工程化实战(二):可靠性与生产化
系列第 7 篇(收尾):统一错误中间件与 ok/fail(slog、超时 504)、排序白名单、文件头嗅探与 Uploader 抽象、连接池;末尾附系列承诺兑现映射表。
GORM 工程化实战(一):分层、注入与可测性
系列第 6 篇:把直连 db.DB 的五篇代码重构为 Repository / Service / Handler 三层(internal/ + 构造注入),fake repository + httptest 表驱动测试,并用泛型 GetPaginated[T](选读)收拢分页样板。