我构建了一个本地优先的 AI 提示管理器——以下是离线优先值得额外复杂性的原因

发布: (2026年3月3日 GMT+8 08:39)
5 分钟阅读
原文: Dev.to

Source: Dev.to

问题

每位每天使用 AI 工具的开发者都会遇到同样的情况:

  • 你写了一个完美的提示词。
  • 你从 Claude、Cursor 或 ChatGPT 那里得到了恰好需要的输出。
  • 你关闭了标签页。

一周后,同样的问题再次出现,你花了 20 分钟试图凭记忆重新构造那个提示词。

介绍 PromptVault

我构建了 PromptVault,一个 本地优先 的提示词管理器,支持离线使用,包含适用于任何 AI 工具的浏览器扩展,并提供 AI 辅助功能帮助你编写更好的提示词。

为什么不走传统后端?

显而易见的做法是创建数据库、后端、用户账户,并把所有数据存放在服务器端。我没有这么做,原因有二:

  1. 隐私 – 开发者不信任把提示词存入他人数据库的工具。提示词包含你的全部思考过程、偏好方法以及项目上下文,这些都是敏感信息。
  2. 性能 – 本地优先的应用更快。无需往返服务器,搜索即时,保险库立即打开,甚至可以在飞机上使用。

权衡与同步架构

复杂度

离线优先意味着要处理同步冲突、排队操作以及同一数据在两台设备上被修改的情况。

写操作队列

每一次写操作(创建、更新、删除)都会被加入本地的同步队列,存放在 IndexedDB 中。每条记录包含:

  • 操作类型
  • 实体 ID
  • 完整负载

当应用上线时,按顺序将队列刷新到 Supabase。若同步操作失败,会使用指数退避重试最多三次。三次失败后,该条目被移除并记录错误日志。

冲突解决

冲突通过基于 updatedAt 时间戳的 Last‑Write‑Wins 方式解决。这一简单策略适用于我们的使用场景——在两台设备上同时编辑同一个提示词的情况极其罕见。

浏览器扩展(Chrome MV3)

该扩展会在 claude.aichatgpt.com 等站点的文本框以及任何包含 “ 或 contenteditable 元素的页面中注入一个小 ⚡ 按钮。

  • 点击按钮 → 一个迷你搜索弹窗会从 PromptVault 的本地 IndexedDB 中读取数据。
  • 选择提示词 → 它会直接粘贴到当前活动的输入框中,省去切换窗口的步骤。

AI 驱动功能(BYOK)

PromptVault 使用 BYOK – Bring Your Own Key。你可以在设置中配置自己的提供商(Claude、GPT‑5、Gemini、Groq,或任何兼容 OpenAI 的端点)。应用直接调用你的提供商,数据不会经过 PromptVault 的基础设施。

主要 AI 功能

  • Vibe Mode – 将粗略想法转化为结构化提示词。
  • Prompt Improver – 四种模式帮助优化提示词。
  • Variant Generator – 生成简洁版、详细版或重新表述的版本。
  • Debugger – 对任意提示词执行五项检查。

定价

  • 免费层 – 100 条提示词,包含全部功能;无需账户即可开始使用。
  • 专业版 – 每月 $9,提供无限提示词和跨设备同步。

联系方式

欢迎在评论区提出关于架构的任何问题。

0 浏览
Back to Blog

相关文章

阅读更多 »