AI 助手拆机:OpenHuman 怎么做到"记得你、自己干、还不出网"

Posted on 三 05 8月 2026 in Tech • Tagged with ai-agent, rust, tauri, memory, orchestrator, mcp, teardown, architecture, openhuman

把 tinyhumansai 开源的 OpenHuman clone 下来读了一遍——一个纯 Rust 内核 + Tauri 桌面的开源 AI 助手。它把"AI 助手"拆成了三件事:一块会按时给自己喂料、压缩成"记忆树"的持久记忆大脑;一个跑在可恢复图(tinyagents)上的编排器,能把一群子代理当成一支舰队来指挥;外加一整套从语音、会议、工作流到加密的 agent 间通信的家当。真正让我放下的是它的取舍:复杂的 ML 全外包给开源 crate,内核只负责"对与错"的调度与安全,隐私开关一到 Rust 层就直接掐死出网。这篇按代码讲讲它这套"会折腾的剥洋葱式"架构,以及一个老后端能从中抄走的东西。


Continue reading

免费聊天室拆机:一个 WebRTC 项目如何在三次换栈后彻底"不养服务器"

Posted on 二 04 8月 2026 in Tech • Tagged with webrtc, cloudflare, serverless, durable-objects, teardown, architecture

拆 i365dev 开源的 free4chat——一个"开房间就能说话、不注册不存数据"的实时语音文字聊天室。真正让我感兴趣的不是功能,而是它为了"不养服务器"这个目标换了三次技术栈:Go+Pion、Elixir+Membrane,最后落到 Cloudflare 全托管(RealtimeKit + Workers + Durable Object)。这篇按代码讲清楚它现在的架构:Worker 只发一个短期 token,媒体走 WebRTC 数据面,两小时房间过期、三层反机器人,以及那个藏在 Durable Object 里的 AI 助手 Luna,还有它踩过的坑和留给自己的下一步。


Continue reading

如何为你的服务创建统一的授权中心

Posted on 一 20 7月 2026 in Tech • Tagged with authorization, microservice, oauth2, opa, openfga, spiffe, keycloak, zero-trust, security, architecture

微服务各管一套权限,最后往往没人说得清谁能调用谁。本文给出统一授权中心的分层架构、协议选择、典型实例与演进路线,重点讲清身份、决策和执行如何分工。


Continue reading

限流这件事,从来不是"每秒放几个"这么简单

Posted on 一 06 7月 2026 in Tech • Tagged with microservices, rate limiting, backend, stability, architecture

很多人以为限流就是"每秒放 100 个请求",配个数字完事。真上了规模才发现,限流是分层的、分策略的、还得跟业务谈判的。这篇把限流拆成"在哪一层限、按什么维度限、用什么算法、放行还是拒绝、拒了怎么告诉客户端"几件事,配上可抄的配置和一张决策清单。


Continue reading

给你的服务养一个"数字替身":AI 时代为什么要写 Sample App

Posted on 日 05 7月 2026 in Tech • Tagged with journal, testing, architecture, WebRTC

做后端和 SDK 这些年,我越来越依赖一个东西:给每个服务配一个能把主流程完整跑一遍的 Sample App——Web Service 就配个 Test Web App,音视频应用就配个 Native App。它既是 E2E 测试工具,又是一个"永远在线的模拟用户",还是最诚实的一份活文档。AI 能帮你把它写得飞快,但要不要养、往哪个方向养,得你自己拿主意。


Continue reading

IT 中间件三岔路:买、用开源,还是自研

Posted on 五 26 6月 2026 in Tech • Tagged with middleware, platform-engineering, build-vs-buy, architecture, engineering-management

最近又被几个内部自研平台教育了一回:东西能跑,但难学、难问、难接手,很多“为什么”只存在某些人的脑子里。本文借这个亲身体会,聊聊企业中间件到底该买、用开源,还是自研;也给一份少踩坑的决策清单。


Continue reading

用苏格拉底提问法给设计方案做体检

Posted on 六 20 6月 2026 in Tech • Tagged with design-review, critical-thinking, methodology, socratic-questioning, architecture

设计评审上最值钱的不是答案,是问题。借《The Thinker's Guide to Socratic Questioning》的九类提问,和《胡思乱想消除指南》里对付灾难化思维的那套反驳法,我把它们改造成一份可以照着问的设计体检清单。


Continue reading

ArchUnit:用一个单元测试库,把架构纪律变成 AI 也绕不过的红绿灯

Posted on 日 07 6月 2026 in Tech • Tagged with AI, harness, java, archunit, architecture, testing

架构图画在 wiki 上,三个月后就和代码对不上了——这叫架构腐化,AI 时代腐化得更快。ArchUnit 的思路很朴素:把"Controller 不许直连 Mapper""领域之间不许循环依赖"这类约定写成会失败的测试,跟着 mvn test 一起跑。它本质上就是 JUnit,却能把你脑子里的架构纪律,变成 AI 和新人都绕不过去的硬约束。本文讲清楚 ArchUnit 是什么、怎么用、怎么在老项目里冻结存量违规,以及它为什么能大幅提升项目的 harness 水平。


Continue reading

如何做一个接近零停机的 HTTP 服务

Posted on 五 08 5月 2026 in Tech • Tagged with zero-downtime, high-availability, active-active, retry, idempotency, sre, architecture

零停机服务不是一句“部署两套集群”就能实现的口号。真正可用的方案,是 active-active 流量、快速超时、跨集群重试、熔断摘除、共享幂等状态和无状态应用设计一起配合,让一次集群故障尽量止步于一次请求内部。


Continue reading

SPIRE 系列之二:架构深度解析

Posted on 五 24 4月 2026 in Journal • Tagged with SPIRE, SPIFFE, Zero Trust, Architecture, Kubernetes

SPIRE 系列第二篇:在理解 Workload Identity 与 Zero Trust 目标之后,拆开 SPIRE Server、Agent、Registration Entry、Workload API、部署模式与插件体系。


Continue reading

从零构建一个迷你 Zoom:Lazy Rabbit Meeting 架构全解析

Posted on 日 08 3月 2026 in Tech • Tagged with WebRTC, Go, Vue.js, SFU, 视频会议, 实时通信, Architecture

详细讲解如何用 Go + Vue.js + WebRTC 从零构建一个具备完整功能的迷你视频会议系统,包含 SFU 引擎、JMPP 信令协议、屏幕共享、服务端录制和 Docker 部署。


Continue reading

从 PDCA 到 PAOE:AI Agent 大脑里的循环

Posted on 四 15 1月 2026 in AI • Tagged with AI-agent, ReAct, LLM, PDCA, architecture

PDCA 是管理者的圣经,但对于 AI Agent 来说,它太慢了。本文提出 PAOE (Plan, Act, Observe, Evaluate) 模型,深度解析 ReAct 机制如何让 LLM 拥有“手眼协调”的能力,并附带 Python 实现代码。


Continue reading

使用第一性原理做架构设计

Posted on 二 13 1月 2026 in Tech • Tagged with journal, blog, architecture, design, first-principles

用第一性原理做架构设计:从“本质需求”推导到“可演进系统”


Continue reading