Skip to content

About

本地优先的 Prompt 收藏桌面工具 · Tauri 2 + React 19 + TypeScript · Local-first prompt vault for Windows

Topics

Resources

Stars

157 stars

Watchers

0 watching

Forks

Repository files navigation

Prompt Vault

Prompt Vault

本地优先的 Prompt 提示词 收藏工具 — 收集、检索、填空、一键复制

Collect · Search · Fill · Copy — a local-first prompt vault for Windows.
No account, no cloud, no telemetry. Your prompts stay in a plain JSON file.


Prompt Vault 主界面

Tauri React TypeScript Rust Platform GLM 5.3 GLM 5.3 Flash DeepSeek 4.1 Flash Version License Local First


✨ 为什么是 Prompt Vault

平时攒下的 prompt 散落在笔记、聊天记录和收藏夹里,要用时翻半天。 Prompt Vault 把它们收进一个托盘常驻、随叫随到的桌面工具:Alt+Q 唤出、输入几个字、Enter —— 复制走人,全程两秒。

  • 🪶 轻:Tauri 2 原生壳,便携版单文件 ≈ 5 MB,内存占用小
  • 🔒 私:不联网、不登录、无遥测;数据就是一个你可以随手备份的 JSON 文件
  • ⚡ 快:全局热键 + 快速拾取面板,找一条 prompt 不需要离开手头的应用
  • 🧩 巧:{{变量}} 占位符在复制前弹窗填空,并记住你上次的填写

🚀 功能一览

能力 说明
📥 收集 手动新建、Alt+Shift+N 剪贴板速存、导入 JSON、拖拽 .json 导入 / 拖文本直接新建
🎓 上手 首次启动给出 3 步引导(收集 / 试占位符 / 记热键),可一键跳过;空态始终给出下一步动作
🔍 检索 标题/正文/标签/备注即时模糊搜索(子序列匹配、命中词高亮);点标签直接筛选;标签输入自动补全
🧩 变量占位符 正文写 {{变量}},复制前弹窗逐个填空(同名只填一次、留空保持原样),并记忆上次填写值;变量在正文中高亮,详情显示变量数量
⚡ 快速拾取 Alt+Q 在任意界面唤出双栏面板:模糊搜索 + 命中高亮、右侧实时预览;空查询展示「最近复制 / 最常复制」;Tab 直接进入编辑,复制后有确认反馈并自动隐藏
⌘ 命令面板 Ctrl+K 模糊搜索执行常用操作(新建/导入/导出/排序/主题/设置…);? 打开快捷键速查表
📌 整理 星标置顶、自由标签、来源与备注字段
📊 使用统计 自动记录每条 prompt 的复制次数与最近复制时间,列表可按「最近更新 / 最近复制 / 最常复制」排序
🗑 回收站 删除先进回收站可随时恢复,彻底删除才二次确认
☑️ 批量操作 多选后批量加标签、批量移入回收站/恢复、批量导出所选(Ctrl/Shift 多选、Ctrl+A 全选、Esc 取消)
🎨 体验 自绘标题栏、暗色/亮色主题(跟随系统)、托盘常驻、窗口位置记忆、详情切换级联淡入、中文输入法组字安全(拼音选字按 Enter 不会误触发业务动作)、全中文界面
💾 数据安全 单 JSON 文件 + 原子写入 + 每次写入前自动 .bak 备份,损坏时可一键恢复

⌨️ 快捷键

快捷键 作用域 作用
Alt+Q 全局 唤出/收起快速拾取面板
Alt+Shift+N 全局 把剪贴板内容存为新收藏
Ctrl+N 主窗口 新建
Ctrl+F 主窗口 聚焦搜索框
Ctrl+K 主窗口 打开 / 关闭命令面板
? 主窗口 打开 / 关闭快捷键速查表
Ctrl+A / Esc 主窗口 全选当前列表(多选) / 清除多选
↑ ↓ / Home End 主列表 选择上/下一条 / 跳到首末条
Enter 主列表 复制选中项
Ctrl+E 主列表 编辑选中项
Space 主列表 勾选 / 取消勾选(多选)
Ctrl+Enter 编辑器 保存
↑ ↓ / Enter / Tab / Esc 快速拾取 选择 / 复制并关闭 / 在主窗口中编辑 / 关闭
Esc 弹窗 取消

两个全局热键可以在应用内 设置(右上角 ⚙) 中修改:点击输入框直接录制组合键,保存后立即生效、无需重启;若组合被其他应用占用会提示并保留旧键。

点窗口 ✕ = 收进系统托盘(不退出);托盘左键唤出/收起,右键菜单可打开主窗口或真正退出。


🖼 界面一览

亮色模式 暗色模式
亮色模式 暗色模式
变量填空 回收站
变量填空弹窗 回收站
快速拾取(Alt+Q) 命令面板(Ctrl+K)
快速拾取面板 命令面板
首次启动引导

📦 快速开始

方式一:下载即用(推荐)

到 Releases 下载最新版本(预发布版本在 Pre-release 区域):

