OpenClaw作为个人助手工具正掀起自托管风潮,但如何将其架构拓展至企业级应用?本文深度拆解从单用户到多租户的关键设计跃迁,聚焦身份管理、路由隔离、记忆分层等六大核心维度,提供三条可落地的扩展路径,助你避开企业化改造中的架构陷阱。
最近OpenClaw很火,大家纷纷在「养虾」——自托管、接渠道、玩Agent。但OpenClaw的定位始终是个人助手:单Gateway、单用户(或小范围)、数据与逻辑在自己手里。若想基于这套开源架构,延伸出面向企业场景的产品与架构设计,该从哪儿想、先想什么?本文在OpenClaw现有「个人/自托管」架构(单Gateway、多渠道统一入口、Agent+Memory+Tools+Skills)基础上,从思考维度出发,梳理如何从个人架构扩展到企业场景的架构与选型,少踩坑、可阶段落地。不涉及具体实现,仅作架构与产品思路参考。
1.先锚定「企业」要解决什么不同
核心一句话:从「一个控制面、一个身份、一套记忆与工具」扩展到「多租户、多身份、分层记忆与受控工具」,需要系统地在每一层想清楚「边界在哪里、谁做决策」。
个人vs企业:架构视角对比
2.按架构层次逐层思考
下面按「从外到内」的顺序:入口与身份→租户与路由→会话与Agent→记忆与知识→工具与技能→可观测与治理。每一层都可以单独做最小扩展,再组合。
2.1入口与身份(谁可以连上Gateway)
当前:单机/单Gateway,连接者通过本地配置或设备配对获得访问。
企业要问:
用户身份从哪来?企业目录(LDAP/AD)、IdP(Okta/AzureAD)、还是内建账号?
一个Gateway是否只服务一个「组织」,还是多组织共用同一套部署(多租户)?
连接Gateway的「客户端」是用户本人,还是某个服务账号(例如部门Bot)?如何区分「人」与「机器」?
设计倾向:先明确「一个企业实例=一个组织」还是「一个实例多组织」;再定身份来源(SSO/SAML/OIDC等),并让后续的会话、路由、权限都基于同一套identity。
2.2租户与路由(消息进哪个会话、哪个Agent)
当前:sessionKey标识「哪条对话」,路由到对应workspace/agent;渠道(Telegram/WhatsApp等)只是入口,最终都进同一套会话与Agent逻辑。
企业要问:
租户:会话/工作区/Agent是否按「团队、部门、项目」做隔离?同一用户在不同租户下是否有不同workspace、不同技能集?
路由:企业里除了「用户
个人助手」,是否还有「用户
部门Bot」「用户
项目Agent」?路由规则由谁配置(管理员/部门负责人)?
渠道与租户:例如「Slack某channel→某团队Agent」「Teams某channel→某项目Agent」,需要把「渠道+空间」映射到tenant+sessionKey(或等价物)。
设计倾向:在现有sessionKey/workspace之上增加一层「租户/上下文」抽象(可以是tenantId、teamId、projectId等),路由时先解析「这条消息属于哪个租户、哪个会话」,再复用现有agent循环;避免为「企业版」重写一套完全不同的路由。
2.3会话与Agent(并发、排队、配额)
当前:按sessionKey入队,同一session串行;全局maxConcurrent限制;一个agent一个workspace。
企业要问:
并发与配额是否按租户/用户/项目做限流?避免单租户占满全局lane。
企业内是否有「高优先级会话」(VIP、工单升级)需要优先队列或专用lane?
workspace是每租户一个、每项目一个,还是每用户一个?与现有「一个agent一个workspace」如何对应?
设计倾向:在现有「per-session串行+全局lane」上增加「per-tenant或per-user的并发上限」和可选的优先级策略;workspace路径可带租户/项目前缀,便于隔离与备份。
2.4记忆与知识(个人vs组织、谁可以读谁)
当前:文件式记忆MEMORY.md+memory/.md;MEMORY.md随bootstrap注入,memory/.md通过memory_search+memory_get按需读;无多用户/多租户边界。
企业要问:
个人记忆:是否仍保留「每个用户/每个会话」的MEMORY.md+memory/*.md,且严格隔离?
组织知识:是否有一层「组织/团队/项目」共享知识库?若共享,谁可以写、谁可以读、是否要审批或版本管理?
检索边界:memory_search是否只查「当前用户/当前租户」的记忆?组织知识库是否单独索引、单独API(如org_knowledge_search)?
合规:记忆留存策略(保留多久、能否删除、是否支持导出)是否按租户/合规域配置?
设计倾向:记忆分层——「个人记忆」(现有机制+租户/用户边界)与「组织知识」(独立存储与检索、带ACL);先明确「组织知识只读/可写」与「个人记忆仅本人」的边界,再设计索引与注入策略(例如系统提示里「可用的组织知识」仅列出允许的集合)。
2.5工具与技能(企业API、审批、发布)
当前:MCP与内置工具;skills来自workspace/~/.openclaw/skills/bundled;门控(requires.bins/env/config);用户可/skill或由模型从选用。
企业要问:
审批与敏感操作:某些工具(如发邮件、下单、审批)是否必须经人工确认或审批流?与现有execapproval如何扩展(按租户/按工具/按角色)?
技能治理:企业技能库是否集中管理、版本化、需审批后发布?谁可以看到/使用哪些技能?与现有「workspace>managed>bundled」优先级如何兼容(例如企业层=managed的上级)?
模型与成本:企业是否统一指定模型、按团队/项目计费或配额?是否限制某些敏感数据不能发往外部模型?
设计倾向:在现有「工具+MCP+skills」之上增加「企业工具目录」与「技能发布/可见范围」;敏感工具统一走审批链;模型与配额可绑定到租户/项目,便于成本与合规控制。
2.6可观测、成本与治理(谁在用什么、花了多少)
当前:本地日志、Gateway事件;无多租户/多用户的资源与成本拆分。
企业要问:
审计:谁在何时调用了哪个Agent、哪些工具、是否涉及敏感数据?日志是否可导出、保留多久、是否支持合规检索?
成本归属:API调用、模型token、外部工具调用是否按租户/项目/用户统计?是否要做预算与告警?
SLA与健康:企业是否要求Gateway/Agent的可用性、延迟承诺?心跳、健康检查、告警是否按租户或按关键会话配置?
设计倾向:从第一版企业扩展就为「请求/会话」打上tenantId(及可选的userId、projectId),所有日志与指标带这些维度;在此之上再做审计报表与成本分摊,避免事后补标签。
3.三条可选的扩展路径(由简到繁)
路径A:单企业、单租户
一个企业一个部署、一套身份(如企业SSO);不强调「多租户」隔离,只做身份与权限(谁能用哪些渠道、哪些技能)。
适合:单一公司、IT统一运维、先解决「从个人到公司内网」的过渡。
路径B:单实例、多租户
同一套Gateway服务多个团队/部门/项目;租户ID贯穿路由、会话、记忆、工具可见性;数据与日志按租户隔离。
适合:集团内多BU、SaaS形态的「企业版OpenClaw」。
路径C:多实例、多区域/多合规域
不同地区或合规要求下部署多个Gateway(或集群);身份与策略中心统一,数据与执行本地化。
适合:跨国、数据主权、强合规行业。
建议:先想清楚目标客户是A还是B/C,再反推身份、租户、记忆、工具要做到哪一层,避免一次做满「全球多租户」导致复杂度爆炸。
4.与现有架构的对应关系
现有概念到企业扩展:组件关系
企业加层与现有组件的对应:身份→网关接入;租户→会话/工作区/记忆/审计;权限与审批→工具/技能。
5.总结:怎么想「从架构到企业」
个人助手和企业产品之间,差的不是「功能堆砌」,而是边界和分层。想基于OpenClaw这类架构做企业延伸,可以记住四件事:
先定边界—单租户还是多租户?单实例还是多区域?身份和数据谁管?想清楚再动手。再按层拆—从入口身份、租户路由、会话与Agent、记忆与知识、工具与技能,到可观测与治理,一层层问:企业多出来的需求是什么。尽量复用—在现有网关、会话、工作区、Agent、记忆、工具、技能上「加一层」(租户、权限、审批),而不是推倒重写。从最小可行起步—先做「单企业+SSO+按团队隔离+审计日志」,再迭代多租户和组织知识库。
一句话:把「从个人到企业」拆成可落地的几步,比一上来就做「全球多租户」靠谱得多。如果你也在从个人架构往企业场景探路,欢迎在评论区聊聊你的选型和踩坑经历。
热门跟贴