以 Webhook 触发器、审批门、工具执行、频道通知四大核心机制为线索,剖析一个生产级 .NET AI Agent 网关的设计哲学与实现细节。
TL;DR
OpenClaw.NET 是一个基于 .NET 9+ 构建的自托管 AI Agent 网关与运行时,采用模块化分层架构,支持 NativeAOT 编译。
核心设计围绕四个技术支柱:Webhook 端点体系、内存审批门、工具执行运行时、9 个频道适配器。
截至 2026 年 5 月,项目在 GitHub 上获得 351 stars,代码量超过 10 万行。
一、系统架构:四层模块化设计
OpenClaw.NET 采用分层网关模式,将事件接收、策略控制、智能执行和消息分发四个关注点清晰分离。
四个核心模块:Gateway(HTTP 端点)、Core(消息管道)、Agent(运行时)、Channels(频道适配器)。
关键技术选型:.NET 9.0 + System.Threading.Channels + Microsoft.Extensions.AI + NativeAOT。
二、Webhook 触发器:事件驱动的入口
Gateway 注册了覆盖全部 9 个频道的专用 Webhook 端点,提供两个通用端点:/hooks/wake(轻量通知)和 /hooks/agent(完整 Agent 执行)。
安全验证层:每个频道适配器实现了协议原生的签名验证机制,包括 Ed25519 公钥验证(Discord)、HMAC-SHA1(Twilio)、Bot Token 哈希校验(Telegram)等。
幂等性保证:WebhookDeliveryStore 基于哈希的幂等性缓存,默认 6 小时时间窗口,解决重复投递问题。
三、审批门:人机协作的安全阀
审批模型遵循」默认拒绝、渐进授权「的安全原则。通过 ToolActionPolicyResolver 判断操作是否为 mutation(写操作),只读工具自动通过。
ToolApprovalService 基于 ConcurrentDictionary + TaskCompletionSource 实现,将异步等待原语与并发集合结合,实现零阻塞的审批等待。
状态转换:Pending → Approved / Denied / TimedOut,支持 requester 匹配验证,防止恶意用户干预他人审批流程。
四、工具执行:运行时引擎
OpenClawToolExecutor 支持并行工具调用,执行流程遵循 Hook → Approval → Execute → Audit 四阶段管道。
AgentRuntime 实现完整的 Agent 主循环,包含熔断器(CircuitBreaker)保护下游 LLM 提供商配额。
内置 48 个原生工具,覆盖文件操作、会话与记忆、Web 交互、消息通信、家居自动化、数据库六大类别。
五、频道适配器:统一接口架构
IChannelAdapter 统一接口将 9 个异构通信平台抽象为一致契约,支持推送模式(Webhook)和拉取模式(WebSocket/Polling)。
三层安全控制:DM 策略(仅响应直接消息)、允许列表(白名单用户/频道)、签名验证。
发送端实现各频道协议原生优化:Slack 转换为 mrkdwn 格式、Telegram 自动分片超长消息、Email 支持 HTML/纯文本双格式。
六、可观测性与结语
OpenClaw.NET 的设计体现了五个核心理念:默认安全、渐进授权、零信任签名、策略与执行分离、运行时防御。
对于需要在私有环境中构建 AI Agent 网关的团队,OpenClaw.NET 提供了一个经过生产验证的架构参考,其模块化设计允许按需裁剪——从轻量的 /hooks/wake 通知代理到全功能的 Agent 运行时都可以平滑演进。

