下载

在您的机器上获取 Clavitor。

CLI 为您的代理提供对保管库的受限访问。代理会以透明方式将凭证注入 HTTPS 请求。两者都是小型、自包含的下载文件。

下载

Clavitor CLI

Fetch credentials, generate TOTP codes, store new secrets.

PlatformSizeSHA-256
Linux · amd644.3 MB1b99bab674c0a315…Download
Linux · arm643.1 MBc6dbef906d94be82…Download
macOS · Intel2.2 MB62bd8b8b493f498d…Download
macOS · Apple Silicon2.0 MBa9e9d46cec185e5d…Download
Windows · amd641.7 MB5ef09e2884b7f1e8…Download
FreeBSD · amd644.3 MBc8b2568dc6beff64…Download

Clavitor Proxy

Local HTTPS proxy that injects credentials into agent requests.

PlatformSizeSHA-256
Linux · amd644.7 MB4838a1a69e556b20…Download
Linux · arm643.4 MBd535b91eb41df25d…Download
macOS · Intel2.3 MB708551725b7f9872…Download
macOS · Apple Silicon2.2 MBe4b08eac8f461003…Download
Windows · amd641.8 MB8e1b50fbe73fa51f…Download
FreeBSD · amd644.6 MB04a6f97864f2a046…Download

The macOS and Windows downloads are archives: the program and the two libraries of its FIPS crypto module, which stay in the same folder.

Download SHA256SUMS · verify with sha256sum -c SHA256SUMS

浏览器扩展

更希望在浏览器中填充凭据?Clavitor 扩展程序会将密码、通行密钥、银行卡和一次性验证码直接填入目标字段——同时您的保管库保持远程托管,您的设备上不会缓存或解密任何数据。

现已支持 Chrome。Firefox 和 Safari 即将推出。

设置智能体

只需两步。从全新安装 CLI 到建立可用的智能体身份,不到一分钟。

1. 在保管库中创建智能体

在保险库的 Web 界面中,前往 代理 → 新建。为代理命名(例如 "Claude Code"),并选择它可以访问的条目。Clavitor 会返回一个 注册 blob 和一个 注册密钥。blob 已密封(其中编码了保险库地址与代理身份);密钥是唯一能打开它的秘密。请像对待密码一样对待该密钥:直接交给运行代理的机器,然后丢弃。

2. 在智能体所在的机器上初始化 CLI

$ clavitor-cli init <enrollment-blob>
Enrollment key:

CLI 会提示输入密钥(绝不会从命令行读取,也不会回显),在本地解密 blob,并将结果保存为加密的本地配置,路径为 ~/.config/clavitor/config(或 $XDG_CONFIG_HOME/clavitor/config)。之后无需再使用 blob 或密钥。下一节说明代理从此如何使用 CLI。

设置代理

适用于已支持 HTTP/HTTPS 的智能体——如 Claude Desktop、自定义脚本,或任何使用 requests 或 fetch 的程序。代理位于智能体与上游 API 之间,在传输过程中解析 clavitor://Entry/field 占位符,确保智能体永远不会持有实际凭据。有关威胁模型和协议详情,请参阅代理架构页面。

本指南采用通俗易懂的语言编写,无论是人类还是 AI 智能体,均可从头至尾阅读并在真实设备上执行。请在下方选择您的操作系统——每个部分均包含一个完整的六步操作流程。

开始之前:从保险库获取注册 blob 和密钥

您需要从保险库获取注册 blob 及其注册密钥。这是唯一只能由人完成的步骤 — 保险库需要一次硬件触碰才能授权新代理。

在保险库的 Web 界面中,前往 代理 → 新建,为代理命名(例如 "Local Proxy"),选择它可以访问的条目,并在提示时轻触安全密钥。Clavitor 会返回一个注册 blob 和一个注册密钥。请复制两者。下面的步骤会要求您各粘贴一次,之后即可不再理会。

Linux

以下演练使用 bash 并假设您使用的是 x86-64 架构;如果您使用的是 aarch64,请将 amd64 替换为 arm64。

1. 下载代理二进制文件并赋予其可执行权限。 这是一个独立的单一二进制文件,无依赖项:

$ curl -LO https://clavitor.ai/downloads/clavitor-proxy-linux-amd64
$ chmod +x clavitor-proxy-linux-amd64

