Skip to content
🚀 EDDI 6.5.0

19个LLM提供商、可抓取网站并读取文件的知识库,以及沿用兼容代理版本的对话新功能

托管云 立即开始
所有集成
身份与安全${vault:}

Secrets Vault

内置的信封加密密钥保管库。配置以 ${vault:keyName} 的形式引用密钥,其值不会出现在代理配置、导出文件或日志中。

你将获得

  • 在 LLM、HTTP 调用、MCP 和 RAG 配置中使用 ${vault:keyName} 引用
  • AES-256-GCM 信封加密,每个租户使用独立的数据密钥
  • 按代理授权:哪些代理可以使用哪些密钥
  • 密钥会从配置导出中清除,并在日志中被脱敏

在 EDDI 中如何工作

  1. 设置保管库主密钥(EDDI_VAULT_MASTER_KEY)。安装程序会为你生成一个。没有密钥时保管库处于禁用状态。
  2. 用 PUT /secretstore/secrets/{tenantId}/{keyName} 或通过 Manager 存入密钥。
  3. 在配置中以 ${vault:keyName} 引用它。
  4. EDDI 在运行时解析该引用。明文不会存储在对话记忆中。
  5. 把 allowedAgents 收窄到确实需要该密钥的代理。检查在代理部署时执行。

配置

摘自 EDDI 文档。诸如 your-agent-id 之类的占位符需要你自行替换。

Store a secret存入密钥。响应绝不会返回其值。
curl -X PUT http://localhost:7070/secretstore/secrets/default/openai-key \
  -H "Content-Type: application/json" \
  -d '{"value":"sk-your-key","description":"OpenAI key"}'
langchain.json (reference it, never paste it)在 LLM 任务中按名称引用该密钥。
{
  "tasks": [{
    "actions": ["send_message"],
    "id": "simpleChat",
    "type": "openai",
    "description": "Simple chat",
    "parameters": {
      "apiKey": "${vault:openai-key}",
      "modelName": "your-model-id",
      "systemMessage": "You are a helpful assistant",
      "addToOutput": "true"
    }
  }]
}
Grant one secret to specific agents在不改动密钥值的前提下,更改谁可以使用它。
curl -X PUT "$EDDI/secretstore/secrets/default/openai-key/grant" \
  -H 'Content-Type: application/json' \
  -d '{"allowedAgents": ["0123456789abcdef01234567", "89abcdef0123456789abcdef"]}'

治理

  • 授权默认在部署时强制执行:引用了未获授权密钥的代理不会被部署。
  • 通过对话数据传入的保管库引用,例如用户输入或模型回复,会被拒绝,而不是被解析。
  • 明文会从请求记录、审批预览和请求日志行中被脱敏。
  • 开启认证后,保管库端点受 eddi-admin 角色保护。

须知

  • EDDI 没有原生的 HashiCorp Vault、AWS 或 Azure 客户端。在 Kubernetes 上,External Secrets Operator 可以从 HashiCorp Vault、AWS Secrets Manager 或 Azure Key Vault 同步 eddi-secrets Kubernetes Secret(其中存放保管库主密钥)。各个具体密钥仍然保存在 EDDI 保管库中。
  • 如果主密钥丢失,加密的密钥将无法恢复。请做好备份。

相关集成

本页的配置和行为依据 EDDI 文档,核对日期为 2026-10-14。字段名称和默认值可能随版本变化,请在所用版本的文档中确认。