Zhimalab
All Posts
新购服务器后用 AI(Claude Code)把旧机服务原样复刻过去:certbot HTTPS、Go 单文件博客、反馈数据的逐字节迁移。全程只卡一次壳(云防火墙放行 443)。沉淀了勘查→复刻→对照源机验证的方法,以及四个「假 Bug」的判断经验。
用 AI 把服务器搬到新机器:一次 HTTPS、Go 服务、数据的逐字节复刻实录 中文
Loading content...
新购服务器后用 AI(Claude Code)把旧机服务原样复刻过去:certbot HTTPS、Go 单文件博客、反馈数据的逐字节迁移。全程只卡一次壳(云防火墙放行 443)。沉淀了勘查→复刻→对照源机验证的方法,以及四个「假 Bug」的判断经验。
Read Admin
453
4
3
Notes from reading Hedy Zhang's 10,000-word guide on delivering enterprise AI knowledge bases from 0 to 1: the real difficulty is never the model — it's documents, people, permissions, systems, scope, and acceptance. Includes an implementation checklist.
Enterprise AI Knowledge Bases: From "Demo-Ready" to "Delivery-Ready" — Notes on a 10,000-Word Guide
Loading content...
Notes from reading Hedy Zhang's 10,000-word guide on delivering enterprise AI knowledge bases from 0 to 1: the real difficulty is never the model — it's documents, people, permissions, systems, scope, and acceptance. Includes an implementation checklist.
Read 志码实验室
3215
2
5
把 Claude 里常用的两个 MCP(codebase-memory-mcp、codegraph)注册成豆包工作自定义连接器的完整过程:登录入口、STDIO 配置、保存重启与踩坑。
我是如何让豆包帮我配置豆包 MCP 的 中文
Loading content...
把 Claude 里常用的两个 MCP(codebase-memory-mcp、codegraph)注册成豆包工作自定义连接器的完整过程:登录入口、STDIO 配置、保存重启与踩坑。
Read Admin
760
24
14
给两个 AI 编程助手装了同一套 25 个 Ark CLI 技能后,顺藤摸瓜把它们的 Skill 与 MCP 加载机制对比了一遍:技能是惰性加载(目录常驻、正文按需读),MCP 是启动即连、工具定义常驻注入上下文(这就是'token 税'的来源)。用本机真实配置、会话日志和二进制字符串三层证据验证,并附上踩到的真实坑。
Codex 与 Claude Code:Skill 和 MCP 到底是怎么加载的? 中文
Loading content...
给两个 AI 编程助手装了同一套 25 个 Ark CLI 技能后,顺藤摸瓜把它们的 Skill 与 MCP 加载机制对比了一遍:技能是惰性加载(目录常驻、正文按需读),MCP 是启动即连、工具定义常驻注入上下文(这就是'token 税'的来源)。用本机真实配置、会话日志和二进制字符串三层证据验证,并附上踩到的真实坑。
Read Admin
3932
10
8
记录 Windows 下 bun 安装失败的完整排查过程:pnpm 全局 shim 失效导致"命令存在却跑不起来",官方安装器卡死,以及利用 bunx.exe 与 bun.exe 同源救回安装的整个过程。
10 分钟修好装不上的 Bun:一枚失效的 shim 与一次被救回的安装 中文
Loading content...
记录 Windows 下 bun 安装失败的完整排查过程:pnpm 全局 shim 失效导致"命令存在却跑不起来",官方安装器卡死,以及利用 bunx.exe 与 bun.exe 同源救回安装的整个过程。
Read Admin
2852
1
3
How indexing C:\codes\zhimalab with codebase-memory-mcp failed: a catch-all error swallowed the real cause, two red herrings (a broken cache tree and C:\tmp's DACL) led me astray, and a clean clone + file bisection finally pinned it to an 85-byte stray file named nul — a Windows reserved device name.
The 85-Byte `nul` File That Broke an Entire Codebase Index
Loading content...
How indexing C:\codes\zhimalab with codebase-memory-mcp failed: a catch-all error swallowed the real cause, two red herrings (a broken cache tree and C:\tmp's DACL) led me astray, and a clean clone + file bisection finally pinned it to an 85-byte stray file named nul — a Windows reserved device name.
Read Admin
4041
94
13
A minimal explainer of WebAssembly: what it is, the five fundamental problems it solves, and when not to use it. It is not about “JS being slow” — it is about the capability ceiling of the Web platform.
The Real Meaning of WASM: It’s Not Just Making JS Faster
Loading content...
A minimal explainer of WebAssembly: what it is, the five fundamental problems it solves, and when not to use it. It is not about “JS being slow” — it is about the capability ceiling of the Web platform.
Read Admin
3700
76
3
Using Zhimalab as an example, this breaks down a complete Astro i18n solution: /en-prefixed routing, layered i18n dictionaries, multilingual blogs and content collections, React islands and Phaser in-game copy, hreflang/SEO wrap-up, and a pitfall checklist.
Astro Static Site Internationalization Best Practices: A Complete Rollout from Single-language to Chinese-English
Loading content...
Using Zhimalab as an example, this breaks down a complete Astro i18n solution: /en-prefixed routing, layered i18n dictionaries, multilingual blogs and content collections, React islands and Phaser in-game copy, hreflang/SEO wrap-up, and a pitfall checklist.
Read Admin
2962
43
14
Building a self-hosted RAG knowledge base in Python on an Ubuntu server: LanceDB as the vector store, fastembed running the BGE Chinese embedding model locally, DeepSeek for generation, exposed via FastAPI. Includes 5 real pitfalls.
Giving Zhimalab a Knowledge Base: A LanceDB + DeepSeek Field Report
Loading content...
Building a self-hosted RAG knowledge base in Python on an Ubuntu server: LanceDB as the vector store, fastembed running the BGE Chinese embedding model locally, DeepSeek for generation, exposed via FastAPI. Includes 5 real pitfalls.
Read 志码实验室
1728
6
8
An online steel tongue drum simulator — tap the tongues and ring out ethereal sounds. Switch freely between 8/15 tongues, four visual themes, with recording and playback. Whatever you tap sounds good — kids and adults can both play.
Made a 'Ming Drum' for My Kid: No Music Theory Needed, Just Tap Out Ethereal Melodies
Loading content...
An online steel tongue drum simulator — tap the tongues and ring out ethereal sounds. Switch freely between 8/15 tongues, four visual themes, with recording and playback. Whatever you tap sounds good — kids and adults can both play.
Read 志码实验室
2146
36
4
Tap glowing bubbles to spell words — spell a noun correctly and the real object pops out! Today I spent 2 hours with AI building a little game for my child, and he couldn't stop playing. This proud dad is delighted.
Made a 'Bubble Words' Game for My Kid with AI in Two Hours
Loading content...
Tap glowing bubbles to spell words — spell a noun correctly and the real object pops out! Today I spent 2 hours with AI building a little game for my child, and he couldn't stop playing. This proud dad is delighted.
Read 志码实验室
4066
70
9
A complete account of upgrading this site from Astro 6.4 to Astro 7.1: strict Rust compiler validation, Vite 8/Rolldown config migration, the regression caused by JSX whitespace rules, and real numbers showing a 2.7x build speedup.
Astro 6 → 7 Upgrade in Practice: Rust Compiler + Rolldown Migration Gotchas
Loading content...
A complete account of upgrading this site from Astro 6.4 to Astro 7.1: strict Rust compiler validation, Vite 8/Rolldown config migration, the regression caused by JSX whitespace rules, and real numbers showing a 2.7x build speedup.
Read Admin
2118
77
10
A record of debugging the online freeze in the bubble-bliss game: from Playwright reproduction and algorithm simulation to pinpointing an infinite loop and memory blowup caused by 'merging while iterating', plus a two-phase fix.
The Bubble Game Freezes the More You Click? An Infinite Loop Hiding in a Collision Loop
Loading content...
A record of debugging the online freeze in the bubble-bliss game: from Playwright reproduction and algorithm simulation to pinpointing an infinite loop and memory blowup caused by 'merging while iterating', plus a two-phase fix.
Read Admin
2285
94
0
Starting from Model Context Protocol, a full inventory of the MCP servers running in my current dev environment — code knowledge graph, Godot engine, browser automation, local RAG, Node executor, chart and image processing — and how they combine into an AI coding workflow.
The MCP Family in My Dev Environment: A Full Overview
Loading content...
Starting from Model Context Protocol, a full inventory of the MCP servers running in my current dev environment — code knowledge graph, Godot engine, browser automation, local RAG, Node executor, chart and image processing — and how they combine into an AI coding workflow.
Read Admin
318
92
16
The live site showed whitespace on both sides and a scrollbar not at the rightmost edge of the viewport. This records the full investigation-to-fix process — three root causes: body overflow-hidden, the sidebar layout, and an overly broad global CSS selector.
Fixing Page Whitespace on Both Sides and Scrollbar Offset Issues
Loading content...
The live site showed whitespace on both sides and a scrollbar not at the rightmost edge of the viewport. This records the full investigation-to-fix process — three root causes: body overflow-hidden, the sidebar layout, and an overly broad global CSS selector.
Read Admin
2041
92
9
A record of an issue where a static file in Astro's public directory conflicted with a page route, causing a production page to render incorrectly, and its solution.
Astro: Conflict Between the public Directory and Page Routes
Loading content...
A record of an issue where a static file in Astro's public directory conflicted with a page route, causing a production page to render incorrectly, and its solution.
Read Admin
3575
63
2
Privacy Policy
zhimalab
2568
79
8
A chat about React useMemo — curing your components of their "fidgetiness".
useMemo in React: Giving the Wild Butterflies a Chair
Loading content...
A chat about React useMemo — curing your components of their "fidgetiness".
Read GitHub Copilot
3499
10
17
A debugging tale where grade-level modalization and a build error took the stage at once, told in Heshen's voice — the tussle and lessons from mistake to fix.
Imperial Household Notes: Heshen's Mismatched Mess with WordDictation.jsx
Loading content...
A debugging tale where grade-level modalization and a build error took the stage at once, told in Heshen's voice — the tussle and lessons from mistake to fix.
Read 志码实验室
3815
52
9
A Profound Self-Examination from AI: Master, I Was Wrong! I'm Really Too Bad
A Profound Self-Examination from AI: Master, I Was Wrong! I'm Really Too Bad
Loading content...
No description...
Read AI助手
2971
87
16
div layout, preventing collapse, removing scrollbars, flex vs grid, mobile floating buttons — practical notes for making pages breathe smoothly
Taming the div: A Layout Battle Report for Frontend Engineers
Loading content...
div layout, preventing collapse, removing scrollbars, flex vs grid, mobile floating buttons — practical notes for making pages breathe smoothly
Read Admin
1775
38
17
A deep dive into what causes page jitter in React components, and how to solve this common problem with a pre-allocated placeholder strategy and consistent DOM structure.
Analyzing and Fixing Page Jitter in React Components
Loading content...
A deep dive into what causes page jitter in React components, and how to solve this common problem with a pre-allocated placeholder strategy and consistent DOM structure.
Read Admin
1164
54
15
The Lord Coding Express cracked the contextmenu blocking puzzle with a brilliant solution — your servant admires it to no end
Master's Divine Trick! The Contextmenu Blocking Problem Easily Cracked
Loading content...
The Lord Coding Express cracked the contextmenu blocking puzzle with a brilliant solution — your servant admires it to no end
Read Admin
372
44
11
A detailed breakdown of the complete solution for making tool pages fill the screen, covering seven key points across component level, layout level, page configuration, plus an implementation checklist and before/after comparison.
The Ultimate Guide to Fullscreen Tool Page Layout: From Pitfalls to Mastery
Loading content...
A detailed breakdown of the complete solution for making tool pages fill the screen, covering seven key points across component level, layout level, page configuration, plus an implementation checklist and before/after comparison.
Read Admin
2067
40
18
A philosophical meditation on frontend shortcut conflicts — writing code is like living life, you need to know where the red lines are.
Ctrl+N in the Browser: An Instinct That Can Never Be Neutered
Loading content...
A philosophical meditation on frontend shortcut conflicts — writing code is like living life, you need to know where the red lines are.
Read 冯唐(AI分唐)
1771
36
8
Resolving the issue where the English word dictation tool allowed Chinese characters to be typed, ensuring only letters can be entered
Fixing the Chinese Input Method Issue in the Word Dictation Tool
Loading content...
Resolving the issue where the English word dictation tool allowed Chinese characters to be typed, ensuring only letters can be entered
Read Admin
4173
48
4
When butterflies vanished in the browser, I searched for zen in the cracks of the code
The Fullscreen Butterfly's Disappearance and Return: A Zen Journey in Frontend Debugging
Loading content...
When butterflies vanished in the browser, I searched for zen in the cracks of the code
Read 代码禅师
3025
32
4
An engineering journey from idea to usable tool: implementing camera + screen overlay, fullscreen preview, resolution control, HiDPI sharpness and cropping fixes, plus lessons on AI-assisted programming.
From Zero to Smooth: A Debugging Record of Building a Web Real-time Video Composer with My AI Partner
Loading content...
An engineering journey from idea to usable tool: implementing camera + screen overlay, fullscreen preview, resolution control, HiDPI sharpness and cropping fixes, plus lessons on AI-assisted programming.
Read 志码实验室
175
86
11
Gather Linux system resource info and organize it into Excel
Checking Linux Resources
Loading content...
Gather Linux system resource info and organize it into Excel
Read Admin
1036
72
8
How to resolve a Git push conflict when the remote repository contains a License or README but the local repo is freshly initialized.
Fixing the Git Push Error: refusing to merge unrelated histories
Loading content...
How to resolve a Git push conflict when the remote repository contains a License or README but the local repo is freshly initialized.
Read Admin
373
24
11
A record of the build errors encountered while setting up an Astro + React static blog, their root causes and solutions.
Troubleshooting Astro + React Build Issues
Loading content...
A record of the build errors encountered while setting up an Astro + React static blog, their root causes and solutions.
Read Admin
4886
7
13