<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>ZHUWEI.BLOG</title><description>专注于后端工程、网络协议、AI 自动化与数码折腾的个人技术博客。</description><link>https://zhuwei.fun/</link><language>zh-cn</language><item><title>从源码看 WeKnora 的技术栈：它不是简单的 RAG Demo</title><link>https://zhuwei.fun/blog/weknora-tech-stack-source-analysis-rag-platform/</link><guid isPermaLink="true">https://zhuwei.fun/blog/weknora-tech-stack-source-analysis-rag-platform/</guid><description>基于源码梳理 WeKnora 的主后端、前端、文档解析、默认检索、向量库适配、模型层和 Agent 扩展能力，判断它更像企业知识库底座，而不是轻量级 RAG Demo。</description><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate></item><item><title>使用 vLLM 部署 BAAI/bge-reranker-v2-m3，并接入本地 WeKnora</title><link>https://zhuwei.fun/blog/vllm-bge-reranker-v2-m3-weknora-deploy/</link><guid isPermaLink="true">https://zhuwei.fun/blog/vllm-bge-reranker-v2-m3-weknora-deploy/</guid><description>记录一次把 BAAI/bge-reranker-v2-m3 部署成 vLLM reranker 服务，并让本地 WeKnora 通过 HTTP API 调用的完整过程，包括显存、镜像源、模型下载和接口验证。</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate></item><item><title>为什么我最终选择服务器部署 BAAI/bge-reranker-v2-m3 做 RAG 重排</title><link>https://zhuwei.fun/blog/bge-reranker-v2-m3-rag-rerank-selection/</link><guid isPermaLink="true">https://zhuwei.fun/blog/bge-reranker-v2-m3-rag-rerank-selection/</guid><description>向量召回只能找出可能相关的内容，reranker 才能把最适合给大模型看的片段排到前面。本文整理 BAAI/bge-reranker-v2-m3 的定位、适用场景和部署取舍。</description><pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Excel VLOOKUP 傻瓜版教程：照着做，查出姓名、部门、职级</title><link>https://zhuwei.fun/blog/excel-vlookup-beginner-guide/</link><guid isPermaLink="true">https://zhuwei.fun/blog/excel-vlookup-beginner-guide/</guid><description>面向 Excel 新手的 VLOOKUP 入门教程，用员工编号查询姓名、部门、职级，顺带讲清楚 FALSE、锁定区域、IFERROR 和常见错误。</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Agent 意图识别的生产级做法：从分类到可控决策</title><link>https://zhuwei.fun/blog/agent-intent-recognition-production-guide/</link><guid isPermaLink="true">https://zhuwei.fun/blog/agent-intent-recognition-production-guide/</guid><description>Agent 意图识别不应只是让大模型返回一个标签。更科学的做法是用分层架构把用户输入转成结构化决策结果，再经过工具召回、参数校验、安全策略和确认流程，进入可控执行。</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate></item><item><title>大模型稳定输出 JSON 的生产级方案：从结构化输出到验收闭环</title><link>https://zhuwei.fun/blog/llm-json-structured-output-production-guide/</link><guid isPermaLink="true">https://zhuwei.fun/blog/llm-json-structured-output-production-guide/</guid><description>让大模型稳定输出 JSON，不是把 prompt 写得更凶，而是把模型输出当成不可信输入：用结构化输出约束格式，用程序校验兜住边界，用业务规则、日志、评测和审计保证系统可控。</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate></item><item><title>博客 SEO 优化简单记录：让搜索引擎更容易看懂你的网站</title><link>https://zhuwei.fun/blog/blog-seo-optimization-guide-for-beginners/</link><guid isPermaLink="true">https://zhuwei.fun/blog/blog-seo-optimization-guide-for-beginners/</guid><description>面向新手整理一套博客 SEO 基础优化流程，包括标题描述、canonical、sitemap、robots、旧链接重定向和结构化数据。</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate></item><item><title>小米 13 安装 GCam / AGC 相机简单记录</title><link>https://zhuwei.fun/blog/xiaomi-13-gcam-agc-install-guide/</link><guid isPermaLink="true">https://zhuwei.fun/blog/xiaomi-13-gcam-agc-install-guide/</guid><description>记录小米 13 安装 AGC8.8、下载配置文件、放置配置目录和导入配置的完整流程。</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate></item><item><title>为什么 PostgreSQL 的 sequence 会和 MySQL AUTO_INCREMENT 表现不一样？</title><link>https://zhuwei.fun/blog/postgresql-sequence-vs-mysql-auto-increment/</link><guid isPermaLink="true">https://zhuwei.fun/blog/postgresql-sequence-vs-mysql-auto-increment/</guid><description>PostgreSQL 的 sequence 是独立发号器，MySQL 的 AUTO_INCREMENT 更像表自己的计数器。这个差异会直接影响手工插入 id、数据迁移和主键冲突排查。</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Agent Loop 原理拆解：一次消息如何变成模型调用和工具调用</title><link>https://zhuwei.fun/blog/openclaw-agent-loop-explained/</link><guid isPermaLink="true">https://zhuwei.fun/blog/openclaw-agent-loop-explained/</guid><description>OpenClaw 的 Agent Loop 不是简单调用一次大模型，而是一条完整的任务执行链路。本文拆解一条消息如何经过会话解析、队列控制、上下文组装、模型推理、工具调用、流式回复和持久化，最终变成一次可控的 Agent 执行。</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw 整体架构：为什么它不是普通 Bot</title><link>https://zhuwei.fun/blog/openclaw-architecture-not-just-a-bot/</link><guid isPermaLink="true">https://zhuwei.fun/blog/openclaw-architecture-not-just-a-bot/</guid><description>OpenClaw 表面上像一个聊天机器人，底层却更接近一个本地优先的多渠道 Agent Gateway。本文从架构角度拆解它和普通 Bot 的根本区别。</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw Gateway 架构：一个本地控制平面如何接管多渠道</title><link>https://zhuwei.fun/blog/openclaw-gateway-control-plane/</link><guid isPermaLink="true">https://zhuwei.fun/blog/openclaw-gateway-control-plane/</guid><description>OpenClaw 的 Gateway 不是普通消息转发服务，而是整个 Agent 系统的本地控制平面。本文拆解它如何统一接管多渠道、客户端、节点、会话、事件和自动化入口。</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>GitHub 多账号 SSH 配置踩坑：为什么复制的 SSH 地址 clone 不下来？</title><link>https://zhuwei.fun/blog/github-multi-account-ssh-alias-clone-troubleshooting/</link><guid isPermaLink="true">https://zhuwei.fun/blog/github-multi-account-ssh-alias-clone-troubleshooting/</guid><description>记录一次 GitHub 多账号与 SSH 配置下的 clone 失败排查：如何确认实际使用的 key、为什么默认 SSH 地址不一定可用，以及如何用 Host 别名稳定解决。</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>为什么我先用 PostgreSQL + pgvector 做向量库，而不是直接上专业向量数据库</title><link>https://zhuwei.fun/blog/postgresql-pgvector-vector-database-selection/</link><guid isPermaLink="true">https://zhuwei.fun/blog/postgresql-pgvector-vector-database-selection/</guid><description>pgvector 不是所有向量检索场景的最优解，但在中小规模 RAG、图片相似检索和业务强过滤场景中，它可以用更低的工程复杂度完成向量存储和相似度检索。</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>用 DINOv2 做图片相似检索：从图片向量化到 pgvector 入库</title><link>https://zhuwei.fun/blog/dinov2-image-similarity-search-pgvector-hnsw/</link><guid isPermaLink="true">https://zhuwei.fun/blog/dinov2-image-similarity-search-pgvector-hnsw/</guid><description>DINOv2 可以把图片转换成向量，用于商品图相似检索、图片查重和以图搜图。本文记录一个基于 DINOv2、PostgreSQL、pgvector 和 HNSW 索引的最小落地方案。</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate></item><item><title>开源 Embedding 模型选型：BGE-M3 的适用场景与评估方法</title><link>https://zhuwei.fun/blog/bge-m3-free-embedding-model-in-china/</link><guid isPermaLink="true">https://zhuwei.fun/blog/bge-m3-free-embedding-model-in-china/</guid><description>BGE-M3 是一个适合优先评估的开源 embedding 模型。它支持中文、多语言、长文本和多种检索方式，适合用于 RAG、知识库检索和中英文混合语义搜索。</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>GitHub CLI 克隆仓库失败：从 gh auth login 到 SSH 443 端口修复</title><link>https://zhuwei.fun/blog/github-cli-ssh-443-clone-fix/</link><guid isPermaLink="true">https://zhuwei.fun/blog/github-cli-ssh-443-clone-fix/</guid><description>记录一次使用 gh repo clone 克隆 GitHub 仓库时，从未登录、SSH 22 端口被断开，到最终通过 SSH 443 端口修复的完整过程。</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>OpenClaw 还没玩明白，Hermes Agent 又来了：别急，先看清它到底适合谁</title><link>https://zhuwei.fun/blog/hermes-agent-vs-openclaw-which-to-choose/</link><guid isPermaLink="true">https://zhuwei.fun/blog/hermes-agent-vs-openclaw-which-to-choose/</guid><description>OpenClaw 和 Hermes Agent 不是简单的谁替代谁，而是两种不同路线的 Agent 工具。前者是「万能遥控器」，重点是连接消息平台与外部工具；后者是「长期运行的数字助手」，重点是记忆、技能沉淀与持续执行。本文把两者的差异、适合的场景、迁移路径和安全边界一次说清楚。</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>HTTP/2 长连接到底是什么：用高速公路和电梯讲明白</title><link>https://zhuwei.fun/blog/http2-long-connection-explained-with-real-life-analogy/</link><guid isPermaLink="true">https://zhuwei.fun/blog/http2-long-connection-explained-with-real-life-analogy/</guid><description>很多人都听过 HTTP/2、长连接、多路复用，但真正讲清楚的人不多。本文不讲空话，用生活中的高速公路和电梯做类比，把&quot;少量长期连接上并发多个流&quot;讲明白。</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>大模型 Tool Calls 到底在干什么：从一次请求讲清楚函数调用</title><link>https://zhuwei.fun/blog/llm-tool-calls-explained/</link><guid isPermaLink="true">https://zhuwei.fun/blog/llm-tool-calls-explained/</guid><description>Tool Calls（函数调用）不是「让模型执行代码」，而是「让模型按约定输出一段结构化 JSON，然后由你的后端去执行」。本文把一次完整链路拆开，从 schema、请求、回调到并行调用，逐步讲清楚。</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>你只说一句话，AI 为什么能每天早上 6 点准时干活：OpenClaw 定时任务原理拆解</title><link>https://zhuwei.fun/blog/openclaw-cron-natural-language-to-schedule/</link><guid isPermaLink="true">https://zhuwei.fun/blog/openclaw-cron-natural-language-to-schedule/</guid><description>一句「每天早上 6 点发送新闻简报」，为什么就能变成一个稳定运行的定时任务？本文从自然语言理解、工具调用协议，到持久化调度和投递闭环，把 OpenClaw 的 cron 机制完整讲清楚。</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>阿里云 RocketMQ 5.x Go SDK 配置到底该怎么填</title><link>https://zhuwei.fun/blog/rocketmq-5x-go-config-guide/</link><guid isPermaLink="true">https://zhuwei.fun/blog/rocketmq-5x-go-config-guide/</guid><description>结合一次真实接入过程，讲清楚 RocketMQ 5.x Go SDK 里哪些是官方配置项，哪些是项目自定义字段，以及 Topic、Group、NameSpace、Endpoint 这些字段到底分别该怎么理解。</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>RocketMQ 消费到底是不是监听：长轮询、gRPC 和延时消息原理讲清楚</title><link>https://zhuwei.fun/blog/rocketmq-long-polling-and-consume-model/</link><guid isPermaLink="true">https://zhuwei.fun/blog/rocketmq-long-polling-and-consume-model/</guid><description>很多人以为 RocketMQ 消费是定时扫队列，或者是 Broker 直接推送。本文从 Go SDK 视角讲清楚：消费者到底是怎么拿到消息的，长轮询到底是什么，延时消息为什么到了时间就能很快被消费。</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>TCP、HTTP、HTTP/2、gRPC 到底是什么关系</title><link>https://zhuwei.fun/blog/tcp-http-http2-grpc-relationship-explained/</link><guid isPermaLink="true">https://zhuwei.fun/blog/tcp-http-http2-grpc-relationship-explained/</guid><description>很多人会背 TCP、HTTP、HTTP/2、gRPC 这些名词，但一到实际场景就容易混。本文不堆术语，用寄快递和高速公路的类比，把这四层关系彻底讲明白。</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item></channel></rss>