2. 二进制文件已在磁盘上。现在将其绑定到您的保险库。 代理从 stdin 读取 blob 和密钥(绝不从命令行读取,因此不会泄漏到 shell 历史记录中)。在提示时从「开始之前」分别粘贴(密钥不会回显),然后确认它显示的保险库主机:

$ ./clavitor-proxy-linux-amd64 init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>

  This token enrolls the agent against vault:

      <vault-host>

  Your key authenticated the blob — NOT this host. If you did not get
  this blob from your own vault operator, answering yes hands your
  agent's credential resolution to whoever did.
  Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config /path/to/clavitor.conf
Try: clavitor-proxy ca > ca.pem   then   clavitor-proxy serve

刚才发生的事:blob 已用密钥在本地解密(没有网络调用),保险库地址、代理身份和凭证解密密钥已写入二进制文件旁的加密文件 clavitor.conf(权限 0600)。之后无需再使用 blob 或密钥。当输入通过管道传入而非手动键入时,无法回答主机确认,因此请先设置 CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>。

3. 导出代理的根 CA。 代理将终止智能体发起的每个 HTTPS 连接,并为每个上游主机动态重新颁发证书。如果不信任其根 CA,这些证书将无法通过验证:

$ ./clavitor-proxy-linux-amd64 ca > clavitor-proxy-ca.pem

4. 将 CA 安装至系统信任存储。 在 Debian/Ubuntu 及其衍生版本上:

$ sudo cp clavitor-proxy-ca.pem /usr/local/share/ca-certificates/clavitor-proxy-ca.crt
$ sudo update-ca-certificates

update-ca-certificates 应输出 1 added。此后,机器上的每个 HTTPS 客户端(curl、Python 的 requests、Go 的 net/http 等)都会将代理的证书视为合法证书予以接受。

5. 启动代理。 它将绑定到 127.0.0.1:1983 并在前台运行;按 Ctrl-C 可停止:

$ ./clavitor-proxy-linux-amd64 serve
clavitor-proxy <version> listening on 127.0.0.1:1983
Point your agent at:  HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983
  Token redacted above; it is stored 0600 at /path/to/proxy-auth.
  e.g.  export HTTPS_PROXY="http://clavitor:$(cat /path/to/proxy-auth)@127.0.0.1:1983"

若需永久部署,请添加一个指向同一二进制文件的 systemd 单元,使其在重启后自动启动——请参阅代理文档获取参考单元配置。

6. 将代理指向该 proxy 并端到端验证。 在另一个 shell 中,进入存放二进制文件的文件夹(其中的 proxy-auth 文件是该 proxy 的访问令牌;serve 会打印这一行):

$ export HTTPS_PROXY="http://clavitor:$(cat proxy-auth)@127.0.0.1:1983"
$ curl -H "Authorization: Bearer clavitor://OpenAI/key" https://api.openai.com/v1/models

实际离开代理并到达 OpenAI 服务器的内容——即您的智能体永远看不到的请求:

GET /v1/models HTTP/1.1
Host: api.openai.com
Authorization: Bearer sk-proj-abc123def456ghi789…    ← real key, injected by the proxy
User-Agent: curl/8.4.0

如果您收到来自 OpenAI 的 JSON 响应,则说明一切已配置就绪。代理使用步骤 2 中的凭据解密密钥,针对保管库解析了 clavitor://OpenAI/key,将真实密钥替换到 Authorization 标头中,并将请求转发至上游。您的智能体代码仅持有占位符;真实密钥绝不会离开代理的进程内存。

macOS

以下演练使用 zsh(macOS 默认 shell)并假设您使用的是 Apple Silicon 芯片;若您使用的是 Intel Mac,请将 arm64 替换为 amd64。

1. 下载代理程序并解压。 压缩包中包含一个文件夹:程序本身及其 FIPS 加密模块的两个库文件,它们与程序位于同一目录:

$ curl -LO https://clavitor.ai/downloads/clavitor-proxy-darwin-arm64.tar.gz
$ tar -xzf clavitor-proxy-darwin-arm64.tar.gz
$ cd clavitor-proxy-darwin-arm64

若 macOS Gatekeeper 在首次运行时拦截该二进制文件,请在 Finder 中右键点击该文件,选择打开并确认——这将添加例外规则。此后即可正常通过命令行调用。

2. 二进制文件已在磁盘上。现在将其绑定到您的保险库。 代理从 stdin 读取 blob 和密钥(绝不从命令行读取,因此不会泄漏到 shell 历史记录中)。在提示时从「开始之前」分别粘贴(密钥不会回显),然后确认它显示的保险库主机:

