如何给你的博客加上 llms.txt
给这个 Astro 博客接入 llms.txt 和 llms-full.txt 的完整过程:用 content collection 在构建时生成索引文件,以及中文站在 Cloudflare 上一定会踩的 charset 乱码坑。
给这个 Astro 博客接入 llms.txt 和 llms-full.txt 的完整过程:用 content collection 在构建时生成索引文件,以及中文站在 Cloudflare 上一定会踩的 charset 乱码坑。
本地 next dev 启动后风扇狂转、CPU 长期高占用,但页面其实正常。本文记录完整的排查路径:用 macOS 自带的 sample 抓一份 CPU profile,先从「在睡觉的线程」里分出真正烧 CPU 的,再靠 Sort by top of stack 聚合表反推出「密集文件 I/O + 锁竞争」,层层下钻到 .next/dev/cache/turbopack 里 GB 级的 LSM SST 文件,最终定位到 Next.js 16 默认开启的 Turbopack 持久缓存在后台空转做 compaction。附止血与复发处理。
A2A(Agent2Agent)是 Google 去年放出、今年 3 月刚发布 1.0、现在挂在 Linux Foundation 名下的智能体互联协议。我平时泡在 MCP 那一套生态里,这篇把 A2A 的几个核心概念——Agent Card、Task、Message、Artifact——从头捋一遍,讲清它和 MCP 的分工,最后以一个独立开发者的角度说说:它现在值不值得碰。
MCP 被叫做「AI 应用的 USB-C」,但这个比喻没说清它到底是什么。这篇从「为什么需要它」讲起,拆开它底下的 JSON-RPC 消息、Host/Client/Server 三层架构、初始化握手,以及 Tools/Resources/Prompts 三类原语分别由谁来控制——最后附我自己接 MCP 服务器时保留的几点判断。
记录我给博客加上 YouTube 和 Bilibili 视频嵌入的过程,写一个小插件,让我以后写文章只需要粘 URL。
记录给这个 Astro 博客接入动态 OG 图片生成的过程,以及在 Cloudflare Workers 环境下踩的那些坑。
记录从零开始用 Astro + Cloudflare Workers 搭建个人博客的过程,以及选择这个方案背后的考量。
整理我在实际用 Docker 时遇到的三类问题:容器时区和宿主机不一致、用 --cap-add 精细控制容器权限而不是无脑 --privileged,以及从 Docker Desktop 换到 OrbStack 后的 malware 警告清理。
记录 Go 构建约束的两种方式:文件名后缀和 build tag,以及新旧语法的区别。
在 PVE 上跑多台虚拟机,DHCP 地址一变就要重新查 IP,太烦。用 mDNS 配好主机名后直接用 hostname.local 访问,一劳永逸。本文讲清 mDNS 原理、完整配置步骤,以及 Debian 12 和 Ubuntu 24 默认状态的差异。
用旧笔记本当 PVE 家庭服务器时绕不开的几个配置:关掉合盖自动休眠、让屏幕超时自动熄屏省电,以及把一块 NTFS 数据盘配置成开机自动挂载。
记录把 silk-v3-decoder 编译成静态库,再通过 Rust FFI 调用的完整过程。
记录在 VPS 上搭建 ZeroTier Moon 节点的完整步骤,解决国内直连 ZeroTier 官方节点延迟高的问题。
记录在 iStoreOS 上安装 passwall2、解决 OpenClash + SmartDNS DNS 污染问题、以及 OpenVPN + OpenClash 同时跑时的分流配置。
从零搭建 pyright LSP 服务端,再接上 Monaco Editor,实现浏览器里的 Python 代码补全和类型检查。附踩坑记录。
整理三个用 Node.js 时经常碰到、查一次又容易忘的问题:corepack enable pnpm 后报 keyid 错误怎么修、package.json 里 ^ 和 ~ 到底差在哪、以及在原生 ESM 项目里直接运行 .ts 文件的几种方式。
记录在 Tauri 2.0 中使用 dialog 插件打开文件选择框,以及用 convertFileSrc 播放本地 mp3 文件的方法。
内核模块是什么、为什么需要它,以及编写、编译、加载、卸载一个 Hello World 内核模块的完整步骤,逐行解释代码、Makefile 和相关命令。
介绍 JIT 编译原理、LuaJIT 的工作方式、NYI 问题,以及有无 JIT 的性能对比测试。
介绍 Rust 所有权机制的核心概念:作用域、move、clone、copy,以及引用和借用规则。
以一个 hello world 程序为例,拆解 C 代码从源文件到可执行二进制经历的四个阶段——预处理、编译、汇编、链接,每一步都用 gcc 命令单独跑出来看中间产物。
介绍 OpenResty 的处理阶段、各阶段对应的 Lua 指令,以及一个完整的 demo 验证执行顺序。
用 manim 实现冒泡排序的可视化动画,记录元素初始化、交换动画的实现过程。
记录如何从 Root 的安卓手机里提取微信数据库,解密 EnMicroMsg.db,解析聊天记录、图片、语音等媒体文件的存储结构。
介绍 Redis 的 RESP 协议,包括五种数据类型的格式、发送命令的方式、Pipeline 机制,以及用 Go 手写 Redis 客户端。
深入介绍 MySQL 客户端-服务端通信协议,包括握手包、能力标志、HandshakeResponse、响应包格式、结果集解析,以及用 Go 手写 MySQL 客户端的完整实现。
记录如何用 GitHub Actions 自动化交叉编译树莓派内核,并将编译结果上传到 Release。
从「为什么需要 OAuth」讲起,逐一说明 OAuth2.0 的四种主要授权类型各自适用什么场景,以及 JWT 令牌的三段结构、签名验证原理和使用时的注意事项。