Skip to content

topspeedzhang/ApiManagement

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AccountManagement

本地加密的 API Key 资产管理器 — macOS 桌面应用

Platform Stack License

一个本地优先、端到端加密的 API Key 管理工具,解决「Key 太多记不住、不知道还能不能用、不知道配给谁了」的问题。所有数据只存本地,永远不上传任何服务器。


功能特性

🔐 安全优先

  • 三层密钥架构:Master Password → Argon2id → Master Key → HKDF → 各用途 DEK
  • AES-256-GCM 字段加密:每行数据独立 AAD(绑定行 ID 防止跨行复制攻击)
  • SQLCipher 整库加密:数据库文件完全不可读
  • Session Token 认证:vault 解锁后生成随机 token,阻止同机未授权进程调用 API
  • 生物识别解锁:Touch ID / Face ID(macOS Keychain 存储 nonce)
  • BIP39 恢复短语:24 词助记词,忘记密码也能找回数据

🗝️ Key 管理

  • 支持 alias、provider、分类、标签、过期日期
  • 自定义字段(text / number / date / url / boolean / select 六种类型)
  • Notes 加密存储,需主动 Reveal
  • 一键复制 Key 值(自动清除剪贴板)
  • 导出加密备份(JSON)/ 元数据 CSV

📊 健康检查

实时验证 Key 是否有效,已支持:

  • OpenAI · Anthropic · Google AI (Gemini)
  • Cohere · Mistral · Together AI · Groq · OpenRouter · DeepSeek
  • GitHub · Stripe

🤖 MCP 集成

通过 MCP Bridge 将 vault 暴露为 AI Agent 工具,Claude Desktop / Cursor 等可直接查询 Key 元数据(读元数据,不暴露明文 Key)。

其他

  • 双语 UI(中文 / English)
  • 操作审计日志
  • 分类管理
  • 自动锁定(空闲超时可配置)
  • 一键启停开发服务:npm run dev:all

技术栈

技术
桌面外壳 Tauri 2.x(Rust)
前端 React 18 + TypeScript + Tailwind CSS
后端 Python 3.12 / FastAPI(sidecar)
数据库 SQLite + SQLCipher(AES-256-CBC)
进程通信 Unix Domain Socket(生产) / HTTP(开发)
MCP Python stdio bridge(mcp-bridge/

项目结构

.
├── src-tauri/              # Tauri Rust 主进程(UDS 代理 + 生物识别 + Keychain)
├── frontend/               # React WebView UI
│   └── src/
│       ├── pages/          # 各页面组件
│       ├── lib/api.ts      # API client(自动注入 session token)
│       └── i18n/           # en / zh 翻译文件
├── backend/                # Python FastAPI 后端(Tauri sidecar)
│   └── src/accountmgmt/
│       ├── api/            # FastAPI routers
│       ├── crypto/         # AES-GCM / Argon2 / HKDF / vault header
│       ├── db/             # SQLAlchemy + SQLCipher
│       ├── health/         # Provider 健康检查适配器
│       ├── models/         # ORM 模型
│       └── services/       # 业务逻辑
├── mcp-bridge/             # MCP stdio bridge(供 Claude Desktop 等调用)
├── docs/                   # 设计文档(V3.2 为最新版)
└── scripts/                # 开发辅助脚本

快速开始(开发模式)

前置依赖

  • macOS 12+
  • Node.js 18+ & npm
  • Python 3.12+
  • Rust(via rustup)

一键启动

# 安装依赖(首次)
cd frontend && npm install && cd ..
cd backend && python -m venv .venv && .venv/bin/pip install -e ".[dev]" && cd ..

# 启动所有服务(后端 + 前端)
npm run dev:all

# 停止所有服务
npm run dev:stop

浏览器访问 http://localhost:1420,或通过 Tauri:

npm run tauri dev

构建生产包

npm run tauri build

生成 .app.dmgsrc-tauri/target/release/bundle/


MCP Bridge 配置

在 Claude Desktop 的 claude_desktop_config.json 中添加:

{
  "mcpServers": {
    "accountmgmt": {
      "command": "python",
      "args": ["-m", "accountmgmt_mcp"],
      "cwd": "/path/to/AccountManagement/mcp-bridge",
      "env": {
        "ACCOUNTMGMT_MCP_TOKEN": "mcp_your_token_here"
      }
    }
  }
}

MCP Token 在应用内 Settings → MCP Access 页面生成。


安全说明

  • 所有加密均在本地完成,无网络传输
  • Unix Domain Socket(权限 0600)限制进程间访问
  • Session Token 防止同机其他进程在 vault 解锁期间调用 API
  • MCP Token 只存 SHA-256 哈希,明文返回一次后不再保存
  • 详细方案见 docs/API Key 管理器 — 需求与方案文档 V3.2.md

平台支持

平台 状态
macOS 12+ Apple Silicon ✅ 支持
macOS 12+ Intel ✅ 支持
Windows / Linux ⏳ 暂不支持

License

MIT

About

🔐 Local-first, encrypted API key manager for macOS — Tauri + React + FastAPI + SQLCipher

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors