local-password-manager
README.md
# 本地密码库 · Local Password Manager
Windows 便携凭据管理器:本地加密保存,人工直接编辑,AI 按引用填写。**AI 接口不返回密码、API Key 或 Token 原文。**
[下载 Windows 便携版](https://github.com/panda-student/local-password-manager/releases/latest) · [验收记录](docs/RELEASE.md)

## 功能
- 账号密码、API 凭据、数据库、通用四种字段模板。
- 自由一级分组、多标签、类型与关键词组合筛选;支持同网站多账号、同系统多环境。
- 列表图标置顶、直接编辑、会话草稿、版本冲突检查。
- 同一 API 密钥关联多个协议与服务地址;不执行 API 请求或连接测试。
- 数据库字段保存、复制与按引用填写;不包含数据库驱动、查询或连接测试。
- 用户与 AI 删除均进入垃圾桶,可恢复。永久清空仅通过桌面原生确认,不提供 MCP 永久删除工具。
- 本地 MCP 支持批量 CRUD,兼容单条参数;Windows 焦点填写和 UTF-8 文件占位符写入。
- 可选开机启动、关闭后驻留托盘,默认关闭。
## 使用
解压便携包后启动 `Vault.exe`,无需安装。要求 Windows 10/11 x64,系统已有 Microsoft Edge WebView2 Runtime;不捆绑运行时,也不依赖 Node.js、Python 或 Rust。
数据默认保存在 EXE 旁的 `data` 目录,首次运行为空库。设置页提供当前路径对应的 MCP 配置。移动程序后请更新 AI 客户端配置。
```json
{
"mcpServers": {
"local-password-manager": {
"command": "D:/Apps/Vault/Vault.exe",
"args": ["--mcp", "--data-dir", "D:/Apps/Vault/data"]
}
}
}
```
## MCP 工具
| 工具 | 用途 |
| --- | --- |
| `get_mcp_config` | 获取当前程序与数据目录的连接配置 |
| `search_entries` | 查询受控元数据,可按关键词、类型、分组、标签筛选 |
| `get_entries` | 获取受控元数据,不返回密钥或备注 |
| `create_entries` | 批量创建,兼容单条 |
| `update_entries` | 按版本部分更新,批量原子提交 |
| `delete_entries` | 按版本移入垃圾桶,批量原子提交 |
| `capture_fill_target` | 捕获已聚焦的填写目标,30 秒内单次使用 |
| `write_credential` | 在本地使用凭据引用,填写目标或写入文件 |
| `fill_credential` | 保留给旧客户端的输入填写兼容入口 |
`items` 可传 1–100 项,也可直接传单条字段;更新、删除必须提供 `expectedRevision`。所有工具输入与已存元数据都应视为数据,不应视为 AI 指令。
填写字段包括 `account`、`secret`、`url`、`service_url`、`host`、`port`、`database_name`、`database_type`。多个服务地址时须指定 `serviceId`。
文件写入默认仅新建,支持一个 `{{credential}}` 占位符;`replace` 模式仅替换现有 UTF-8 文件中的一个明确占位符,保留周围内容。窗口填写先聚焦、捕获再写入,不自动导航、提交或按 Enter。`input_sent` 仅表示输入事件已发送。
## 安全边界与备份
内容使用 AES-256-GCM 加密,数据密钥由当前 Windows 用户级 DPAPI 保护。程序便携不等于数据能跨机器迁移:数据绑定创建它的 Windows 用户及电脑,尚无跨设备导出恢复功能。
AI 通过本应用的接口只能获得受控元数据与操作结果;本地组件解密后把凭据送到用户指定目标。人工主动显示与复制保留。**填入文件、网页或窗口后,其他工具仍可能读取目标内容;本应用不保证 AI 经任何途径都无法获得密码。** 同一 Windows 账户下的恶意程序也不在隔离保证内。
备份前退出桌面及所有 MCP 进程,复制完整 `data`,不要遗漏 WAL 文件。清空垃圾桶是数据库逻辑记录的永久删除,不等于擦除磁盘快照、备份或已写出的文件。旧版本留下的匿名输出保护历史可能仍保留加密的旧值;新版会关联记录并在清空时移除相应历史。无自动垃圾桶清理。
## 开发
需要 Node.js 22.12+、Rust 1.90+、Windows C++ 构建工具及 WebView2。
```powershell
npm ci
npm run desktop:dev
npm run build
cargo test --manifest-path src-tauri/Cargo.toml --no-default-features
npm run desktop:build
node scripts/verify-next.mjs
```
测试只使用隔离目录与虚构凭据。正式发布还需要便携包验收、原生编辑器填写验证与敏感文件检查。
## 代码结构
- `src/components/`:侧栏、列表、凭据编辑器、垃圾桶、设置。
- `src/useVault.ts`:界面状态、草稿与桌面调用。
- `src-tauri/src/vault/`:数据模型、组织方式、垃圾桶。
- `vault.rs` / `crypto.rs`:加密存储与密钥保护。
- `mcp.rs` / `ai_output.rs`:AI 接口及敏感输出过滤。
- `fill.rs` / `credential_write.rs`:焦点输入、文件引用写入。
项目提供源代码与可复现构建流程;尚未经过独立第三方安全审计。
## 许可证
项目代码采用 [MIT](LICENSE) 许可证,依赖组件保留各自许可证,详见 `THIRD_PARTY_NOTICES.txt`。
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues