# ZhuoQi Dev > Liu ZhuoQi — AI application engineer focused on production Agent systems, backend engineering, context engineering, RAG, tool use, and AI security. This is Liu ZhuoQi's technical blog about AI agents, memory systems, context engineering, RAG, tool use, backend architecture and production practice. Every post exists in English and Chinese, and appending `index.md` to a post URL returns its Markdown source (e.g. /en/posts//index.md). Posts are listed newest first. ## Posts - [Check the Goods Before You Buy a Relay API: Six Questions That Tell You Whether It Sells the Real Model](https://zhuoqidev.com/en/posts/verify-llm-relay-api/index.md): 2026-10-24 · Cheap Claude, GPT and Seedance relays keep multiplying, and their groups are labelled 'official', 'official key' or 'native', but a group name is not evidence. What actually ties what a relay sells to the official API is the response id prefix, input tokens that match the official counting endpoint one for one, the error you get when you send a deliberately invalid parameter, the C2PA signature and signing certificate inside a video file, and the charges in the relay's own logs. This post walks through six questions: how to check each one, whether it costs money, what counts as a problem, and what to do without an official key. It ends with an open-source skill that hands the whole procedure to an Agent and writes the comparison report for you. - [Is a Mac Actually Good for Running Large Language Models? The Numbers Neither Apple nor NVIDIA Puts on the Product Page](https://zhuoqidev.com/en/posts/mac-for-local-llms/index.md): 2026-10-18 · Apple says the Mac mini offers "fast, private, on-device inference" and up to 13.5x faster LLM prompt processing; NVIDIA says the RTX 5090 Laptop GPU has 1,824 AI TOPS. What they compare against, how the test machines were configured, and the three numbers that decide how fast a model actually feels — memory bandwidth, the compute for reading prompts, and how much memory the GPU can really use — are not where you look first. Using the llama.cpp community's shared benchmarks across dozens of machines, a check on two machines of my own, and a re-run of Apple's own footnoted test on the 16 GB base model, and the coding, compiling and testing work where the Mac mini measurably wins, this post answers, case by case, what a Mac mini, a Mac Studio and each class of NVIDIA card are actually good for. - [What Does It Cost to Run an App Online Each Month? Servers, Serverless or Edge Functions: First Learn to Split the Bill in Three](https://zhuoqidev.com/en/posts/model-gateway-cloudflare-vs-china-cloud/index.md): 2026-10-09 · For anyone about to put their first app online without knowing whether to buy a server or go serverless. It first explains the few things on a cloud provider's shelf, then shows how to split your own app into three bills (does its time go to waiting or computing, how many bytes does each request move, does it keep books entry by entry), places four common apps (a personal website, a mini-program or app backend, an AI app, an image or video tool) with the free tiers and new-customer prices checked; then it builds an LLM gateway from scratch as the worked example, queries prices as of 2026-10-09 with the aliyun CLI, tccli, the clouds' public pricing APIs and official pricing pages, and works out the bill line by line for seven providers at 10 million, 100 million and 1 billion requests a month. - [Letting an Agent Run a Dozen Overseas Social Accounts: About 60 Posting, Comment and DM APIs and MCP Servers Compared Cell by Cell (October 2026)](https://zhuoqidev.com/en/posts/social-publishing-inbox-apis-2026/index.md): 2026-10-09 · You want an Agent such as Claude Code to publish to X, LinkedIn, YouTube, Instagram and other accounts in one go, then read the comments and answer the DMs. How far that can go is decided first by each platform's official API; the tools only carry those official capabilities into one interface. Since February 2026 X lets programs reply only to people who mentioned you, nobody can read the comments or DMs of a LinkedIn personal profile, Facebook only lets you post to Pages, and Threads and YouTube have no DM API. Within those limits I checked about 60 unified APIs, social media suites, open-source projects and session-based APIs against their official documentation of 2026-10-09, cell by cell across platform × posting / comments / mentions / DMs, scored them for integration completeness with price only as the second column, and marked what I tested and what I only read. - [Agents That Check Their Own Work and Tidy Their Own Memory: Outcomes and Dreaming from the Docs, Plus a Hands-On Test of Claude Code /goal](https://zhuoqidev.com/en/posts/managed-agents-outcomes-dreaming/index.md): 2026-10-06 · Outcomes has an independent grader, blind to the writer's reasoning, check the work criterion by criterion and send it back until it passes; Dreaming reads an old memory store and past sessions between runs and writes a separate, reorganized store while leaving the original untouched. Both are Claude Managed Agents APIs on the Claude Developer Platform, and Claude Code does not have them. Following the official docs, this article explains why both are needed and how they work, then identifies their closest relatives in Claude Code (/goal and the unreleased auto-dream), runs /goal 12 times on the same task, and translates the design into two contracts you can rebuild on any Agent stack. - [Why Codex Does Not Give the Model Every Tool: tool_search, BM25, and Model Replacement](https://zhuoqidev.com/en/posts/codex-first-request-tools/index.md): 2026-08-08 · A plain-language, source-grounded explanation of why Codex loads tools on demand, how BM25 ranks the best few, and how the same design transfers to Python, Go, and other models. - [Five Codex Harness Designs Worth Copying After Reading the Source](https://zhuoqidev.com/en/posts/codex-agent-design/index.md): 2026-08-02 · A source-grounded analysis of selective parallelism, Unified Exec, ExecCell, progressive Skills, persistent Goal continuation, and embedding the runtime through App Server. - [How Agents Remember You: Human Memory Science and a Code Audit of Six Open-Source Systems](https://zhuoqidev.com/en/posts/llm-memory-research/index.md): 2026-07-30 · From Ebbinghaus, H.M., working memory, and engrams to Mem0, Letta, Graphiti, LangMem, Cognee, and MemoryOS: a history of memory paradigms and a code-level comparison of what open-source agent memory systems actually implement. - [How to Choose an LLM Inference Engine — A 2026 Map from Local Single-GPU to PD Disaggregation](https://zhuoqidev.com/en/posts/llm-inference-engine-selection/index.md): 2026-07-19 · Aliyun's four-engine table — Ollama / vLLM / SGLang / HF Pipeline — is no longer enough in 2026. This piece re-maps inference engines into three tiers (Local → High-Performance Serving → Distributed/Disaggregated), covering 8 mainstream engines plus three new trends — PD disaggregation, speculative decoding, and FP4 quantization — with a decision matrix and a decision tree. - [OpenClaw in Practice: One File Path Eliminated 84% of Tool Calls — A Cron Job Debugging Story](https://zhuoqidev.com/en/posts/openclaw-cron-skill-optimization/index.md): 2026-06-20 · OpenClaw's daily-ai-news cron job kept timing out. The root cause wasn't a weak model, bloated prompt, or upstream API failure — it was a missing absolute path in the SKILL.md, causing the Agent to spend 15 exec calls searching for a tool's location every run. Message count ballooned from 54 to 165, tool results from 204KB to 1.1MB. This is the full debugging story. - [OpenClaw Memory in Practice: From 'Vector Search Is Down But Everything Still Works' to Zero-Cost NVIDIA Embeddings](https://zhuoqidev.com/en/posts/openclaw-memory-text-to-vector/index.md): 2026-06-20 · OpenClaw's vector retrieval silently failed — but BM25 text search kept the memory system running for two weeks unnoticed. When you discover 'it works without embeddings,' should you even bother fixing it? Here's how I used NVIDIA's free embedding API to complete the picture, and what I learned about when vector search actually matters. - [Claude's Tool Calling Paradigm Shift: A Deep Dive into Programmatic Tool Calling and Dynamic Filtering](https://zhuoqidev.com/en/posts/claude-programmatic-tool-calling-dynamic-filter/index.md): 2026-06-13 · Anthropic's Programmatic Tool Calling and Dynamic Filtering aren't just feature additions — they represent a paradigm shift in Agent architecture: from natural language orchestration to code-driven orchestration, from full context injection to on-demand filtering. Synthesizing multiple non-AI-written deep-dive articles, this post covers architecture, benchmarks, and production patterns. - [OpenClaw in Production: When the Most Advanced Memory System Meets the Quietest Failure](https://zhuoqidev.com/en/posts/openclaw-pitfalls/index.md): 2026-05-27 · A full-chain production battle log: from startup failures and Feishu message silent drops to production stability — compaction safeguard, five-layer debugging, model-harness fit, and memory system comparison. - [Why We Moved from Celery to Temporal for Production Agent Pipelines](https://zhuoqidev.com/en/posts/why-temporal-not-celery/index.md): 2026-05-16 · Agent pipelines are not ordinary async tasks — they have state, they get stuck, they need replay debugging, and one failure must not sink the entire batch. We hit every one of these walls with Celery before understanding that Temporal solves a fundamentally different problem. - [Where Do ChatGPT Business Promo Codes Come From? An OSINT Correction](https://zhuoqidev.com/en/posts/chatgpt-business-promo-investigation/index.md): 2026-05-14 · A source-by-source recheck of OpenAI, partner, Stripe, and linux.do evidence: public links, screened email codes, and partner-funded rebates still coexist. - [RAG vs LLM Wiki vs Plain Text — A Decision Framework for Agent Long-Term Memory](https://zhuoqidev.com/en/posts/memory-choice-framework/index.md): 2026-05-11 · Cost, latency, accuracy, and maintainability trade-offs across three Agent memory approaches: RAG, structured knowledge bases, and plain-text context memory. Includes decision tree. - [Embedding CSS Animation Demos in Hugo Articles](https://zhuoqidev.com/en/posts/css-animation-demo/index.md): 2026-05-04 · Use custom shortcodes to run live CSS animations directly in Hugo blog posts — no CodePen account needed. - [Building a Personal Site with Hugo and Dual-Stack CDN](https://zhuoqidev.com/en/posts/hugo-dual-cdn-blog/index.md): 2026-05-04 · How I set up Hugo + Blowfish with Alibaba Cloud OSS/CDN for China and Cloudflare Pages for international visitors — ICP filing, geo-DNS routing, and GitHub Actions dual-stack deployment. ## Projects - [AI vendor status — every official status page on one page](https://zhuoqidev.com/en/projects/ai-status/): What the official status pages of OpenAI, Claude, Gemini, xAI, Mistral, Groq, Amazon Bedrock, DeepSeek, Kimi, MiniMax and others say right now, set as a newspaper front page — the worst one makes the headline, every vendor gets a weather, open one for components and incidents in progress; vendors without a status page are listed too, with the reason. A Cloudflare Pages Function reads each vendor at most once a minute and never calls a model. - [llm-relay-audit — An Agent Skill for Checking Relay APIs Before You Buy](https://zhuoqidev.com/en/projects/llm-relay-audit/): An open-source Agent skill that compares an AI API relay (new-api / one-api / sub2api) with the official API item by item: real model or swapped, injected prompts, official original video, swallowed parameters, real charges. Every raw request is logged, and it ends with an external evidence PDF and an internal decision card. Python + the Agent Skills spec, one-line npx install. - [Argus — A Browser-Local Long-Video Understanding Agent Harness](https://zhuoqidev.com/en/projects/argus/): An open-source, frontend-only agent harness for long-video understanding: the video file never leaves the browser, multi-provider LLMs via Vercel AI SDK, with frame-extraction / memory / sub-agent tools and dual-CDN publishing. Vite + React + TypeScript. - [Vane — An AI Personalized Feed System (Paused)](https://zhuoqidev.com/en/projects/vane/): A self-built AI Agent system that ran in production from 2026-07 to 09 and is now paused: multi-source ingestion → LLM personalized scoring → Feishu push, with a user-profile feedback loop. Go + Temporal + A2A protocol + React, full-stack. ## Design library Self-contained web UI demos; each entry's index.md has the notes and the full source to recreate it. Catalogue: https://zhuoqidev.com/en/design/index.md - [Stamp Button](https://zhuoqidev.com/en/design/stamp-button/index.md) — Buttons & controls · Pressing feels like stamping: it presses down with a slight twist, then a grainy red imprint is left on the paper and slowly fades. - [Highlighter Swipe](https://zhuoqidev.com/en/design/highlighter-button/index.md) — Buttons & controls · Links and buttons get swiped by a highlighter, slanted tip, set low, each wrapped line marked separately, wiped off rightward. Pure CSS. - [One-Click Copy Button](https://zhuoqidev.com/en/design/copy-button/index.md) — Buttons & controls · On success, two sheets fold away, a checkmark draws, and the text slides to "已复制"; on failure it turns red and shakes. Screen-reader aware. - [Magnetic Button](https://zhuoqidev.com/en/design/magnetic-button/index.md) — Buttons & controls · The button is pulled toward the approaching mouse, its text following more for depth, then springs back. JS writes only two variables. - [A Shape-Shifting Select: Genie / Tide / Pixel](https://zhuoqidev.com/en/design/pixel-dissolve-select/index.md) — Buttons & controls · Three ways to open and close a select: genie (a macOS-style minimize into the name), tide (a foamy wave washes it up and away) or pixels. - [An Agent Card That Falls Asleep](https://zhuoqidev.com/en/design/agent-sleep-toggle/index.md) — Cards & widgets · Off: the blue hexagon mascot shrinks into a grey ball, eyes shut, z's rising. On: it pops back. Awake, its eyes follow you. - [Floating Pill Nav at the Bottom](https://zhuoqidev.com/en/design/pill-dock/index.md) — Navigation · A pill-shaped nav centered at the page bottom: frosted glass, highlighted current section, bounce on press, twinkling stars. - [A Sidebar Whose Active Dot Slides](https://zhuoqidev.com/en/design/sidebar-active-dot/index.md) — Navigation · One dot for the whole list slides to the picked item, bumps its text aside, then the colour sweeps in; speeds measured on the reference. - [Polaroid Avatar](https://zhuoqidev.com/en/design/polaroid-avatar/index.md) — Cards & widgets · An avatar as a Polaroid: white border, tape, handwriting; on a desk it drags, tilts when fast, and springs back on release. - [Opening / Sign-off Terminal](https://zhuoqidev.com/en/design/terminal-signoff/index.md) — Motion · The footer is a terminal session: see you, contact info, fortune and exit are typed out line by line; plus a first-visit boot animation. - [Three Status Icons Morph into One](https://zhuoqidev.com/en/design/status-icon-morph/index.md) — Motion · Bars sink to dots, the battery becomes a line that wraps the Wi-Fi in a ring, and the dots slip into its gap. Timed frame by frame. - [Hand-Drawn Diagrams + Image Viewer](https://zhuoqidev.com/en/design/hand-drawn-diagrams/index.md) — Charts & 3D · Article flowcharts as hand-drawn SVG; click to open a viewer with wheel / pinch zoom, drag to pan, and Esc to close. - [Desktop-Style Homepage](https://zhuoqidev.com/en/design/desk-home/index.md) — Pages & sections · The homepage as a desk: draggable cards that tilt with speed and remember their position, plus icons that open resizable windows. - [Sticky-Note Guestbook Wall](https://zhuoqidev.com/en/design/sticky-guestbook/index.md) — Pages & sections · A wall of colored sticky notes plus a post form: four colors, slight tilt, tape, straighten on hover; demo notes stay local. - [Dot-Matrix Visitor Globe](https://zhuoqidev.com/en/design/dot-globe-visitors/index.md) — Charts & 3D · A three.js dot globe: visitor counts as red beams, blue arcs with moving sparks to one destination; drag it, click a beam for the number. - [3D Scroll Storytelling](https://zhuoqidev.com/en/design/scroll-3d-story/index.md) — Charts & 3D · A pinned 3D scene with text scrolling on the right: camera moves per step, parts pop in, labels follow 3D points. Pure three.js. - [Editorial-Style Conclusion Report](https://zhuoqidev.com/en/design/value-ledger-report/index.md) — Pages & sections · A conclusion-first magazine-style report: serif headline, one big card plus four small ones, Chart.js with clickable legends. - [Map + Filter Sidebar](https://zhuoqidev.com/en/design/map-filter-finder/index.md) — Pages & sections · Filters on the left, a Leaflet map on the right: list and markers sync, clusters count only matches, list clicks fly to the map. - [Handmade Paper Feel](https://zhuoqidev.com/en/design/handmade-paper/index.md) — Visual styles · Cream paper with a dot grid; stamp red, pen blue, highlighter yellow; serif headings, notes, sticky notes, stamps, full dark mode. - [Pure CSS Motion](https://zhuoqidev.com/en/design/css-only-motion/index.md) — Motion · No animation library: linear() spring easing, View Transitions, scroll-driven animation, @starting-style entrances, height to auto. - [Signature-and-Seal Opening](https://zhuoqidev.com/en/design/stamp-opening/index.md) — Motion · A first-visit opening: 卓琪 written in its real stroke order, a stone seal stamps it, and the print flies onto the logo, where the page opens. ## Optional - [All posts, full text](https://zhuoqidev.com/en/llms-full.txt) - [About the author](https://zhuoqidev.com/en/about/) - [中文版](https://zhuoqidev.com/llms.txt) - [RSS](https://zhuoqidev.com/en/index.xml)