<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://blog.zhuyibin.icu</loc></url><url><loc>https://blog.zhuyibin.icu/articles</loc></url><url><loc>https://blog.zhuyibin.icu/series</loc></url><url><loc>https://blog.zhuyibin.icu/projects</loc></url><url><loc>https://blog.zhuyibin.icu/moments</loc></url><url><loc>https://blog.zhuyibin.icu/photos</loc></url><url><loc>https://blog.zhuyibin.icu/about</loc></url><url><loc>https://blog.zhuyibin.icu/guestbook</loc></url><url><loc>https://blog.zhuyibin.icu/archive</loc></url><url><loc>https://blog.zhuyibin.icu/rss</loc></url><url><loc>https://blog.zhuyibin.icu/games</loc></url><url><loc>https://blog.zhuyibin.icu/games/gomoku</loc></url><url><loc>https://blog.zhuyibin.icu/games/lumen-cards</loc></url><url><loc>https://blog.zhuyibin.icu/games/lumen-cards/rules</loc></url><url><loc>https://blog.zhuyibin.icu/articles/hello-lumen-notes</loc><lastmod>2026-10-18T22:41:23.018Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/rag-hybrid-retrieval-evidence</loc><lastmod>2026-10-19T14:16:36.686Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/postgres-jsonb-index-design</loc><lastmod>2026-10-19T04:38:36.566Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/agent-tool-contracts-production</loc><lastmod>2026-10-19T07:47:32.377Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/mcp-capability-security-boundaries</loc><lastmod>2026-10-19T08:54:01.077Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/agent-evals-regression-gates</loc><lastmod>2026-10-19T08:53:48.750Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/csrf-cookie-session-defense</loc><lastmod>2026-10-19T02:07:25.076Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/agent-memory-data-governance</loc><lastmod>2026-10-18T22:41:15.409Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/eval-driven-ai-development</loc><lastmod>2026-10-19T18:50:25.397Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/structured-output-repair-loop</loc><lastmod>2026-10-19T14:48:12.601Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/multimodal-document-pipeline</loc><lastmod>2026-10-18T22:41:34.227Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/docker-build-cache-budget</loc><lastmod>2026-10-16T20:03:16.115Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/ai-agent-tool-permissions</loc><lastmod>2026-10-19T00:58:18.751Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/kimi-open-platform-practice</loc><lastmod>2026-10-13T19:58:35.906Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/docker-image-shared-layers</loc><lastmod>2026-10-16T20:02:16.079Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/docker-volume-database-location</loc><lastmod>2026-10-16T20:01:46.122Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/rag-evaluation-before-vector-db</loc><lastmod>2026-10-18T22:41:40.934Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/docker-desktop-vhd-space</loc><lastmod>2026-10-17T13:47:06.603Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/gpt-model-selection-engineering</loc><lastmod>2026-10-18T22:41:20.343Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/postgres-atomic-job-claiming</loc><lastmod>2026-10-19T02:07:44.879Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/claude-codebase-collaboration</loc><lastmod>2026-10-16T20:06:16.757Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/long-running-agent-checkpoints</loc><lastmod>2026-10-19T08:53:58.197Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/browser-agent-prompt-injection-defense</loc><lastmod>2026-10-19T11:55:15.157Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/ai-code-review-reproducible-findings</loc><lastmod>2026-10-19T15:57:12.561Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/node-stream-upload-backpressure</loc><lastmod>2026-10-19T04:38:31.335Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/multimodal-document-provenance</loc><lastmod>2026-10-19T14:16:33.259Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/risk-aware-model-routing</loc><lastmod>2026-10-19T14:16:38.829Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/dns-apex-www-a-record</loc><lastmod>2026-10-19T04:38:26.188Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/ssrf-url-validation-egress</loc><lastmod>2026-10-19T00:58:26.017Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/human-approval-agent-actions</loc><lastmod>2026-10-19T14:52:30.097Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/agent-memory-governance-lifecycle</loc><lastmod>2026-10-19T06:10:05.465Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/nuxt-hydration-mismatch-debugging</loc><lastmod>2026-10-19T15:57:21.700Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/embedding-model-migration</loc><lastmod>2026-10-19T08:53:55.150Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/prisma-optimistic-concurrency-version</loc><lastmod>2026-10-19T03:28:20.018Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/dns-authority-cache-tracing</loc><lastmod>2026-10-19T04:38:28.740Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/web-port-listener-firewall</loc><lastmod>2026-10-19T03:28:25.618Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/vue-reactivity-large-collections</loc><lastmod>2026-10-19T15:57:24.523Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/agent-filesystem-sandbox</loc><lastmod>2026-10-18T22:41:13.403Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/nuxt-route-rules-cache-contracts</loc><lastmod>2026-10-19T14:16:34.986Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/llm-cache-semantics</loc><lastmod>2026-10-18T22:41:26.987Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/agent-idempotent-external-actions</loc><lastmod>2026-10-19T10:04:08.377Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/caddy-https-certificate-diagnosis</loc><lastmod>2026-10-19T04:38:17.257Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/apex-static-blog-separation</loc><lastmod>2026-10-19T04:38:14.365Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/vue-accessible-components</loc><lastmod>2026-10-18T19:27:48.882Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/vue-reactivity-debugging</loc><lastmod>2026-10-19T00:58:31.137Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/vue-form-state-machine</loc><lastmod>2026-10-19T00:58:29.431Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/vue-accessible-dialog-focus</loc><lastmod>2026-10-19T13:15:02.889Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/vue-cancelled-request-error-state</loc><lastmod>2026-10-19T11:58:07.383Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/vue-composable-boundaries</loc><lastmod>2026-10-19T00:58:27.725Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/vue-admin-loading-remount-loop</loc><lastmod>2026-10-19T06:10:08.325Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/caddy-multiple-site-config</loc><lastmod>2026-10-19T04:38:19.958Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/react-state-ownership</loc><lastmod>2026-10-16T19:49:31.100Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/vue-composable-cancellation</loc><lastmod>2026-10-19T03:28:22.863Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/upload-directory-permissions</loc><lastmod>2026-10-18T18:08:47.726Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/editor-lazy-load-public-bundle</loc><lastmod>2026-10-19T18:39:26.109Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/ssh-network-host-key-auth</loc><lastmod>2026-10-19T18:01:42.912Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/node-event-loop-latency</loc><lastmod>2026-10-19T02:07:33.001Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/nuxt-server-auth-boundaries</loc><lastmod>2026-10-19T02:07:41.106Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/api-error-recovery-message</loc><lastmod>2026-10-18T21:00:23.444Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/nuxt-responsive-images-performance</loc><lastmod>2026-10-19T02:07:37.579Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/systemd-terminal-environment</loc><lastmod>2026-10-18T19:27:47.193Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/post-count-status-contract</loc><lastmod>2026-10-19T18:09:59.533Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/api-idempotency-key-state-machine</loc><lastmod>2026-10-19T08:53:52.866Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/nuxt-low-memory-build-isolation</loc><lastmod>2026-10-18T21:00:31.833Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/transactional-outbox-delivery</loc><lastmod>2026-10-19T14:16:40.539Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/postgres-app-migration-roles</loc><lastmod>2026-10-18T21:00:35.231Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/content-security-policy-nonce</loc><lastmod>2026-10-19T13:15:01.013Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/zero-downtime-database-migrations</loc><lastmod>2026-10-19T00:58:32.823Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/reverse-proxy-client-ip-trust</loc><lastmod>2026-10-18T21:00:38.632Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/node-stream-backpressure</loc><lastmod>2026-10-19T02:07:35.568Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/prompt-injection-web-content</loc><lastmod>2026-10-18T22:41:37.657Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/backup-restore-drill-evidence</loc><lastmod>2026-10-19T00:58:20.717Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/login-rate-limit-failure-counter</loc><lastmod>2026-10-18T21:00:30.134Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/publication-production-acceptance</loc><lastmod>2026-10-19T18:59:49.136Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/nuxt-server-api-boundaries</loc><lastmod>2026-10-19T02:07:39.260Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/app-proxy-log-rotation</loc><lastmod>2026-10-19T19:14:48.071Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/deployment-package-exclusions</loc><lastmod>2026-10-18T21:00:26.854Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/mcp-server-security-review</loc><lastmod>2026-10-18T22:41:30.475Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/windows-cache-junction-cleanup</loc><lastmod>2026-10-18T18:08:49.385Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/reliable-scheduled-content-publishing</loc><lastmod>2026-10-19T00:58:24.479Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/structured-output-zod-ai</loc><lastmod>2026-10-18T19:27:45.624Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/nitro-health-check-design</loc><lastmod>2026-10-19T02:07:30.995Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/docker-cleanup-data-boundaries</loc><lastmod>2026-10-16T20:03:01.088Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/codex-context-engineering</loc><lastmod>2026-10-19T02:07:09.273Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/css-motion-system</loc><lastmod>2026-10-16T20:04:31.763Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/codex-agentic-engineering-workflow</loc><lastmod>2026-10-19T03:28:17.408Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/javascript-abort-signal</loc><lastmod>2026-10-19T02:07:29.015Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/react-effect-discipline</loc><lastmod>2026-10-16T19:50:01.057Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/css-container-queries</loc><lastmod>2026-10-16T20:04:46.775Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/deepseek-api-production-boundaries</loc><lastmod>2026-10-17T06:17:39.640Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/scheduled-publish-timezone-audit</loc><lastmod>2026-10-18T21:00:40.340Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/llm-observability-with-privacy</loc><lastmod>2026-10-19T15:57:16.180Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/wechat-miniprogram-auth-security</loc><lastmod>2026-10-16T19:44:00.995Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/ai-code-review-evidence</loc><lastmod>2026-10-16T20:19:53.234Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/html-native-semantics</loc><lastmod>2026-10-19T02:07:27.113Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/nuxt4-data-fetching-state-machine</loc><lastmod>2026-10-19T04:38:33.937Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/wechat-miniprogram-data-flow</loc><lastmod>2026-10-16T19:43:31.010Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/wechat-miniprogram-component-design</loc><lastmod>2026-10-16T19:43:46.033Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/nuxt-swr-content-freshness</loc><lastmod>2026-10-19T02:07:43.036Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/compose-project-volume-identity</loc><lastmod>2026-10-19T04:38:22.665Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/prisma-postgresql-transactions</loc><lastmod>2026-10-19T06:31:25.958Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/articles/react-server-client-boundary</loc><lastmod>2026-10-16T19:49:46.033Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/series/digital-garden</loc><lastmod>2026-08-19T12:00:38.153Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/projects/anthropic-agent-skills</loc><lastmod>2026-08-03T22:39:04.505Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/projects/langchain</loc><lastmod>2026-08-03T22:39:04.519Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/projects/model-context-protocol-servers</loc><lastmod>2026-08-03T22:39:04.526Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/projects/microsoft-autogen</loc><lastmod>2026-08-03T22:39:04.532Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/projects/crewai</loc><lastmod>2026-08-03T22:39:04.540Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/projects/openai-agents-python</loc><lastmod>2026-08-03T22:53:03.921Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/photos/recursive-signal-tree</loc><lastmod>2026-08-03T22:39:04.557Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/photos/parametric-rosette</loc><lastmod>2026-08-03T22:39:04.594Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/photos/l-system-fern</loc><lastmod>2026-08-03T22:39:04.605Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/photos/wave-interference-grid</loc><lastmod>2026-08-03T22:39:04.614Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/photos/constellation-orbits</loc><lastmod>2026-08-03T22:39:04.622Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/photos/bauhaus-turtle-mosaic</loc><lastmod>2026-08-03T22:39:04.629Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/engineering</loc><lastmod>2026-08-03T22:38:57.366Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/ai-engineering</loc><lastmod>2026-08-03T22:39:03.042Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/node-nuxt</loc><lastmod>2026-08-03T22:39:03.060Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/vue</loc><lastmod>2026-08-03T22:39:03.069Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/react</loc><lastmod>2026-08-03T22:39:03.076Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/web-foundations</loc><lastmod>2026-08-03T22:39:03.081Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/wechat-miniprogram</loc><lastmod>2026-08-03T22:39:03.085Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/ai-agent-engineering</loc><lastmod>2026-08-24T07:13:46.576Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/nuxt-vue</loc><lastmod>2026-08-24T07:13:46.584Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/backend-database</loc><lastmod>2026-08-24T07:13:46.590Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/categories/web-security-reliability</loc><lastmod>2026-08-24T07:13:46.594Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/topics/ai-engineering</loc><lastmod>2026-10-19T18:50:25.397Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/topics/agent-development</loc><lastmod>2026-10-19T03:28:17.408Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/topics/nuxt-vue</loc><lastmod>2026-10-19T02:07:43.036Z</lastmod></url><url><loc>https://blog.zhuyibin.icu/topics/web-architecture</loc><lastmod>2026-10-19T06:31:25.958Z</lastmod></url></urlset>