$ ./clavitor-proxyinit
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>

  This token enrolls the agent against vault:

      <vault-host>

  Your key authenticated the blob — NOT this host. If you did not get
  this blob from your own vault operator, answering yes hands your
  agent's credential resolution to whoever did.
  Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config /path/to/clavitor.conf
Try: clavitor-proxy ca > ca.pem   then   clavitor-proxy serve

刚才发生的事:blob 已用密钥在本地解密(没有网络调用),保险库地址、代理身份和凭证解密密钥已写入二进制文件旁的加密文件 clavitor.conf(权限 0600)。之后无需再使用 blob 或密钥。当输入通过管道传入而非手动键入时,无法回答主机确认,因此请先设置 CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>。

3. 导出代理的根 CA。 代理将终止智能体发起的每个 HTTPS 连接,并为每个上游主机动态重新颁发证书。如果不信任其根 CA,这些证书将无法通过验证:

$ ./clavitor-proxyca > clavitor-proxy-ca.pem

4. 将 CA 安装至系统钥匙串。 仅需一条命令,系统会提示您输入 sudo 密码:

$ sudo security add-trusted-cert -d -r trustRoot \
    -k /Library/Keychains/System.keychain clavitor-proxy-ca.pem

此后,Safari、curl、Swift、Python、Go 以及机器上的大多数其他 HTTPS 客户端都会接受代理的证书。(少数语言运行时自带信任捆绑包,需要单独配置——如果是这种情况,您会看到证书错误。)

5. 启动代理。 它将绑定到 127.0.0.1:1983 并在前台运行;按 Ctrl-C 可停止:

$ ./clavitor-proxyserve
clavitor-proxy <version> listening on 127.0.0.1:1983
Point your agent at:  HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983
  Token redacted above; it is stored 0600 at /path/to/proxy-auth.
  e.g.  export HTTPS_PROXY="http://clavitor:$(cat /path/to/proxy-auth)@127.0.0.1:1983"

若需永久部署,请将其作为 launchd 服务安装,使其在登录时启动并在崩溃后重启。

6. 将代理指向该 proxy 并端到端验证。 在另一个 shell 中,进入存放二进制文件的文件夹(其中的 proxy-auth 文件是该 proxy 的访问令牌;serve 会打印这一行):

$ export HTTPS_PROXY="http://clavitor:$(cat proxy-auth)@127.0.0.1:1983"
$ curl -H "Authorization: Bearer clavitor://OpenAI/key" https://api.openai.com/v1/models

实际离开代理并到达 OpenAI 服务器的内容——即您的智能体永远看不到的请求:

GET /v1/models HTTP/1.1
Host: api.openai.com
Authorization: Bearer sk-proj-abc123def456ghi789…    ← real key, injected by the proxy
User-Agent: curl/8.4.0

如果您收到来自 OpenAI 的 JSON 响应,则说明一切已配置就绪。代理使用步骤 2 中的凭据解密密钥,针对保管库解析了 clavitor://OpenAI/key,将真实密钥替换到 Authorization 标头中,并将请求转发至上游。您的智能体代码仅持有占位符;真实密钥绝不会离开代理的进程内存。

Windows

以下演示基于 64 位 Windows 上的 PowerShell。

1. 下载代理程序并解压。 zip 压缩包中包含一个文件夹:clavitor-proxy.exe 及其 FIPS 加密模块的两个库文件,它们与程序位于同一目录:

> Invoke-WebRequest https://clavitor.ai/downloads/clavitor-proxy-windows-amd64.zip `
    -OutFile clavitor-proxy.zip
> Expand-Archive clavitor-proxy.zip .
> cd clavitor-proxy-windows-amd64

首次运行未签名的二进制文件时,Windows SmartScreen 可能会弹出警告——请点击更多信息 → 仍要运行以允许执行。

2. 二进制文件已在磁盘上。现在将其绑定到您的保险库。 代理从 stdin 读取 blob 和密钥(绝不从命令行读取,因此不会泄漏到 PowerShell 历史记录中)。在提示时从「开始之前」分别粘贴(密钥不会回显),然后确认它显示的保险库主机:

> .\clavitor-proxy.exe init
Paste enrollment blob, then press Enter:
<paste-the-blob-here>
Enrollment key:
<paste-the-key-here>

  This token enrolls the agent against vault:

      <vault-host>

  Your key authenticated the blob — NOT this host. If you did not get
  this blob from your own vault operator, answering yes hands your
  agent's credential resolution to whoever did.
  Enroll against <vault-host>? [yes/no] yes
Enrolled against vault https://<vault-host>
Vault ID <vault-id>
Config C:\path\to\clavitor.conf
Try: clavitor-proxy ca > ca.pem   then   clavitor-proxy serve

刚才发生的事:blob 已用密钥在本地解密(没有网络调用),保险库地址、代理身份和凭证解密密钥已写入二进制文件旁的加密文件 clavitor.conf。之后无需再使用 blob 或密钥。当输入通过管道传入而非手动键入时,无法回答主机确认,因此请先设置 CLAVITOR_PROXY_CONFIRM_VAULT=<vault-host>。

3. 导出代理的根 CA。 代理将终止智能体发起的每个 HTTPS 连接,并为每个上游主机动态重新颁发证书。如果不信任其根 CA,这些证书将无法通过验证:

> .\clavitor-proxy.exe ca > clavitor-proxy-ca.pem

4. 将 CA 安装至本地计算机的受信任根证书存储。 以管理员身份打开 PowerShell(右键点击 PowerShell → 以管理员身份运行)并执行:

> certutil -addstore -f "ROOT" clavitor-proxy-ca.pem

此后,Edge、.NET、curl.exe 以及机器上的大多数 HTTP 客户端都会接受代理的证书。(Firefox 维护自己的信任存储;如果您通过 Firefox 进行测试,请在设置 → 隐私与安全 → 证书 → 查看证书 → 证书机构 → 导入下单独导入 CA。)

5. 启动代理。 它将绑定到 127.0.0.1:1983 并在前台运行;按 Ctrl-C 可停止:

> .\clavitor-proxy.exe serve
clavitor-proxy <version> listening on 127.0.0.1:1983
Point your agent at:  HTTPS_PROXY=http://clavitor:<token>@127.0.0.1:1983
  Token redacted above; it is stored 0600 at C:\path\to\proxy-auth.
  e.g.  export HTTPS_PROXY="http://clavitor:$(cat C:\path\to\proxy-auth)@127.0.0.1:1983"

若需永久部署,请将其注册为 Windows 服务或计划任务,使其随系统开机自动启动。

6. 将代理指向该 proxy 并端到端验证。 在另一个 PowerShell 窗口中,进入存放二进制文件的文件夹(其中的 proxy-auth 文件是该 proxy 的访问令牌):

> $env:HTTPS_PROXY = "http://clavitor:$(Get-Content proxy-auth)@127.0.0.1:1983"
> curl.exe -H "Authorization: Bearer clavitor://OpenAI/key" `
    https://api.openai.com/v1/models

(请显式使用 curl.exe——PowerShell 的 curl 别名指向 Invoke-WebRequest,其处理代理环境变量的方式有所不同。)实际离开代理并到达 OpenAI 服务器的内容——即您的智能体永远看不到的请求:

GET /v1/models HTTP/1.1
Host: api.openai.com
Authorization: Bearer sk-proj-abc123def456ghi789…    ← real key, injected by the proxy
User-Agent: curl/8.4.0

如果您收到来自 OpenAI 的 JSON 响应,则说明一切已配置就绪。代理使用步骤 2 中的凭据解密密钥,针对保管库解析了 clavitor://OpenAI/key,将真实密钥替换到 Authorization 标头中,并将请求转发至上游。您的智能体代码仅持有占位符;真实密钥绝不会离开代理的进程内存。

安装 Claude Code 技能

CLI 内置了技能定义文件,可指导 Claude Code 如何使用您的保管库。仅需一条命令即可完成安装。

# Install globally (all projects)
$ clavitor-cli skill > ~/.claude/skills/clavitor.md

# Or install for a specific project
$ clavitor-cli skill > /path/to/project/.claude/skills/clavitor.md

该技能已嵌入二进制文件中。如需更新,请下载最新版本。

开始使用

您的智能体现在可以获取凭据、生成 TOTP 验证码并存储新机密。所有访问操作均会记录在保管库的审计日志中。

# Fetch a credential
$ clavitor-cli get github

# Generate a TOTP code
$ clavitor-cli totp github

# Store a new credential
$ clavitor-cli put credential "AWS Prod" --username admin --password s3cret

# List all entries
$ clavitor-cli list

一次 CLI 调用。所有机密。

您的保管库,您的作用域,您的审计日志。无需环境变量,无需配置文件,日志中绝不泄露机密。