{"id":51124114,"url":"https://github.com/OpenKeyring/oak-keyring","last_synced_at":"2026-07-13T12:00:36.911Z","repository":{"id":361879353,"uuid":"1201796767","full_name":"OpenKeyring/oak-keyring","owner":"OpenKeyring","description":"A privacy-first, local-first password manager with cross-platform synchronization.","archived":false,"fork":false,"pushed_at":"2026-07-04T14:21:36.000Z","size":6943,"stargazers_count":217,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-07-04T15:10:30.643Z","etag":null,"topics":["cli","key-generator","local-first","password-manager","password-store","ratatui","rust","security-tools","tui","tui-rs"],"latest_commit_sha":null,"homepage":"https://openkeyring.com/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenKeyring.png","metadata":{"files":{"readme":"README-ZH.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":"THREAT_MODEL.md","audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-05T07:03:16.000Z","updated_at":"2026-07-04T10:14:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/OpenKeyring/oak-keyring","commit_stats":null,"previous_names":["openkeyring/oak-keyring"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/OpenKeyring/oak-keyring","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenKeyring%2Foak-keyring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenKeyring%2Foak-keyring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenKeyring%2Foak-keyring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenKeyring%2Foak-keyring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenKeyring","download_url":"https://codeload.github.com/OpenKeyring/oak-keyring/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenKeyring%2Foak-keyring/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35421718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-13T02:00:06.543Z","response_time":119,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","key-generator","local-first","password-manager","password-store","ratatui","rust","security-tools","tui","tui-rs"],"created_at":"2026-06-25T06:00:21.435Z","updated_at":"2026-07-13T12:00:36.906Z","avatar_url":"https://github.com/OpenKeyring.png","language":"Rust","funding_links":[],"categories":["💻 Apps"],"sub_categories":["🚀 Productivity and Utilities"],"readme":"# oak-keyring\n\n[English](README.md) | 简体中文\n\n[![Release](https://img.shields.io/github/v/release/OpenKeyring/oak-keyring?include_prereleases\u0026label=release)](https://github.com/OpenKeyring/oak-keyring/releases)\n[![CI](https://img.shields.io/github/actions/workflow/status/OpenKeyring/oak-keyring/ci.yml?branch=develop\u0026label=ci)](https://github.com/OpenKeyring/oak-keyring/actions/workflows/ci.yml?query=branch%3Adevelop)\n[![npm](https://img.shields.io/npm/v/%40openkeyring%2Fok?label=npm)](https://www.npmjs.com/package/@openkeyring/ok)\n[![License](https://img.shields.io/github/license/OpenKeyring/oak-keyring)](LICENSE)\n\noak-keyring 是一个 privacy-first、local-first 的密码管理器，提供键盘驱动的终端 TUI 体验。\n\n很多密码工具提供适合脚本使用的 CLI，但日常密码库管理还需要浏览、选择、确认、恢复和状态反馈。oak-keyring 使用全屏 TUI，让这些流程保持交互式、键盘驱动，并默认留在本地。\n\n命令行二进制名是 `ok`。\n\n![TUI vault 浏览器：用键盘快捷键导航、编辑和复制凭证](examples/demo.gif)\n\n## 功能\n\n- **密码库管理** — 浏览、创建、编辑和删除凭证与安全笔记\n- **密码生成器** — 独立使用或嵌入表单，可配置长度和字符集\n- **键盘驱动 TUI** — 全屏界面，侧栏导航、搜索和批量操作\n- **标签与回收站** — 用标签组织记录；软删除后可从回收站恢复\n- **导入与导出** — 将数据导入或导出密码库\n- **密码库恢复** — 使用 BIP-39 恢复词恢复访问\n- **同步** — 可选的 Google Drive 云同步（预览）\n- **自动锁定** — 不活动后自动锁定密码库\n- **密码健康** — 泄露密码指示器和健康检查\n- **macOS** — Apple Silicon 和 Intel 构建（预览）\n- **Linux** — x86_64 和 ARM64 构建，glibc 2.35+（预览）\n\n## 安装\n\n### GitHub Release（推荐）\n\n1. 下载与你的操作系统和架构匹配的 tarball。\n2. 校验 `checksums.txt`。\n3. 解压后运行 `ok --version`。\n\n预览版构建未签名，也未 notarize。macOS 首次运行时可能需要手动批准。\n\n### Homebrew\n\n```bash\nbrew tap openkeyring/oak-keyring\nbrew install ok\n```\n\n### npm\n\n```bash\nnpm install -g @openkeyring/ok\nok --version\n```\n\n### 源码构建\n\n```bash\ngit clone https://github.com/OpenKeyring/oak-keyring.git\ncd oak-keyring\ncp .env.example .env\n# 编辑 .env，设置 OAK_GOOGLE_CLIENT_ID 和 OAK_GOOGLE_CLIENT_SECRET。\ncargo build --release\n./target/release/ok --version\n```\n\n源码构建会把用于同步的 Google OAuth2 配置编译进二进制。源码构建适合开发或本地审查，并需要显式配置 OAuth2 值。\n\n\u003e [!TIP]\n\u003e 建议：终端使用 Nerd Font，以确保图标正确显示。\n\n## 快速开始\n\n启动应用：\n\n```bash\nok\n```\n\n首次运行时创建 vault，设置强主密码，并把恢复词保存在安全位置。如果主密码和恢复词都丢失，维护者无法帮你恢复密码库。\n\n## 基本使用\n\noak-keyring 会打开一个全屏终端界面。主要使用流程是：\n\n1. **创建或解锁 vault** — 运行 `ok`，首次使用时创建本地 vault，之后用主密码解锁已有 vault。\n2. **浏览和搜索记录** — 通过侧边栏和记录列表浏览凭证、安全笔记、标签和回收站。使用 `Ctrl+K` 进入搜索模式，`Enter` 保留过滤结果，`Esc` 取消搜索。\n3. **查看和复制秘密** — 选择记录后在详情面板查看字段。详情面板中，`c` 复制密码字段，`u` 复制用户名字段，`p` 在可用时显示或隐藏密码字段。\n4. **创建和编辑记录** — 在非回收站状态下，`n` 创建新记录，`e` 编辑当前选中记录。\n5. **生成密码** — 在主界面用 `Ctrl+G` 打开密码生成器；在记录表单中出现生成器时也可以直接使用。\n6. **配置同步** — 用 `Ctrl+P` 打开 Config。Google Drive 同步是可选功能，并且仍属于预览版边界；配置完成后，可在主界面用 `Ctrl+R` 触发同步。\n7. **导入和导出** — 使用 TUI 中的导入/导出流程迁移数据。导出的文件应按敏感数据处理。\n\n当前网站文档见\n[openkeyring.com/zh/docs/](https://openkeyring.com/zh/docs/)。\n\n## 预览版状态\n\noak-keyring 仍处于 pre-1.0 预览阶段（v0.8.0-preview.1）。\n\n- 当前构建支持 macOS（Apple Silicon 和 Intel）和 Linux（x86_64/ARM64，glibc 2.35+）；暂不提供 Windows 构建。Linux 上可能需要调高 `mlock` 的 `RLIMIT_MEMLOCK`（见 INSTALL-ZH.md）。\n- macOS 二进制未签名，也未 notarize。\n- 密码库数据、配置和发布打包方式在后续稳定版之前可能变化。\n- 没有正式支持 SLA。\n- 你需要自己保管主密码、恢复词和备份。\n\n## 安全与隐私\n\noak-keyring 是 local-first：vault 属于用户，默认保存在本机。正常 release build 使用 SQLCipher-backed 本地数据库。应用使用主密码和恢复词进行访问与恢复。\n\n预览版不提供托管账户恢复服务。请把恢复词和备份保存在运行 oak-keyring 的设备之外。同步能力应按当前实际实现范围理解，不应理解为托管保管模式。\n\n如果直接下载 release asset，请在运行二进制之前校验 checksum。安全问题报告见 [SECURITY.md](SECURITY.md)。\n\n## 链接\n\n- [网站文档](https://openkeyring.com/zh/docs/) — 安装、使用、快捷键、安全和预览版状态\n- [SECURITY.md](SECURITY.md) — 漏洞报告和安全边界\n- [THREAT_MODEL.md](THREAT_MODEL.md) — 安全假设、非目标以及威胁边界\n- [PRIVACY.md](PRIVACY.md) — 本地数据处理、可选同步、遥测以及隐私界限\n- [CONTRIBUTING.md](CONTRIBUTING.md) — 如何贡献\n- [CHANGELOG.md](CHANGELOG.md) — 发布历史\n- [LICENSE](LICENSE) — MIT license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenKeyring%2Foak-keyring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenKeyring%2Foak-keyring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenKeyring%2Foak-keyring/lists"}