记一次把两个 Agent 页面的流式展示统一了,顺带挖出一个隐形 bug
把 /chat 和 /create 两个 Agent 页面的流式展示统一时,发现工具调用被思考盖住、草稿回填事件名对不上等一堆问题,最终把流式协议下沉成共享层的故事
Neon Nomad Navigating Night Zones. 记录技术、工具、运维、AI 与生活里的长期思考。
在温暖的书房里,整理技术、工具、运维、AI 与生活里的长期思考。
把 /chat 和 /create 两个 Agent 页面的流式展示统一时,发现工具调用被思考盖住、草稿回填事件名对不上等一堆问题,最终把流式协议下沉成共享层的故事
从 content_templates 表迁移到独立的 AI Template 系统,支持版本管理、@ 引用和 LangChain mustache 变量
用 Claude Code 做中枢,MyBlog MCP 做能力层,Skills 封装可复用工作流,把博客到小红书的图文生成、TTS 旁白、封面渲染串成一条自动化管线。
对博客项目做了一次 Prisma 6→7 的升级评估,整理了所有 breaking changes、改动量和风险点,顺便记录了完整的升级步骤。
GitHub Actions 部署时服务器拉取自己推到 Docker Hub 的镜像失败,排查后发现镜像代理只代理白名单公开镜像,私有镜像得走 HTTP 代理。
给博客加了部署后自动刷新CDN缓存的能力,支持按变更范围精准刷新
基于之前的 OpenAI API 原生实现,用 LangChain 的 ChatPromptTemplate、bindTools 原生 function calling、LangGraph StateGraph + interrupt human-in-the-loop 重写机票预订对话系统,对比两种方案的差异和优缺点
为AI Agent配置SQLite FTS5邮件全文搜索索引的完整方案,包括技术选型、数据库设计、增量更新和性能优化。
记录一次本机 nginx 代理局域网后端返回 502 的完整排查过程,最终通过域名 Host 方式绕过 macOS NECP 对裸 IP 连接的拦截。
详细记录 MacBook Pro 2019 (Intel UHD 630 + AMD Radeon Pro 5300M) 双显卡机型 WebGL 性能异常的完整排查过程。从最初怀疑博客 Three.js 代码问题,到逐一排除显卡切换、热降频、外接显示器、系统版本等变量,最终通过 `--force-high-performance-gpu` 启动参数找到根因,FPS 从 13 直接飙到 60。这是一份 Intel Mac 双显卡调度问题的实战诊断手册。