APIKEY Manager 是一个本地运行的 API Key 管理器。它主要用来保存、管理和测试大模型 API Key,也可以保存搜索服务、机器人、平台应用这类通用密钥和配置项。
数据默认只保存在你的电脑里,并使用 SQLCipher 加密。启用 Backblaze B2 异地备份后,应用会上传加密数据库副本;不会连接本项目之外的统计或分析服务。
本项目使用 GPT 5.5 编写,作者可以保证本项目的可用性。
- 管理多个大模型供应商,支持记录 API 端点和官网地址。
- 支持
OpenAI Chat Completions、OpenAI Response、Anthropic Messages三类接口格式。 - 每个供应商可以保存多个 API Key,并指定其中一个作为测试密钥。
- 每个供应商单独设置测试模型;测试 Prompt 在设置页统一管理。
- 测试密钥时显示进行中状态,测试结果通过详情弹窗查看,包含测试时间、输出内容和可选推理内容。
- 刷新并缓存模型列表,支持模型 ID 复制和前端搜索。
- 大模型供应商、通用密钥类别和密码条目都支持自定义分组及组内排序。
- 通用密钥按类别管理,一个类别下可以保存多个键值对。
- 密码管理器只负责保存密码,不限制密码长度、字符或格式,并支持可选的 2FA 关联。
- 2FA 提供独立验证码查看页,支持二维码截图识别和手动输入 Base32 密钥。
- 支持配置 Backblaze B2 异地备份,每次启动检查当天备份状态,也可以手动备份和恢复。
- 支持 JSON 导入;导出支持 JSON、Markdown 和加密数据库文件。
- 界面使用本地图标字体,复制、编辑、删除等常用按钮不依赖外部网络加载图标。
- 删除等危险操作使用应用内确认浮窗,不调用浏览器原生弹窗。
- 右上角显示后端连接状态,断开连接时会给出明确提示。
- 时间默认按 UTC+8 展示。
直接运行当前目录下已经构建好的程序:
APIKEY-Manager.exe
启动后会在本机开启服务,并自动打开默认浏览器:
http://127.0.0.1:5157
第一次打开时需要创建主密码。主密码不会明文保存,也无法找回;忘记主密码就无法打开原来的数据库。
服务器安装 Docker Compose 后,在项目目录执行一条命令即可构建并启动:
docker compose up -d --build启动后访问 http://服务器IP:5157。Compose 默认将宿主机项目目录下的 ./data 绑定到容器的 /data,数据库实际保存为 ./data/apikeys.db,重建或删除容器不会删除该文件。
如果需要把数据库放到指定硬盘目录,可以在启动时指定宿主机路径:
APIKEY_MANAGER_DATA_PATH=/srv/apikey-manager-data docker compose up -d --build也可以通过 APIKEY_MANAGER_PORT 修改对外端口,容器内部端口保持不变。停止服务使用 docker compose down,不要删除宿主机数据目录。
- 添加供应商,填写名称、API 端点、官网地址和接口格式。
- 添加一个或多个 API Key。
- 选择一个 API Key 作为测试密钥。
- 填写该供应商的测试模型。
- 刷新模型列表,或测试指定密钥。
模型列表会缓存在本地,可以直接搜索和复制模型 ID。测试完成后,可点击状态旁的信息按钮查看测试时间、响应输出和模型推理内容。
- 先创建类别,比如
Tavily、QQ机器人、支付平台。 - 在类别下添加键名、键值和描述。
- 使用时点击复制即可。
- 创建密码分组,或直接使用“默认分组”。
- 保存条目名称、用户名、密码、网站地址和备注。
- 密码不会进行强度评估,也不会因为格式特殊而被拒绝。
- 如需关联 2FA,先在 2FA 页面添加密钥,再在密码条目中选择对应的 2FA。
在 2FA 页面上传二维码截图,或粘贴 otpauth:// URI、Base32 密钥。验证码在本地生成;除启用 Backblaze 时上传 SQLCipher 加密数据库副本外,不会向外部服务发送明文 2FA 密钥。
在设置页的“云端异地备份”中配置 Backblaze B2。备份文件是已经由 SQLCipher 加密的数据库文件;自动备份每天最多生成一份,手动备份受冷却时间限制。恢复前会验证备份文件,并保留当前数据库安全副本。
在设置页打开数据导入导出弹窗:
- 导入仅支持本应用导出的 JSON,可从文件或剪贴板导入;导入会替换当前数据库内容。
- JSON 和 Markdown 导出默认使用精简模式,不包含测试配置、测试记录、模型缓存和推理内容。
- 勾选“导出测试相关数据”后,会导出完整测试配置和记录。
- JSON、Markdown 和数据库文件都可能包含真实密钥,请只保存到可信位置。
- 下载数据库会保存原始
apikeys.db文件,该文件仍受 SQLCipher 主密码保护。
默认数据库文件为 apikeys.db:
- Windows:
%APPDATA%\APIKEY-Manager\apikeys.db - macOS:
~/Library/Application Support/APIKEY-Manager/apikeys.db - Linux:
~/.apikey-manager/apikeys.db
高级用户也可以通过环境变量指定数据目录:
$env:APIKEY_MANAGER_DATA_DIR="C:\path\to\data"
.\APIKEY-Manager.exe如果你想改代码或自己调试,可以从源码启动:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
python run.py源码方式启动后同样会自动打开:
http://127.0.0.1:5157
项目提供了 PyInstaller 打包脚本,会使用根目录下的 favicon.ico 作为图标,并把 app/static 下的样式、脚本和本地图标字体一起打包。
先安装 PyInstaller:
python -m pip install pyinstaller开始打包:
python build_pyinstaller.py打包完成后,APIKEY-Manager.exe 会移动到项目根目录,dist/、build/、build-spec/ 等临时目录会自动删除。
打包前脚本会检查 app/static/fonts/fa-solid-900.woff2 是否存在;缺少该文件时会停止打包,避免生成缺图标的程序。
如果想隐藏控制台窗口:
python build_pyinstaller.py --windowed注意:程序本质上仍是本地 Web 应用。启动 exe 后会在本机启动服务,并自动打开浏览器访问 http://127.0.0.1:5157。如果想看到彩色控制台说明和停止提示,不要使用 --windowed。
python run.py
python -m unittest discover -s tests
python -m py_compile build_pyinstaller.py
python build_pyinstaller.py前端脚本语法检查:
node --check app\static\app.js- Flask
- requests
- SQLCipher Python 绑定:
sqlcipher3 - 本地图标字体:
app/static/fonts/fa-solid-900.woff2
如果 sqlcipher3 安装失败,通常是当前平台缺少可用 wheel,或缺少 SQLCipher / C++ 编译环境。
- 主密码不会明文保存,忘记后无法恢复数据库内容。
- 数据库文件使用 SQLCipher 加密。
- API Key 只会在你主动测试密钥或刷新模型列表时发送到你配置的 API 地址。
- 复制到剪贴板的内容可能被其他应用读取,使用后可以手动清空剪贴板。
- 导出的 JSON、Markdown 和数据库文件可能包含真实密钥,分享前请先确认内容。
- 可以在设置页配置 Backblaze B2 异地备份;自动备份每天最多一次,手动备份有冷却时间限制。仍建议定期导出或保存额外的数据库副本。


