BYOK:DirX 如何让 API 密钥远离 Agent
DirX Team2026-02-254 min 阅读securityarchitecture
密钥问题
当 Agent 调用外部 API 时,需要凭证。最简单的方式:直接把 API Key 给 Agent。这很危险。
三级架构
DirX 实现了三级凭证查找:
Level 0: 本地存储 (~/.dirx/keys)
—文件系统级别,chmod 0600
—除非明确同步,否则永不离开本机
—快速,零网络跳数查找
Level 1: 外部密钥管理器
—1Password、Bitwarden 或任何兼容 OIDC 的 vault
—你现有的 vault 成为唯一真实来源
—无密钥重复
Level 2: DirX Vault
—网关同步,AES-256-GCM 加密
—Agent 作用域:每个 Agent 只能看到其允许路径的密钥
—每次密钥访问都有完整审计追踪
工作原理
# 开发者存储一次密钥
$ dirx keys set api.github.com --token ghp_xxxx --sync
# Agent 直接调用 API — 网关注入密钥
$ dirx cat /net/api.github.com/repos/dirxai/dirx
{"name":"dirx","stars":128}Agent 永远看不到 ghp_xxxx。网关在调用时解析凭证,注入到上游请求中,并从响应中剥离。
审计追踪
每次密钥访问都有日志:
$ dirx audit --path /byok 2026-02-27 ok read /byok/api.github.com [vault 2ms]
这才是正确的 BYOK — 带上你自己的密钥,但让它远离 Agent。