中国象棋实时对战系统:用 Webman + GatewayWorker + Phaser 搭一个攻擂台
一个业余项目怎么从零搭出"擂主 + 挑战者 + AI 替补"的实时对战。后端 PHP Webman 扛 WebSocket,前端 Vue3 + Phaser 画棋盘,棋局权威逻辑和 AI 全部收口在后端一个文件里。
一个业余项目怎么从零搭出"擂主 + 挑战者 + AI 替补"的实时对战。后端 PHP Webman 扛 WebSocket,前端 Vue3 + Phaser 画棋盘,棋局权威逻辑和 AI 全部收口在后端一个文件里。
一次上传自动产出十个变体的矩阵式图片压缩工具,全程跑在浏览器里零上传。从 jsquash 到 Squoosh 编码器再到手写 Rust 量化器——三代演进、PNG 签名缺失之坑、zopfli 的速度陷阱与 SIMD 探测回退的完整复盘。
通勤族想边走边听博客?用 Edge-TTS 给 Next.js + Gin 技术栈的博客加上文章朗读。一个 20 行的 Python 微服务,三次排坑(时钟 DRM、长文合成失败、静音段落),零成本跑通文本转语音全链路。
我给博客 AI 助手建了一套 20 题金标准评测集。第一次跑分 12/20——每一个丢分的题目背后,都藏着一个真实缺陷:知识盲区、未查先拒、门控误伤、中文匹配漏配。这是一份带完整解题过程的错题本。
AI 助手能答对文章里的技术题,却不认识博主自己的象棋项目。从这次失败出发,补齐多轮记忆、反馈闭环、失败可恢复与可见化交互——记录一个 RAG Demo 跨过"最后一公里"的四段工程。
博客 AI 助手的第二次进化:把固定检索流水线升级为 ReAct 工具编排循环。五个只读工具的提示词工程、伪流式与 tool_calls 的工程取舍、防死循环保险丝,以及为什么用 200 行 Go 手写而不上 LangChain。
在 1.7G 内存的服务器上落地博客 AI 问答助手:为什么不用向量数据库、为什么 Go 写 RAG 完全可行、SSE 被 BFF 攒成一坨的伪流式排查;以及上线首日的检索进化——混合召回、时间纠偏、阈值截断与拒答联动。
博客第四轮改造实录:Three.js 粒子 Hero 上线后自己却看不见——一个坐标系错误引发的排查;reduced-motion 的正确语义;404 页藏进 Phaser 小游戏;以及差点复发裸域事故的部署双源陷阱。
博客第三轮迭代复盘:把 ?page=N 改成 /page/N 救回 ISR、设计 IP 去重的匿名点赞、CSS counter 实现代码行号、JSON-LD 富摘要,以及双域证书、裸域 301 归一化和加密异地备份的完整收录基建。
分类/标签页集体 500 的 DYNAMIC_SERVER_USAGE 根因与两次误诊、自托管统计从 umami 到 Fathom Lite 的三次换型、tracker.js 不自动上报的三连坑、nginx 缓存旧容器 IP 导致请求错位——十项功能批量改造的完整复盘。