尝鲜版 v0.1.9.2-alpha 直达下载:安装包 · 绿色便携版 · 回归测试报告

推荐体验 v0.1.9.2-alpha:包含全部最新特性。发布前已通过全量程序化测试(TypeScript 类型检查、构建、回归脚本与测试报告),仅缺少人工回归测验;欢迎试用并反馈问题。

文件 说明
PromptVault-0.1.9.2-alpha-setup.exe NSIS 安装包,装进系统,开始菜单可启动
PromptVault-0.1.9.2-alpha-portable.exe 单文件绿色版,放到哪都能双击运行
PromptVault-0.1.9.2-alpha-regression-report.md 该版本的全量程序化测试报告

首次启动会让你选择一个 prompts.json 的保存位置(默认建议工程内 data/ 目录),之后路径与窗口位置都会记住。 想备份?复制那个 JSON 文件即可;换机器?导出再导入。

当前源码版本为 0.1.9.2-alpha(清单内为合法 semver 0.1.9-alpha.2),为预发布(pre-release);稳定版仍为 v0.1.0。

方式二:从源码构建

前置条件:Node.js 18+、Rust(MSVC toolchain)、WebView2(Windows 11 自带)。

npm install
npm run tauri build

产物:

  • 便携版 → src-tauri/target/release/prompt-vault.exe
  • 安装包 → src-tauri/target/release/bundle/nsis/

🔒 数据与隐私

  • 所有数据只存在本地:一个 JSON 文件,内容完全透明,随时可用任意编辑器查看
  • 原子写入:临时文件 sync 落盘后经 MoveFileEx(REPLACE_EXISTING) 原地替换,不存在写一半的中间态
  • 自动备份:每次写入前旧文件保存为 prompts.json.bak;数据解析失败时应用暂停读写,并可一键从 .bak 恢复
  • 配置同样本地:%APPDATA%\prompt-vault\config.json 只保存数据文件路径、窗口位置与全局热键,不包含收藏内容
  • 无网络请求:应用不发起任何外部请求,不采集任何信息

数据文件结构:

{
  "version": 1,
  "prompts": [
    {
      "id": "5d0f0f2e-…",
      "title": "代码审查助手",
      "body": "请审查以下代码变更:\n{{diff}}\n\n重点关注:{{关注点}}",
      "tags": ["编码", "审查"],
      "source": "",
      "note": "PR 自查和互查都适用",
      "pinned": true,
      "createdAt": "2026-10-20T09:00:00.000Z",
      "updatedAt": "2026-10-24T02:10:00.000Z",
      "lastValues": { "关注点": "并发安全" },
      "deletedAt": null,
      "copyCount": 12,
      "lastCopiedAt": "2026-10-27T09:12:00.000Z"
    }
  ]
}

🧱 技术栈与架构

flowchart LR
  U([用户]) --> M["主窗口<br/>两栏 UI"]
  U --> Q["快速拾取<br/>Alt+Q"]
  U --> P["命令面板<br/>Ctrl+K"]

  M --> F["React 19 + TypeScript"]
  Q --> F
  P --> F

  F -- "Tauri invoke" --> R["Rust 命令层"]
  R --> D[("prompts.json")]
  R --> B[("prompts.json.bak")]
  R --> C[("config.json<br/>数据路径 · 窗口位置 · 热键")]

  H["全局热键<br/>Alt+Q / Alt+Shift+N"] --> Q
  T["系统托盘"] --> M
Loading
prompt-vault/
├─ src/                        # React 前端
│  ├─ App.tsx                  # 主窗口:两栏、搜索、批量、回收站、导入导出、命令面板接线
│  ├─ QuickPick.tsx            # 快速拾取:双栏预览、模糊搜索、复制确认
│  ├─ components/              # TitleBar / Sidebar / DetailPane / CommandPalette /
│  │                           # CheatsheetModal / Onboarding / BatchPanel / SettingsModal …
│  ├─ util.ts                  # 模糊匹配、占位符解析、数据纠偏、热键格式化
│  ├─ theme.ts / window.ts     # 主题与窗口模式(含浏览器预览分流)
│  ├─ api.ts                   # Tauri API 封装
│  └─ App.css                  # 主题令牌(亮/暗)+ 全部样式
├─ src-tauri/
│  ├─ src/lib.rs               # 托盘、全局热键、原子写入、窗口与统计命令
│  └─ tauri.conf.json
├─ preview/                    # 浏览器预览夹具(?quickpick=1 / ?empty=1)
├─ docs/
│  ├─ backlog.md               # 待办与路线图
│  └─ screenshots/
└─ AGENTS.md                   # 协作约定(给维护者 / agents)

设计取舍

  • 数据用单个 JSON 文件而不是数据库:几十到几百条的规模下零运维、可读、可备份;数据量上千后再评估 SQLite + FTS5
  • 不引入 Agent/UI 框架:界面是手写 React + CSS 变量,按钮是内联 SVG 图标,构建产物小、无风格依赖
  • 第二层入口收敛到命令面板:新能力优先进入命令面板或快捷键,顶栏只保留高频动作,避免界面随功能膨胀
  • 占位符记忆、置顶、回收站、复制统计全部落在同一个数据文件里,无旁路状态

