返回更新列表
新发布Aug 5, 2026

apm v11.2.0

一个面向所有人的本地密码管理器

分享

APM

为每个人打造的更好的本地密码管理器。

Go License Docs

CI Latest Release Stars Issues

APM 是一款用 Go 和 Rust 编写的快速、零知识 CLI 密码管理器。它将 **25+ 种结构化密钥类型** 存储在单个加密保险库中——从密码和 TOTP 验证码到 SSH 密钥、医疗记录、照片和二进制文件。本仓库发布两个二进制文件:`pm` 用于个人使用,`pm-team` 用于共享组织保险库。

为什么选择 APM?

  • 快速且易于学习 —— 无需记忆命令或标志。APM 会提示你输入它所需的一切。对于追求极致速度的高级用户,也提供 CLI 标志。
  • 零知识 —— 你的主密码永远不会被存储。使用 Argon2id 派生三个独立的 32 字节密钥。除你之外无人能解密你的保险库。
  • 双重加密 —— 可选择 AES-256-GCM 或 XChaCha20-Poly1305。在 AEAD 认证之上通过 HMAC-SHA256 实现双层完整性校验。
  • 便携 —— 一个保险库文件,一个二进制文件。随身携带你的保险库。
  • 可选云同步 —— 同步到 Google Drive、GitHub 或 Dropbox。完全可选加入;使用 APM 无需账户。
  • AI 就绪 —— 原生 MCP 服务器,配合作用域令牌,让 Claude、Cursor 或任何兼容 MCP 的代理都能安全访问你的保险库。
  • 团队就绪 —— pm-team 中提供完整的 RBAC、部门、审批工作流和共享保险库。

快速开始

go build -o pm .
pm setup       # initialize vault and choose security profile
pm unlock      # start a session
pm add         # add a secret (interactive)
pm get github  # fuzzy search and retrieve
pm lock        # end session

团队版:

cd team
go build -o pm-team .

密钥类型

APM 支持 25 种结构化密钥类型,具有经过验证的字段和类型特定的显示逻辑:

#类型#类型
1密码14Docker Registry
2TOTP15CI/CD Secret
3政府证件16安全笔记
4医疗记录17恢复代码
5旅行信息18证书
6联系人19银行信息
7Wi-Fi20文档
8API Key21软件许可证
9Token22法律合同
10SSH Key23照片
11SSH Config24音频
12云凭证25视频
13Kubernetes

功能

安全

  • 零知识 Argon2id 密钥派生 —— 主密码永不存储
  • 双重 AEAD 加密算法:AES-256-GCM 和 XChaCha20-Poly1305
  • HMAC-SHA256 双层完整性校验
  • 四种可调安全配置文件:standard、hardened、paranoid、legacy
  • 每个密钥的信任评分(0–100),基于使用时长、访问情况和权限级别
  • 防篡改审计日志,存储在保险库之外

保险库

  • 单个加密保险库文件 —— 可在任何设备间移植
  • 用于逻辑分隔的空间(类似文件夹)
  • 模糊搜索,支持交互式浏览器和键盘导航
  • 元数据检查器:创建日期、最后访问时间、访问次数、信任评分

TOTP

  • 交互式列表中的实时倒计时器
  • 持久化的自定义排序
  • 直接复制:pm totp github
  • 自动填充守护进程集成,用于自动注入 2FA 验证码

云同步

  • Google Drive(OAuth2 PKCE)、GitHub(PAT)、Dropbox(OAuth2 PKCE)
  • 端到端加密 —— 服务提供商永远看不到明文
  • .apmignore 用于按提供商过滤条目
  • 冲突解决:覆盖、保留本地或取消
  • 后台自动同步

会话

  • 显式解锁/锁定,可配置过期时间和不活动超时
  • 用于自动化和 AI 代理访问的委托临时会话

MCP 服务器

  • 原生 Model Context Protocol 服务器
  • 作用域权限令牌:read、secrets、write、admin
  • 写操作的事务护栏:预览 → 批准 → 回执
  • 适用于 Claude Desktop、Cursor、Windsurf 以及任何 MCP 客户端

恢复

因素命令
邮件 OTPpm auth email
恢复密钥pm auth recover
法定份额(Shamir)pm auth quorum-setup
WebAuthn 通行密钥pm auth passkey register
一次性恢复代码pm auth codes generate

导入 / 导出

格式导入导出
JSONpm import jsonpm export json
CSVpm import csvpm export csv
TXTpm import txtpm export txt

策略引擎

name: corporate-standard
password_policy:
  min_length: 14
  require_uppercase: true
  require_numbers: true
  require_symbols: true
rotation_policy:
  rotate_every_days: 90
  notify_before_days: 14
pm policy load ./policies/

团队版(pm-team)

  • 具有多个角色的 RBAC
  • 具有隔离加密域的部门
  • 敏感条目的审批工作流
  • 用于多用户凭证共享的共享保险库

安全配置文件

配置文件Argon2 内存迭代次数并行度使用场景
standard64 MB32大多数机器
hardened256 MB54工作站(≥8 GB RAM)
paranoid512 MB64服务器(≥16 GB RAM)
legacyPBKDF2600,0001向后兼容

APM 会自动检测你的 CPU 核心数和 RAM,以在 pm setup 期间推荐最佳配置文件。

开发状态和历史

(此说明来自所有者) 截至 2026 年 3 月 30 日,我目前正在开发 APM 的 GUI。最初它只是一个 CLI 应用程序。Issue #38 详细解释了一切。总的来说,我希望 APM 能覆盖 更广泛的人群。我会将 GUI 单独放在 apm-gui 仓库中,或者创建一个组织并将两个仓库都移到那里。

我最初将 APM 作为一个真正的个人项目。它始于一个随机的夜晚,当时我想创建自己的密码管理器。我厌倦了 zoho password,因为我用它来管理 TOTP。它运行起来极其缓慢,而且我用明文文件存储我的令牌,这并不安全。

截至目前,我不计划放弃/退役这个项目。它将在很长一段时间内保持可用。我每天都尝试让它变得更好,并且每天都在使用它。有时,仓库可能不活跃,那是我在测试和试验应用程序的时候。


发布结构

层级稳定?保险库安全?用途
Canary❌❌最早的功能预览 —— 可能损坏保险库
Alpha❌✅不稳定功能,保险库完整性得到保留
Beta✅✅经过充分测试的功能,谨慎推出
Stable✅✅生产就绪版本

在尝试 Canary 版本之前,请务必备份你的保险库。 附注:对于某些版本,某些层级可能不会发布,这取决于它们发布的速度和难易程度,以避免创建超出必要数量的层级。


文档

完整文档请访问 aaravmaloo.github.io/apm


贡献

欢迎贡献。请参阅 CONTRIBUTING.md 了解指南。


许可证

GPL-3.0 License © Aarav Maloo

分类