LOCAL-FIRST · AES-256-GCM · ZERO NETWORK FOR LOCAL DECRYPTION

本地优先的密钥管理器Local-first secret manager

让 AI 用凭证引用构造命令,无需先把明文交给模型。Kyvault 默认本地加密存储,在运行时将值注入子进程环境。

Use secret references in AI-generated commands, then inject values at runtime. Child output and plaintext reads still need care.

开源 MIT · macOS / Linux / Windows · 预编译二进制,无需额外语言运行时

SAFE EXECUTION

# AI sees an alias. The process gets the secret.

$ ky run --env

GITHUB_TOKEN=secret://github/main \

-- git push

# Plaintext stays out of the prompt.

injected into subprocess

decrypted locally, offline

command contains only the reference

01 本地优先 / Local-first02 AES-256-GCM03 别名注入 / Alias injection04 MIT License
THE PROBLEM

你的 .env
不该进入 AI 上下文。

把密钥放进项目环境变量或提示词,AI 编码工具就可能在读取配置、调试输出或生成代码时接触到它。这可能使明文进入模型上下文与会话记录;是否用于训练取决于所用服务的政策与设置。

Kyvault 把密文留在本机。AI 只写变量名和稳定的 secret:// 地址;ky run 在本地解密并将值传给子进程。

HOW IT WORKS

三步,用引用构造命令、运行时注入凭证

01

本地加密存储

写入 API Key、Token、密码等凭证。Kyvault 使用 AES-256-GCM 加密,密文保存在本地用户配置目录。

ky set secret://github/main -
02

用别名描述所需凭证

命令、规则和 AI 上下文只出现变量名与 secret:// URI,不需要复制密钥明文。

GITHUB_TOKEN=secret://github/main
03

运行时单向注入

ky run 在本地解密,将值注入目标子进程的环境变量并执行命令。

ky run --env … -- git push
GET STARTED

一个命令,开始保护密钥。

下载预编译二进制,无需额外安装 Python、Node 或 Rust 工具链。Linux GNU 目标仍需兼容的系统库。安装器创建 ky 符号链接,与 kyvault 使用同一二进制。

TERMINALcurl -fsSL https://raw.githubusercontent.com/webkubor/kyvault/main/install.sh | bash

then run ky or kyvault

BEHAVIOR & BOUNDARIES

Kyvault 的行为与边界

本地加密与运行时注入减少了主动向模型提供明文的需要,同时保留以下边界。

能力 / Capability实际行为与边界 / Behavior and boundary
默认本地存储 / Local default文件后端使用 AES-256-GCM 加密,读取与解密无需联网。File reads and decryption work offline.
ky run命令引用别名或 URI,值在运行时注入子进程环境,无需先交给模型。References become child environment values at runtime.
ky get输出解密后的明文;AI 执行时,输出可能进入模型上下文。Prints plaintext, which an assistant may receive.
可选网络 / Optional networkAPI 验证与余额查询、更新、GitLab 同步及可选 D1 后端会联网。Validation, updates, sync and D1 use the network.
子进程输出 / Child output子进程可读取或输出注入值;Kyvault 不隔离子进程或自动过滤日志。No child sandbox or automatic log filtering.
CAPABILITIES

一座本地加密凭证台账

给 AI 安全用密钥

用 ky run 将密钥注入子进程。ky connect 可为 Gemini、agy、Claude、Codex、Hermes 和项目本地助手 接入规则与技能。

不止 API Key

用 URI 管理平台密钥、账号密码、服务器 IP / 端口 / 密码、云服务租金与 CLI 多 Profile Token。

secret://github/mainsecret://account/github/usersecret://server/host/fieldsecret://cli/gh/main

保护根密钥

Auth Guard 将根 master key 加密为 master.key.enc,支持本地 SSH 公钥解锁与 Google Authenticator TOTP。

验证、迁移、整理

运行 ky check 验证支持的平台密钥与余额;用预览模式导入现有 .env;通过 ky wizard 规范分类和命名。

本地 Web GUI

运行 ky ui 启动本地面板并自动打开浏览器。运行 ky wizard 使用终端分类向导。

可选团队密文同步

团队可通过 GitLab 同步加密后的密文和脱敏元信息;解密仍在本地完成,根密钥不入仓。

COMMON SEARCHES · 常见搜索

按你正在找的问题发现 Kyvault

密钥管理 · 秘钥管理 · Token 管理 · 令牌管理 · API Key 管理 · 凭证管理 · 密码管理 · secret manager · API key manager · token manager · password manager · .env alternative · local-first secret manager

FAQ

常见问题

密钥存在哪里?Where are secrets stored?

文件后端默认使用 ~/.keyring/,可通过 KYVAULT_STORE_DIR 指定目录;读取与解密无需联网。GitLab 密文同步和 D1 后端是可选网络功能。

明文会被发送到哪里吗?Is plaintext sent anywhere?

文件后端的加解密无需联网。ky run 把值注入子进程,无需先交给模型;但 ky get 会输出明文,子进程也可能输出凭证。验证、更新、同步与 D1 会访问网络。

别名注入如何工作?How does alias injection work?

把别名或 secret:// URI 映射到已存凭证,然后运行 ky run --env NAME=secret://platform/name -- command。Kyvault 本地解析凭证,再通过子进程环境变量传入。

什么是 Auth Guard?

Auth Guard 将根 master key 加密为 master.key.enc,可用绑定的本地 SSH 公钥解锁,也可为敏感操作配置 Google Authenticator TOTP。

如何从 .env 迁移?

运行 ky import --dry-run 先预览导入计划;它只输出映射,不写入密钥库。

KEEP YOUR SECRETS YOURS

从今天起,把明文留在本机。

Kyvault v2.6.0 · MIT · Built for developers and AI agents.

下载最新版本