🛠 开发

npm install
npm run tauri dev      # 开发模式(热更新)
npm run tauri build    # 构建发行版

# 纯浏览器预览:mock 掉 Tauri API,改 UI 不用起 Tauri
npx vite --config preview/vite.preview.config.ts
  • 前端严格模式 TypeScript(tsc --noEmit 零错误)
  • 图标源图 app-icon.png,修改后 npx tauri icon app-icon.png 重新生成全套
  • preview/ 是开发预览夹具,不参与正式构建(tsconfig 只含 src),默认端口 4173
    • ?quickpick=1 单独预览快速拾取窗口;?empty=1 以空数据启动(验证首次引导)
  • 待办与路线图见 docs/backlog.md;协作约定见 AGENTS.md

🧭 guide/prompts:设计与开发档案

guide/prompts 分支记录了 Prompt Vault 从需求访谈、任务拆解、实现、评审到发布的完整过程。它面向 vibe coding 开发者:把“一个想法如何被拆成可执行任务、再由 agent 交付”的全过程摊开,方便交流、复用与复盘。

  • docs/prompts-archive.md——65 条用户消息的完整台账、18 个会话索引与统计,以及十份长任务书的全文索引。
  • docs/task-books/——十份正式任务书全文(背景、精确落点、边界、验收标准、交付要求)。
  • 已脱敏:绝对路径与会话 ID 替换为占位符/编号;原始值不随文档分发。

也适合作为 vibe coding 入门项目:规模小、产出价值适中,覆盖“需求 → 任务书 → 实现 → 测试 → 发布”的完整闭环。新手可以照着任务书重走一遍,也可以直接在这些文档上继续迭代。


🧑‍💻 Vibe Coding 开发环境

这个项目是典型的小规模 vibe coding 实践:需求由对话逐步收敛,Agent 负责拆解、实现、测试与交付。开发过程中使用到的模型:

模型 在本项目中的典型分工
GLM 5.3 主控 Agent:需求梳理、任务书编写与 review
GLM 5.3 Flash 快速迭代:小步修改、文档与配置调整
DeepSeek 4.1 Flash 任务执行:按任务书实现、测试与交付

模型分工随会话阶段变化,以上为典型用法;完整过程见 guide/prompts 分支的 Prompt 与任务书存档。


🗺 路线图

  • 托盘常驻 + 全局快速拾取(Alt+Q,双栏预览与模糊搜索)
  • 剪贴板速存 / 全局热键可配置
  • 占位符填空与填写记忆
  • 回收站 / 暗色模式 / 窗口位置记忆 / 自绘标题栏
  • 拖拽导入 / 批量操作 / 使用统计
  • 命令面板(Ctrl+K)与快捷键速查表(?)
  • 首次启动引导 / 详情级联淡入 / 中文输入法组字保护
  • 占位符实时预览、搜索命中片段、右键菜单、标签配色(详见 docs/backlog.md)
  • 发布 v0.1.9 系列预发布(v0.1.9-alpha → v0.1.9.2-alpha,附回归测试报告;正式 Release 待定)
  • 数据量过千后评估 SQLite + FTS5

🤝 贡献

欢迎 Issue 与 PR:

  1. Fork 本仓库并从 main 切出功能分支
  2. 提交前跑一遍 npx tsc --noEmit 与 npm run tauri build
  3. PR 里说明改动动机与交互变化(带截图更好)
English

Prompt Vault is a local-first prompt manager for Windows, built with Tauri 2 + React 19 + TypeScript.

  • Collect prompts manually, from the clipboard (Alt+Shift+N), via JSON import, or by drag & drop
  • Find them with instant fuzzy search (highlighted matches), clickable tag filters, and tag autocomplete
  • Fill {{variables}} in a modal before copying — values are remembered for next time
  • Copy from a global quick-pick palette (Alt+Q): two-pane preview, recent/most-used sections, ↑↓, Enter — done
  • Command everything with Ctrl+K; press ? for the shortcut cheatsheet
  • Learn by example: the guide/prompts branch archives the full design/development trail — task books, prompt log and reviews — a beginner-friendly vibe-coding walkthrough
  • Organize with pins, tags, batch actions, a trash bin, and usage stats (copy count / recency sorting)
  • Get started fast: a 3-step first-run guide (collect · variables · hotkey) that can be skipped
  • Stay safe: single JSON file, atomic writes, automatic .bak backups, one-click recovery
  • Feel good: tray-resident, custom title bar, dark/light theme, window-position memory, all in Chinese UI
npm install && npm run tauri build   # requires Node 18+, Rust (MSVC), WebView2

MIT License.


📄 许可

MIT © 2026 zklmiao

图标路径参考自 Lucide(ISC License)。感谢 Tauri、React、Vite 社区。

如果这个工具对你有用,欢迎点一个 ⭐

About

本地优先的 Prompt 收藏桌面工具 · Tauri 2 + React 19 + TypeScript · Local-first prompt vault for Windows

Topics

Resources

Stars

157 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages