全部文章 共 42 篇
记一次:阿里云 ESA 偷偷给我的博客注入监测脚本
前阵子把博客挂上了阿里云 ESA,顺手用 kuma 每分钟 ping 一次首页当心跳。今天翻监控数据,发现首页响应体积老在两个值之间跳,一会儿 21K 一会儿 28K。好奇心上来了,抓两份下来解压一比——好家伙,大的那份多了行我从没写过的东西:<script src="https://xxxxx.m
GitHub仓库发布——ZCode 会话管理器(Python CLI 版)
仓库地址:SinonJZH/zsm-for-python(当前版本 V1.0.1,MIT 协议)。 上一篇《GitHub仓库发布——增强版Qdrant MCP服务器》的结尾说,给知识库补上“改得动、删得掉”的句柄,这件事算是了了。结果话音落下没多久,我发现另一个只进不出的角落——而且这次里面装的东西
GitHub仓库发布——增强版Qdrant MCP服务器
仓库地址:SinonJZH/mcp-server-qdrant(当前版本 0.9.0,Apache 2.0) 前情提要:《给 AI 一份外置记忆:我的个人知识库部署全记录》——我的个人知识库搭建记 一、上回说到 之前写过一篇讲 AI 外部记忆库的文章:用 Qdrant 存记忆,官方的 mcp-ser
搬完家,一周装修完:博客新前台开发全记录
上一篇《把博客搬成纯静态》的结尾,我给主题重写留了一句「那会是另一个系列」。结果它没成系列——成了一次冲刺。九月二十三日迁移收官那天,新前台还只是个能跑的最简骨架:四十四个路由全部预渲染,全站却只有一套临时样式。到今天写下这些字,暗色主题、独立首页、路由体系、文章目录、图片灯箱、边缘加速、追番列表、
从 charabia 到 ICU:我的静态博客搜索里,两本词典打了一架
静态站没后端,全文搜索交给 Pagefind 在访客的浏览器里跑。上线第二天我用真实词一搜,复合词全军覆没,单字却条条命中。这篇记录了从复现到修复的全过程——根因是索引侧和查询侧各带一本中文词典、切法还不一样;修法是把索引侧对齐到浏览器这本,而查询侧连一点插手的余地都没有。 搜索是前一天刚上线的。静
我的透明 WebM,被 ffmpeg 冤枉了
用 ffmpeg 把绿幕素材抠成透明 WebM,ffprobe 一扫:pix_fmt=yuv420p,看上去透明通道没了。排查了一整晚:滤镜链、编码器、容器结构挨个过了一遍,中途一度「确认」文件缺失关键信号,还专门写了个二进制修补器去补。最后发现这根本不是一桩罪案:文件从头到尾清清白白,「没有透明」
从 zone.js 到 signal:把异步请求写成响应式
这篇写给两类人:刚接触 Angular、想搞明白 signal 到底是什么的新人;以及在 zone.js 时代的 Angular(v13~v16 之类)里写了多年 @Input + ngOnChanges + subscribe 赋值,最近升级发现世界变了的老兵。文章从「一个会撒谎的计数器」讲起,一
给 AI 一份外置记忆:我的个人知识库部署全记录
AI 编码助手什么都好,就是记性差:每次新会话都是一张白纸,上个月踩过的坑,这个月能原样再踩一遍。最近我把一套个人知识库跑顺了——Qdrant 负责存和搜,一个开源 MCP 服务器把它封装成 AI 助手随叫随到的检索工具,日常的定稿决策、踩坑结论、可复用配置都以「条目」为单位沉淀进去,随用随查。整套
把博客搬成纯静态:一次 WordPress → Halo 迁移的全记录
这个九月,我把跑了七年的 WordPress 博客整个搬了家:写作后台换成 Halo,前台重写成 Angular 静态站点,访客看到的每一个字节都来自 nginx 直出的静态文件——全站唯一还连着后端的,只剩评论区。这篇文章记录整个迁移的架构、流程和踩过的坑。坑的密度超出我的预期,其中最大的一个悬案
杀戮尖塔 2 效果实现教程 —— 卡牌 / 遗物 / 药水 / Power 怎么写
打个广告:我给《杀戮尖塔2》开发的《星塔旅人》mod《杀戮星塔》正在锐意开发(咕咕)中,欢迎来围观!仓库地址:Github:SinonJZH/slay-the-stella 写在前面:这是我和 AI 斗智斗勇了 6 个小时后弄出来的教程。 这份教程讲什么:只讲一件事——效果代码怎么写。从"造成 6