Valmis 实战指南:用安全代理架构构建企业级 AI Agent 平台
AI Agent 正从个人助手走向企业工作流的核心,但一个根本问题一直悬而未决:如何让 Agent 安全地访问企业内部数据和服务?
OpenClaw 等方案让 Agent 直接持有 API 凭据,但凭据以明文存储在 Agent 内存中,甚至可能被发送到 LLM 提供商。对于受监管的企业场景(金融、医疗、合规审计),这几乎是不可接受的。
Valmis(爱沙尼亚语”完成”之意)提供了一个截然不同的思路:代理架构(Proxy Architecture)。它让 Agent 在 Docker 隔离容器中运行,只能通过宿主机的代理层请求外部 API——Agent 永不接触凭据原文。
架构核心:Proxy 系统
Valmis 的安全模型可以概括为三个层次:
- 容器隔离——每个 Agent 拥有独立的文件系统和运行时,与宿主机完全隔离
- 凭据加密——API 密钥和 OAuth Token 使用 AES-256-GCM 加密存储在数据库中
- 请求代理——Agent 只能通过凭据 ID 请求宿主机代为发起 API 调用,甚至连 LLM 请求本身也走代理通道
这意味着你甚至可以关闭 Agent 容器的互联网访问,Agent 仍然能通过代理正常完成工作。
Agent 容器 → 凭据 ID → 宿主机代理 → 目标 API
↓
凭据解密(宿主机侧完成)
↓
返回 JSON 结果 → Agent
快速部署:Docker Compose 一键启动
Valmis 的部署出奇地简单,整个系统在一个 Docker Compose 文件中:
cp .env.min.example .env
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
docker compose up -d
打开 http://localhost:3000 创建第一个管理员用户即可开始使用。系统包含前端(端口 3000)、后端(端口 4000)、pgvector 数据库和 Docker Socket Proxy 四个组件。
核心能力拆解
1. Agent 舰队管理
你可以创建多个独立 Agent,每个 Agent 分配不同的凭据、技能和知识库。甚至可以为每个 Agent 指定不同的 LLM 提供商——高优先级任务用 Claude,日常自动化用更经济的模型。
更进阶的用法是层级管理:某些 Agent 被授予团队主管权限,可以管理其他 Agent 的工作流,形成人类控制下的决策树。
2. 跨会话记忆系统
Valmis 的记忆系统受认知记忆研究启发,分为四个类别:
- Episodic(事件记忆):发生了什么
- Semantic(语义记忆):持久的客观事实
- Procedural(程序记忆):规则和约束
- Working(工作记忆):短期上下文
Agent 会在会话结束时自动蒸馏学到的内容,下一次对话从更智能的状态开始。记忆通过 pgvector 进行语义搜索,精准度高。
3. 工作流自动化
Valmis 的工作流构建器支持条件判断(AI 智能判断或严格逻辑判断)、循环和多步骤编排。触发器支持三种模式:
| 触发方式 | 适用场景 |
|---|---|
| Cron | 定时任务(每日报表、数据同步) |
| Webhook | 外部事件响应(表单提交、CI 回调) |
| App Events | 应用内事件(新邮件、Slack @提及) |
4. 浏览器自动化
启用的 Agent 可以操作无头浏览器——填写表单、点击按钮、阅读页面、截图。浏览器同样通过代理管理,Agent 无法直接控制浏览器进程,而是通过宿主机代理发送操作指令。
100+ 企业集成
Valmis 支持超过 100 个企业应用的集成,涵盖:
- 协作:Slack、Notion、Google Workspace、Microsoft Teams
- CRM:Salesforce、HubSpot、Intercom
- 电商:Shopify、WooCommerce、BigCommerce
- 财务:Stripe、QuickBooks、Xero
- 开发者工具:GitHub、Jira、Linear、Supabase
每个集成是一个 YAML 文件定义在 packages/utils/src/integrations/definitions/ 中,扩展起来很直接。
使用场景
场景一:自动处理客户工单
创建一个 Agent,赋予 Slack 和 Intercom 凭据。Agent 监听新工单通知,自动分析问题类型,查找知识库匹配答案,在 Slack 中请求人工确认后回复客户。
场景二:定时竞品分析报告
设置一个 Cron 触发的工作流:Agent 每周一早上 9 点打开竞品网站(通过浏览器自动化截图),收集 GitHub 更新信息,整理成 Notion 文档发送到团队 Slack 频道。
场景三:审批驱动的财务操作
Agent 生成发票处理建议,通过 Human-in-the-Loop 机制暂停等待财务人员确认,确认后才通过 Stripe 代理发起实际支付操作。
安全注意事项
- 容器网络——技术上可以关闭 Agent 容器的网络访问,所有请求走代理通道,这会最大化安全但牺牲部分灵活性
- 凭据轮换——建议定期更换
CREDENTIAL_ENCRYPTION_KEY,并配合自动化的凭据更新工作流 - 审计日志——Valmis 的代理机制天然留下 API 调用日志,在合规审计时是一个显著优势
总结
Valmis 的代理架构为 AI Agent 在企业场景中的安全落地提供了一个值得参考的方向——让 Agent 专注于任务执行,让宿主机控制安全边界。如果你是 DevOps 工程师或平台团队负责人,正在评估如何将 AI Agent 引入企业工作流,Valmis 的 Docker 一键部署和 100+ 预置集成可以帮你快速搭建一个 PoC。
项目地址:https://github.com/valmishq/valmis
文档:项目 README 包含完整的部署配置和集成列表
许可证:Apache-2.0
相关链接