AI 时代开发者密钥与资产台账管理器 — 用别名注入,减少向模型上下文传递明文。
本地优先(local-first)的 secret manager(密钥管理 / 秘钥管理)
一个二进制同时是 API key manager(API Key 管理)、token manager(Token 管理 / 令牌管理)、password manager(密码管理)与 credentials(凭证管理)台账;
AES-256-GCM 加密落盘,提供本地 secret management 与 dotenv / .env 替代方案;用 `ky run` 将凭证注入子进程,避免在模型上下文中传递明文。
面向人的独立 Tauri 2 App:文本剪贴板历史、配置片段版本和本地密钥管理。CLI 继续供 Agent 与脚本使用。构建、使用与本地存储边界见 桌面版说明。当前为本地构建预览版,未公开发布。
一条命令把密钥从「明文躺在上下文里」变成「只有别名的引用」。
下载 MP4(1920×1080)
| 能力 | 实际行为与边界 |
|---|---|
| 默认本地存储 | 文件后端使用 AES-256-GCM 加密,读取与解密无需联网。 |
ky run 别名注入 |
命令只需引用别名或 secret:// URI,值在运行时传入子进程环境,无需先交给模型上下文。 |
ky get 明文读取 |
会将解密后的值输出到终端;交给 AI 执行时,输出可能进入模型上下文。 |
| 可选网络功能 | API 验证与余额查询、更新、GitLab 同步和可选 D1 后端会访问网络。 |
| 子进程输出 | 子进程能读取并输出注入的值;Kyvault 不隔离子进程,也不自动过滤其日志。 |
不想敲命令?ky ui 一键唤起本地极客 Web GUI —— 向导式录入、可视化检索,全程零命令。
智能存入向导 —— 选大类 → 选平台 → URI 自动生成,粘贴密钥点「安全加密存入」即完成。
凭证检索台账 —— 全库检索、按平台/别名过滤,末位标识辅助辨认(不暴露完整密钥)。
GUI 只绑 127.0.0.1,地址带每次启动随机生成的 token —— 本机其他网页借不走你的明文。
macOS 用户还可以一键生成 Dock 图标(点图标 = 打开 GUI,不用开终端):
bash scripts/make-dock-app.sh # 生成 ~/Applications/Kyvault GUI.app,拖进 Dock 即可- 🔒 别名注入 (Alias Injection): 用别名(如
github_token)引用凭证,ky run在运行时将值注入子进程,无需把明文写进提示词。子进程仍可读取或输出该值。 - 🌐 本地极客 Web GUI 与向导 (Web GUI & Wizard): 一键
ky ui唤起本地极客暗黑风面板;ky wizard提供终端四步分类引导,彻底告别命名不统一。 - 🧾 浏览器录入、先验证再写库 (
ky add): 邮箱授权码 / 应用专用密码、邮箱登录密码、API Key 都在本地页面粘贴:自动去空格与零宽字符、大小写原样保留;先用 IMAP 或平台接口验证,通过才加密写入;一个邮箱只保留一条登录密码,新的覆盖旧的。 - 🤖 多平台 CLI 智能对接 (AI Connect): 一键
ky connect,自动将规则和技能注入Gemini/agy/Claude/Codex/Hermes及项目本地助手 记忆与规则库。 - 🖥️ 开发者加密台账中心 (Developer Ledger): 加密管理服务器账号密码、云服务租金、CLI 客户端多 Profile 凭证令牌,支持 URI 寻址。
- ⚡ 极简短命令 (First-Class
ky):ky作为官方第一公民,敲ky list、ky run、ky ui享受最极客的开发者心流。
# 1. 一键安装(自动就绪 kyvault 与短命令 ky)
curl -fsSL https://raw.githubusercontent.com/webkubor/kyvault/main/install.sh | bash
# 或者用 Cargo(需要 Rust 工具链)
cargo install kyvault
# 2. 一键连接本地所有 AI 智能体 (Claude / Codex / agy / Hermes / Cursor)
ky connect
# 3. 浏览器录入凭据:自动去空格 → 找旧条目 → 先验证,通过才写库
ky add # 也可 --email [email protected] / --email [email protected] --login / --provider deepseek
# 极客 Web GUI 可视化检索(自动打开本地浏览器,地址带一次性随机 token)
ky ui
# macOS:一键生成 Dock 图标,点图标即开 GUI(见上方「本地 GUI」节)
bash scripts/make-dock-app.sh
# 4. 或命令行引导式规范录入
ky wizard
# 5. 以凭证引用构造命令,运行时注入(避免子进程输出密钥)
ky run --env GITHUB_TOKEN=secret://github/pat -- git push💡 关于快捷短命令
ky:ky是kyvault的官方第一公民短命令,两者完全等价。敲ky list、ky run、ky ui即可体验极致的极客开发流。
- 痛点:当 AI 助手读取含有凭证的
.env文件,或命令输出了环境变量时,明文可能进入模型上下文与会话记录。是否用于训练取决于所用服务的政策与设置。 - 解法:通过别名映射注入,AI 可用别名或
secret://URI 构造命令,ky run再把值传给子进程环境。这减少了主动向模型提供明文的需要;它不是沙箱,ky get或子进程输出仍可能暴露凭证。
- 一键连接:内置
kyvault connect命令,能自动发现并注入当前机器的全局 Gemini/Claude 规则与当前项目的.agents/技能文件。 - IDE 无感对接:自动识别项目目录并追加安全别名规则到
.cursorrules与.copilotinstructions。AI 智能体在理解您的项目时会“自动学会”使用kyvault,实现零人工介入的主动安全运维。
- 服务器台账:将服务器 IP、root 登录密码、云服务商及月度租用成本以第一公民的数据结构集中加密记录,统一支持
secret://server/<host>/[ip|root-password]的 URI 寻址解密。 - CLI 多账户管理:支持针对同一个 CLI 工具(如
studio-cli、git)管理多套 Profile(如主账户、测试账户、部署账户)的 Token,多账户环境一键读取,杜绝身份混淆。
- 认证加密:文件后端使用 AES-256-GCM 加密凭证值;寻址名称和部分审计元信息不加密。
- 离线读取:默认文件后端的读取与解密无需联网。API 验证、更新、GitLab 同步及可选 D1 后端会访问网络。
⚠️ name 是别名,不要填密钥本身。secret://<platform>/<name>里的name不加密 —— 它是寻址用的,list会原样打印。 把密钥填进 name 等于「加密存了一份、明文又漏一份」。往set里塞sk-.../ghp_...当 name 等于自废加密。
- 无感导入:支持一键导入项目已有的
.env配置文件,并自动匹配最适合 AI 使用的变量别名。 - 支持 Dry-Run:在实际导入前提供安全预览机制,清晰掌握数据结构变化。
# 保存账户(用户名+密码)
kyvault account set github [email protected] mypassword123
kyvault account set github [email protected] adminpass456
# 读取密码
kyvault account get github [email protected]
# 列出平台下所有账户
kyvault account list github
# 删除账户
kyvault account delete github [email protected]# 保存平台密钥(API Key、Token 等)
kyvault key set github ghp_xxxxxxxxxxxx
kyvault key set openai sk-xxxxxxxxxxxx
# 读取密钥
kyvault key get github ghp_xxxxxxxxxxxx
# 列出平台下所有密钥
kyvault key list github
# 删除密钥
kyvault key delete github ghp_xxxxxxxxxxxx# 列出所有平台及摘要
kyvault platform
# 查看指定平台详情
kyvault platform github# 推代码
kyvault run --env GITHUB_TOKEN=secret://github/pat -- git push
# 调 API
kyvault run --env OPENAI_API_KEY=secret://openai/api-key -- python app.py
# 多个密钥
kyvault run --env TOKEN1=secret://example/first --env TOKEN2=secret://example/second -- python script.py# 创建别名(AI 只认识这个)
kyvault alias set github_token secret://github/pat
# 用别名注入
kyvault run --env GITHUB_TOKEN=github_token -- git push# 预览(不实际导入)
kyvault import --file .env --dry-run
# 导入全部
kyvault import --file .env
# 只导入 GitHub 相关
kyvault import --file .env --prefix GITHUB_通过全局和项目本地规则,向 AI 编码助手(如 Cursor、VSCode Copilot、Claude Code 等)说明密钥库与别名用法,引导其优先使用注入命令:
# 一键自动对接全局 Gemini 规则和当前项目下的 .agents/、.cursorrules 和 .copilotinstructions
kyvault connect以第一公民命令格式加密存储您的所有服务器台账,支持以 secret:// 的形式让 AI 直接寻址解密:
# 1. 保存服务器(必填:主机名、IP、root密码;可选:月租成本、云服务商)
kyvault server set my-host 120.46.12.3 rootpwd123 --cost "99元/月" --provider "腾讯云"
# 2. 查询全部台账信息
kyvault server get my-host
# 3. 指定读取单个加密字段(支持 secret:// URI 路由兼容,完美服务 AI)
kyvault server get my-host --field ip # 输出: 120.46.12.3
kyvault get secret://server/my-host/root-password # 输出: rootpwd123用于多账户、多环境切换的 CLI 统一 Token 凭证维护:
# 1. 为指定 CLI 的不同账户存储 Token
kyvault cli set studio-cli webkubor jwt_token_main
kyvault cli set studio-cli test-user jwt_token_test
# 2. 查询指定 Profile 的加密令牌
kyvault cli get studio-cli webkubor # 输出: jwt_token_main
kyvault get secret://cli/studio-cli/test-user # 输出: jwt_token_test三件事补上「谁、哪个账号、别人能不能看」这一层:
# 1. 一个 profile = 一个账号,把散在各平台的凭据收成一组
kyvault profile add work --platform github --username alice --org acme --cli gh \
--link secret://github/pat
kyvault profile use work # 切换当前账号
kyvault run --profile work -- npm run deploy # 整组注入:变量名 = ref 名大写(PAT)
# 2. 审计:谁在什么时候读过/改过哪条(只记 ref 与时间,不记明文)
kyvault audit --limit 50
kyvault audit --action get --actor alice --json
# 操作人:--as <名字> > KY_ACTOR > 库内 git user.name > $USER
# 团队谁改的:git log 的提交信息已带操作者(chore(secrets): sync by <name> at <ts>)
# 3. 只读面板:导出静态 HTML,可以放任何静态托管
kyvault panel --out panel.html面板不含凭据值、密文或尾号,但账号、IP、设备与审计仍属于敏感元信息,应使用带访问控制的站点托管;noindex 不能代替登录鉴权。可写、能查看明文的 kyvault ui 仅绑定 127.0.0.1,且地址带每次启动随机生成的 token、只收 JSON POST、不返回 CORS 头 —— 只绑本机挡不住本机浏览器里打开的其他网页。
在受信密码库主机上,由本地管理员审批设备公钥、来源 IP 与逐条授权:
kyvault broker register prod-agent --principal agent:deploy \
--pubkey /path/to/agent.pub --allow-ip 192.0.2.10 \
--allow-ref secret://github/deploy --ttl-hours 24
kyvault broker authorized-key prod-agent
kyvault broker status
kyvault broker revoke prod-agentauthorized-key 只生成配置行供审阅,不会修改 SSH 设置。管理员应将其装入专用账户的 authorized_keys,使用 OpenSSH restrict、from= 与 fixed command;Agent 不得拥有该账户的其他登录路径。store、程序和授权文件必须由可信管理员维护,目录仅本人可读。不能把环境变量 SSH_CONNECTION 单独当认证;身份成立依赖正确的 sshd/forced-command 部署。principal 与 --as 仍是人工标签,认证的是登记的 SSH key,不检测私钥是否被复制。
Agent 通过专用 SSH config、已确认的 broker host key 连接,并核对预期设备:
kyvault broker probe --host vault-broker --expect-device prod-agent \
--ssh-config /path/to/broker-ssh-config
kyvault broker run --host vault-broker --expect-device prod-agent \
--ssh-config /path/to/broker-ssh-config \
--env GITHUB_TOKEN=secret://github/deploy -- git pushAgent 使用自己的 SSH 私钥,不拿整库 master key。新请求受 IP、精确 ref、期限与撤销约束,服务端审计写失败则不释放凭据;服务端审计文件仍不防本机管理员篡改。撤销只阻止后续发放;已获准的请求和已复制的静态值不能追回。Mac/Windows 主设备签名审批与自动 enrollment 尚未完成。Broker 主机当前需支持 POSIX shell/OpenSSH;Windows 可作为 SSH 客户端,原生 Windows broker 尚未验收。
kyvault check openai production # 联网检查,保存状态、HTTP 分类、检查时间和耗时
kyvault check email 163-smtp-auth # 邮箱授权码 / 应用专用密码:IMAP 登录验证,邮箱取条目账号备注
kyvault inspect # 离线只读:类型/平台/账户、孤儿关联、时间问题与历史健康状态
kyvault inspect --duplicates # 显式解密比较重复值;仅输出引用分组,不输出值、尾号或指纹健康检查不把网络错误、403 或 429 判作凭据失效。check 返回 0 表示通过/限流(限流不证明认证成功),1 表示认证失败,2 表示权限/网络/接口等未知问题;不要用任意非零退出码自动轮换。报告显示的是最近一次记录,默认不联网。计划任务可由操作系统调度,当前没有自动创建周期任务或通知渠道。
本机 glab auth login 过之后,kyvault init --remote <仓库地址> 会直接复用 glab 的登录态建私有库并首推:
kyvault gitlab auth # 先看当前会用哪把凭证(env / glab 配置文件 / glab CLI)
kyvault init --remote https://gitlab.com/team/vault.git凭证优先级:KY_GITLAB_TOKEN → glab 配置文件 → glab auth status --show-token。
调 API 优先走 glab api(token 不进 ps),没有 glab 才回落 curl 且 token 走 stdin。
~/.config/kyvault/store/ (GitLab 团队仓库)
├── auth.json # Auth Guard 授权方法配置 (SSH 指纹、TOTP 加密 secret)
├── master.key.enc # 旧版兼容包裹文件(不是有效的公钥加密保护)
├── secrets.json # AES-256-GCM 加密密文 (入仓 Git 同步)
├── meta.json # 审计元信息 (脱敏, 记录更新时间、last4、scopes、组织)
├── accounts.json # 账号注册表 (profile / 登录名 / 组织 / ref; 不含密钥材料, 入仓)
├── audit.log # 操作审计 (谁读过/改过哪条; 有读事件, 默认不入仓)
└── .lock # 跨进程文件排他锁 (防止 Agent 并发写入冲突)
# 这些命令只读取/关闭旧 auth.json;setup/add 默认拒绝,兼容迁移需显式设置 KYVAULT_ALLOW_INSECURE_LEGACY_AUTH=1。
kyvault auth status
kyvault auth list旧格式使用公开 SSH
.pub内容派生 key,且 TOTP 校验未接入敏感命令。请勿把它用于密库保密或远程 Agent 授权。方案见 人类与 Agent 协作提案。
| 模式 | 用途 | 访问权限 |
|---|---|---|
| 本地 file | 单机用户与本地 Agent | 能解锁该 vault 的进程可读全库 |
| Git Sync | 小型可信组同步密文 | 同一 master key 的持有者可读全库;IP 与 visibility 不做授权 |
| Broker(实验性 CLI 原型) | SSH 设备身份 + IP/CIDR + 精确 ref + 期限/撤销 | Server 持有整库 root key;Agent 仅请求获准条目,不 clone 密库 |
Broker 使用 OpenSSH forced command,不是公网服务。必须由管理员在专用低权限 SSH 账户安装生成的 authorized_keys 行,并通过 sshd policy 禁止交互 shell、SFTP、用户 startup hooks、环境覆盖与其他登录 key。IP 取 SSH_CONNECTION 并与 OpenSSH from= 双重约束。--as 是人工审批标签,不是 Mac/Windows 主设备签名;当前每条响应都返回请求的静态值,拿到值的进程仍可保留或外传。启用前应在隔离测试账号和服务器上 review 部署。
- 本地
audit.log与--as仅为操作线索,不是认证后的不可抵赖审计。 - 有效性检查、到期/重复监察、多平台多账号、设备登记与 Agent Grant 的分阶段方案见 人类与 Agent 协作提案。
- 文件后端的 AES-GCM 负责认证加密;公开明文 SHA-256 不作为共享重复检测指纹。
master.key 是在本地生成的 32 字节(256 位)高强度安全随机数(以 44 字符的标准 Base64 编码保存)。
它是整套密钥库加解密的唯一根凭据:
- 纯本地计算:kyvault 使用
SHA-256(Base64Decode(master.key))派生 AES 密钥,对每条凭证生成独立 12 字节随机 Nonce 进行 AES-256-GCM 认证加密。解密零网络依赖。 - 物理隔离与绝对不入仓:
master.key/master.key.enc被.gitignore强力排除,kyvault gitlab push前会进行双重防泄露检查。 - 本地查看与迁移备份(明文 master.key 模式):
kyvault master-key # 查看路径、权限、SHA-256 指纹 kyvault master-key --reveal # 导出明文(备份至 1Password / 换机迁移)
{
"github": {
"accounts": {
"user@gmail": "encrypted_password_1",
"admin@gmail": "encrypted_password_2"
},
"keys": {
"ghp_xxx": "encrypted_key_1",
"ghp_yyy": "encrypted_key_2"
}
}
}- 加密算法: AES-256-GCM(认证加密)
- 密钥派生: SHA-256
- 包装文件: 旧版
master.key.enc格式只为兼容保留,不验证 SSH 私钥,不能视为安全保护 - 存储与同步: 本地脱机解密,GitLab 团队密文同步
- 权限与并发: master.key.enc 仅当前用户可读写 (0600),跨进程
.lock排他锁
| 快捷 | 完整 | 用途 | 示例 |
|---|---|---|---|
| - | kyvault init |
初始化主密钥与目录 | kyvault init |
| - | kyvault master-key |
查看主密钥路径与指纹 | kyvault master-key (加 -r 显明文) |
| 账户管理 | |||
kyvault account set |
kyvault account set |
存账户 | kyvault account set github user@gmail pass |
kyvault account get |
kyvault account get |
读密码 | kyvault account get github user@gmail |
kyvault account list |
kyvault account list |
列账户 | kyvault account list github |
kyvault account delete |
kyvault account delete |
删账户 | kyvault account delete github user@gmail |
| 密钥管理 | |||
kyvault key set |
kyvault key set |
存密钥 | kyvault key set github ghp_xxx value |
kyvault key get |
kyvault key get |
读密钥 | kyvault key get github ghp_xxx |
kyvault key list |
kyvault key list |
列密钥 | kyvault key list github |
kyvault key delete |
kyvault key delete |
删密钥 | kyvault key delete github ghp_xxx |
| 平台查询 | |||
| - | kyvault platform |
平台列表 | kyvault platform |
kyvault platform <name> |
kyvault platform <name> |
平台详情 | kyvault platform github |
| API 验证 | |||
| - | kyvault check |
验证 key 有效性与余额 | kyvault check openai --key sk-xxx |
| - | kyvault check email |
IMAP 复验邮箱授权码 | kyvault check email gmail-app-password |
| - | kyvault add |
浏览器录入凭据(先验证再写库) | kyvault add --email [email protected] (或 ky add) |
| - | kyvault request |
Agent 声明录入请求 → 人粘密文 → 自动校验入库建别名 | ky request declare --platform github --name ci-token --alias github_token --open (或 ky req) |
| - | kyvault providers |
支持平台列表 | kyvault providers |
| AI 集成 | |||
| - | kyvault run |
注入env单向执行 | kyvault run --env X=val -- cmd |
| - | kyvault connect |
AI 智能对接 (全Agent规则) | kyvault connect |
| 加密资产台账 | |||
| - | kyvault server set |
存服务器台账 | kyvault server set host 1.1.1.1 pw |
| - | kyvault server get |
读服务器台账 | kyvault server get host |
| - | kyvault server list |
列服务器台账 | kyvault server list |
| - | kyvault server delete |
删服务器台账 | kyvault server delete host |
| - | kyvault cli set |
存 CLI Token | kyvault cli set tool prof token |
| - | kyvault cli get |
读 CLI Token | kyvault cli get tool prof |
| - | kyvault cli list |
列 CLI Token | kyvault cli list |
| - | kyvault cli delete |
删 CLI Token | kyvault cli delete tool prof |
| GitLab 团队协作 | |||
| - | kyvault gitlab status |
团队库同步与安全检查 | kyvault gitlab status |
| - | kyvault gitlab pull |
拉取最新密文与元信息 | kyvault gitlab pull |
| - | kyvault gitlab push |
提交推送密文 (严查key) | kyvault gitlab push |
| - | kyvault gitlab sync |
自动同步 (pull+push) | kyvault gitlab sync |
| - | kyvault gitlab setup |
克隆团队仓库至本地 | kyvault gitlab setup [email protected]:org/vault.git |
Auth Guard |
旧配置只读与关闭;setup/add 默认禁止,兼容迁移需显式 opt-in | kyvault auth status |
|
| - | kyvault auth setup |
交互式首次配置 | kyvault auth setup |
| - | kyvault auth add |
添加授权方法 | kyvault auth add ssh ~/.ssh/id_ed25519.pub |
| - | kyvault auth list |
查看已绑定方法 | kyvault auth list |
| - | kyvault auth remove |
移除授权方法 | kyvault auth remove ssh-id_rsa |
| - | kyvault auth disable |
关闭守卫 | kyvault auth disable |
| - | kyvault auth status |
守卫状态概览 | kyvault auth status |
| 引导与图形界面 | |||
| - | kyvault ui |
启动本地极客 Web GUI(自动唤起浏览器,地址带随机 token) | kyvault ui (或 ky ui) |
| - | kyvault wizard |
交互式分类引导向导 (规范URI) | kyvault wizard (或 ky wizard) |
| 自检与更新 | |||
| - | kyvault doctor |
工具自检修复 | kyvault doctor |
| - | kyvault update |
在线升级工具 | kyvault update |
| 平台 | Logo | 验证 | 别名注入 |
|---|---|---|---|
| OpenAI | 🟢 | kyvault check openai --key sk-xxx |
✅ |
| DeepSeek | 🔵 | kyvault check deepseek --key sk-xxx(含余额) |
✅ |
| 智谱 AI | 🟣 | kyvault check zhipu --key xxx(含余额) |
✅ |
| Moonshot (Kimi) | 🌙 | kyvault check moonshot --key sk-xxx(含余额) |
✅ |
| Anthropic (Claude) | 🟠 | kyvault check anthropic --key sk-ant-xxx |
✅ |
| Google Gemini | 💎 | kyvault check gemini --key xxx |
✅ |
| 通义千问 | ☁️ | kyvault check qwen --key sk-xxx |
✅ |
| MiniMax | 🔷 | kyvault check minimax --key xxx |
✅ |
| 字节豆包 | 🫘 | kyvault check doubao --key xxx(含余额) |
✅ |
| Groq | ⚡ | kyvault check groq --key gsk_xxx |
✅ |
| Together AI | 🤝 | kyvault check together --key xxx |
✅ |
| OpenRouter | 🔀 | kyvault check openrouter --key sk-or-xxx |
✅ |
| Fireworks AI | 🔥 | kyvault check fireworks --key xxx |
✅ |
| SiliconFlow | 🧊 | kyvault check siliconflow --key sk-xxx |
✅ |
| 百川 | 🌊 | kyvault check baichuan --key xxx |
✅ |
| 讯飞星火 | ✨ | kyvault check spark --key xxx |
✅ |
| 阿里云百炼 | ☁️ | kyvault check aliyun --key xxx(含余额) |
✅ |
| 平台 | Logo | 验证 | 别名注入 |
|---|---|---|---|
| GitHub | 🐙 | kyvault check github --key ghp_xxx |
✅ |
| Cloudflare | 🧡 | kyvault check cloudflare --key cloudflare_token |
✅ |
| GitLab | 🦊 | kyvault check gitlab --key glpat-xxx |
✅ |
| Feishu | 🐦 | kyvault check feishu --key tenant_access_token |
✅ |
欢迎贡献!请查看 CONTRIBUTING.md。
# 开发环境
git clone [email protected]:webkubor/kyvault.git
cd kyvault
cd rust
cargo test # 含老库兼容测试(对着 tests/fixtures 里 Python 1.x 写的密钥库解)
cargo fmt --check # CI 门禁,本地先跑
cargo clippy --all-targets -- -D warnings本项目基于 MIT 许可证开源,详情见 LICENSE。
发布/渠道/配图等运营资料不在本仓库维护,迁到了 gitlab.com/webkubor/hermes-ops-skills 的 docs/kyvault-ops-plan.md。原因:本仓库的密钥后端之一是 Cloudflare D1(远程 HTTP 数据库),线上文档不应该被 D1 的网络抖动绑住。
A: 不需要。
Kyvault 提供 Rust 预编译二进制,加密走 aes-gcm(AES-256-GCM)、TLS 走 rustls。使用预编译版本不需要 Python、Node 或 Rust 工具链。Linux 发布目标使用 GNU ABI,仍需兼容的系统库环境。
这一点是刻意的:密钥库是所有需要凭据的工作的底座,它不该依赖任何一个可能坏掉的运行时。此前的 Python 版就吃过这个亏——某些机器上解释器的 TLS 验证会整体失效(同一条证书链 openssl verify 判 OK、curl 连得通,唯独 Python 报 CERTIFICATE_VERIFY_FAILED),密钥写入通道当场只读。
在找 dotenv / .env 的替代方案,或者想把散落各处的 API Key、Token、密码与服务器凭证收进同一个
加密仓库?Kyvault 就是干这个的。已有的 .env 用 kyvault import --file .env 导入,之后交给
ky run 把值注入子进程,不必把它写进提示词或模型上下文。
它是 local-first 的:默认文件后端本地运行、解密不出网;需要远端存储时,可选 GitLab 密文同步,
或用 KYVAULT_BACKEND=d1 接 Cloudflare D1 远端密文后端。与需要自行部署的 self-hosted
密钥管理服务相比,Kyvault 的本地用法无需部署服务端;远端功能则需要相应的 GitLab 仓库或 D1 配置。
如果您喜欢 Kyvault,请为本项目在 GitHub 上点个 Star ⭐️!您的每一个 Star 都是我们持续优化的最大动力!
👉 GitHub 仓库链接
Built with 🔐 by webkubor



