$dirxv0.1
← /blog

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。