AI 提示词管理工具 —— 把杂乱无章的 Prompt 文档,变成 五级分类书架 + 极速检索 + 一键复制 + 回收站(可恢复)+ 每日变更包 + 导入导出安全防护 的本地神器。
双击 PromptSprite_<打包日期YYMMDD>_V<版本号>.exe 即可使用(当前源码版本 V2.3.0;已发布产物以 Releases 页最新标注为准)。
📁 请把它放在一个稳定、可写、不会被误删的文件夹(不要放桌面或"下载"文件夹),数据就存在 EXE 同目录的
data/里——换文件夹/换电脑时,把整个data文件夹一起复制过去即可。 🔐 数据 100% 存在本机(明文 SQLite,不含加密,如有隐私需求建议配合 BitLocker 等系统级磁盘加密);只有你在向导里主动使用「从网址获取」、或在标签页面使用「热点词更新」时才会联网(只读抓取你填写的网址,不写盘、不留登录态),其余功能全程离线。 📖 首次使用请先读 《软件安装使用说明书 V13》。
- 源码:
git clone https://github.com/yihufree/PromptSprite.git - 仅供学习与个人使用(MIT License,见 LICENSE)。
| 特性 | 说明 |
|---|---|
| ① 五级分类书架 | 项目类别 → 根目录 → 一级分类 → 二级分类 → 条目;项目类别预置 5 项,根目录/分类可跨项目"复制到 / 移动到"(重名自动加序号) |
| ② 9 字段详情 + 自定义字段 | ①名称…⑩图像方案;自定义字段可增/删/改名/排序/改类型(11 种类型各有专用控件:列表框、日期、是·否、附件、短音频试听、图像缩略预览…);区块顺序可自由调整、可逐个隐藏(① 名称固定显示) |
| ③ 条目图集 | 详情区"封面 + 图集":本地图 / 外链图双源、可排序、可「下载到本地」 |
| ④ 条目多位置 | 关联到(一处编辑各位置同步)/ 复制到(独立副本)/ 移动到(可勾"整体转移");详情区"🧭 位置"面包屑可逐处解除 |
| ⑤ 一键复制 | 复制全部 / 复制中文 / 复制英文;任一分级分类都可持有并显示本级条目,可就地"+ 新增条目" |
| ⑥ 收藏与搜索 | ⭐常用入口;全局搜索匹配全部文本字段;输入防抖(停顿约 1.5 秒才查,点 🔍 或回车立即搜);Ctrl+Shift+P 唤出聚焦搜索(热键可在设置中自定义);#标签 / #无标签(别名 #none)可搜索 |
| ⑦ 标签系统 | 详情区「🏷 标签」输入即补全 / 回车新建 / ×移除;标签页面=标签云 ⇄ 列表+计数双呈现、且/或组合过滤、重命名/合并/删除/清理未使用 |
| ⑧ 智能标签与批量打标 | 出厂词表(809 个标签 / 21 个领域包)+ 打标三源优先级;批量智能自动打标可对「无标签」或「全部」条目批量打标(强制先备份 + 必须先预演 + 二次确认,执行后可精确撤销) |
| ⑨ 词表 / 热点词 / 自动取词 | 标签页面页签或设置内入口:导出 / 导入(替换)/ ➕ 增量导入(只增不删) / 恢复出厂;热点词逐条添加、文本导入、来源网址抓取;智能自动取词词库自动沉淀词表外新词,达阈值升热点词或提示并入词表 |
| ⑩ 多格式导入导出 | JSON(当前 v6,兼容 v2~v5;含项目归属、删除清单、稳定 ID(uuid)、多位置清单(locations))/ Excel(含 uuid 列)/ HTML / MD(进度条);导入按内容自动去重,批量事务导入 |
| ⑪ 导出范围可选 | 菜单「导出全部」一键全库;「导出当前分类」支持 项目类别 / 根目录 / 一级·二级分类 三种分支 —— 导出前弹整库结构树确认框,把已选分支及其全部下属加重显示并给出将导出的条目数,确认后才导出 |
| ⑫ 删除保护与批量删除 | 单条删除 → 回收站(可恢复);删除分类三级保护(有子分类须先处理,级联须手输确认短语);🧹 批量删除本分支全部数据:影响统计 → 手输确认短语 → 选「软删除(进回收站)/ 硬删除」→(删「项目类别」另需手输名称 + 专用口令 123456)→ 自动双重备份(全量库快照 + 分支 JSON,失败即中止)→ 执行;共享分类只解除关联、不误删,条目仅在其全部位置都在范围内时才删除本体 |
| ⑬ 自动全量备份 | 每次启动自动全量备份 prompts_YYYY-MM-DD_*.db:按天去重 + 默认保留 30 份(可设置);只清理标准命名文件,手动快照永不清理;失败状态栏黄点警告 |
| ⑭ 每日变更包 | 每次关闭自动生成"当日全部变更"同步包:变更包_{电脑代号}_{日期}_add{N}_del{M}.json(JSON v6,兼容 v2 起全部旧格式;同日仅一份、保留天数可设);条目与删除项均带稳定 ID ⇒ 换机按 uuid 精确同步("修改"=更新同一条、删除不误伤同内容条目);可换机合并导入、可导出 Excel/HTML 浏览 |
| ⑮ 导入安全防护 | 含删除清单的包一律走导入向导:先预览(来源电脑/日期、新增/修改/删除计数、落后同步红字提示)→ 二维选择(是否合并新增修改;删除清单:忽略 / 正常应用(须输"确认删除")/ ⑤ 逆向恢复(须输"恢复删除"));导入前自动快照(prompts_preimport_*.db,可一键回滚);被删条目先进回收站、保留图片 |
| ⑯ 数据比对 | 导入菜单「数据比对…(与备份 *.db)」:只读打开历史备份与当前库对比(项目类别/根目录/分类/条目差异概览 + 明细),可导出 HTML 报告;"内容已修改"优先按稳定 ID 配对(改名又改内容也能准确识别) |
| ⑰ 网上资源结构化向导 | 粘贴文本 / 本地文件(CSV·TSV·TXT·HTML·MD)/ 网址获取(网页、GitHub 文件、GitHub 目录批量)→ 四层映射 → 字段映射(含自定义字段与标签)→ 树预览与判重统计 → 质量自检面板 → 先存数据文件、再导入 |
| ⑱ 界面与设置 | 工具栏 11 项功能按钮 + 搜索框;🗂 目录隐藏/显示可任选隐藏各分类列(窗口最小宽度动态化);✏️ 编辑 / 👁 浏览切换(浏览态只读防误改);设置 6 页分页:界面 / 外观 / 数据与备份 / 字段 / 标签与词表 / 关于(含版本、库数据统计、功能与使用说明、可点击的开源仓库链接) |
| ⑲ 老库迁移 | 旧版数据自动升级(结构迁移 + 归属分配):迁移向导人工核对映射、未命中弹窗选择、未回答兜底"未明确分类" |
| ⑳ 一键打包 | python build.py 自动生成单文件 EXE(内嵌最新完整库) |
| 版本 | 日期 | 要点 |
|---|---|---|
| V2.3.0 | 2026-09-22 | 导出范围确认框(结构树 + 加重显示);批量删除本分支全部数据(多道确认 + 双重备份 + 软/硬删除 + 共享分类保护);推荐标签不再受"字段隐藏"影响;结构化向导手输名称不再丢失;详情区重复刷新修复;「关于」页精简重写并补记批量删除口令。库结构仍 schema v5 / 导出格式仍 JSON v6 |
| V2.2.0 | 2026-09-17 | 条目稳定 ID(uuid):库结构升 schema v5、导出格式升 JSON v6;变更包按 uuid 精确同步、多位置往返保真 |
| V2.1.0 | 2026-09-14 ~ 16 | 智能标签体系与批量打标、出厂词表、条目图集、结构化向导、联网抓取、详情区区块排序与隐藏、智能自动取词词库、设置增至 6 页 |
| V2.0.0 | 2026-09-14 | 标签系统与标签页面、条目图集、自定义字段与 11 种类型控件、列表框三类数据源 |
| V1.9.0 | 2026-09-12 | 详情区浮动提示窗重构与「💬 浮动提示」总开关 |
| V1.8.0 | 2026-09-10 | 工具栏重排、目录隐藏/显示、编辑·浏览切换、搜索防抖、条目名称一览浮层 |
| V1.7.0 | 2026-09-09 | 每日变更包、变更包导入向导、导入前快照、数据比对、导入性能优化 |
| V1.6.0 / V1.5.0 及更早 | ≤ 2026-09-07 | 四层分类、增量备份、全局热键与托盘、多格式导入导出等基础能力 |
更详细的历史修订说明:见仓库
docs/下各版本文档与2026xxxx_PromptSprite_0N_开发工作记录.md。
- 打包版内嵌打包时的最新完整库(
app/resources/builtin_prompts.db),首次运行若无data/prompts.db自动复制建库(已有数据绝不覆盖);源码开发版首次启动自动导入"内置手册"。 - 内置精简模板以"网上资源收集"示例数据为主体(条目数/分类数以打包时的实际库为准),个人/梳理类目录留空,开箱即可上手;内置库已预置标签(实测 593 个标签 / 6574 条关联,以你的实际库为准),打开标签页面即可看到。
- 内置内容版本升级时以"非破坏性合并"更新(分类按名复用、条目按名 upsert),不覆盖、不清空任何用户数据。
- 示例数据来源致谢:moosl/awesome-gpt-image-2-prompts、davidwuw0811-boop、ZeroLu/awesome-gpt-image、whataicc/aiprompt 等(条目均已标注 origin 溯源字段)。
┌──────────────────────────────────────────────────────────────────────────────┐
│ 🧩PromptSprite │🔒锁定│🗂目录隐藏│📂无类条目│🏷无标条目│⭐常用│🏷标签│✚新建│⇩导入│⇧导出│⚙设置│[搜索 🔍]│
├────────┬────────┬────────┬────────┬─────────────────────────────────────────┤
│ 项目类别│ 根目录 │ 一级 │ 二级 │ 条目(卡片/列表) | 详情(可编辑) │
│ 日常学习│ 视频 │ 人物 │ 人像 │ ☆收藏 ➜移动到 ↔关联到 ⧉复制到 ✏️编辑/👁浏览│
│ 网上资源│ 海外AI │ Portrait│ Street │ 电影风格人像 | ①~⑩字段 重置/💾保存 │
│ … │ … │ … │ … │ … | [🗂]… 🕒新增历史 ♻回收站 🗑删除 │
└────────┴────────┴────────┴────────┴─────────────────────────────────────────┘
│ 底部状态栏:按悬停层级动态统计条目/分类数 │
└──────────────────────────────────────────────────────────────────────────────┘
- 从 GitHub Releases 下载
PromptSprite_<打包日期YYMMDD>_V<版本号>.exe(以 Releases 页最新标注为准); - 放到一个你记得住、不会被误删的文件夹(不要放桌面或"下载"文件夹),双击运行(首次自动建库并导入内置数据;数据保存在 EXE 同目录
data/下);换文件夹时请把原来的data文件夹一起复制过去; - 详细图文说明见 《软件安装使用说明书 V13》。
# 1. 克隆仓库
git clone https://github.com/yihufree/PromptSprite.git
cd PromptSprite
# 2. 创建虚拟环境并安装依赖(Python 3.12,兼容 3.10+)
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
# 3. 启动(以下三种方式等价)
python app/main.py # 直接运行主文件(推荐)
python run.py # 根目录启动器
python -m app.main --smoke # 冒烟测试:5 秒后自动退出运行依赖:customtkinter / Pillow / pyperclip / openpyxl / keyboard / pystray(见 requirements.txt)。
python build.py # 一键打包(自动装依赖/生成图标/内嵌最新完整库/PyInstaller 单 EXE/校验)产物自动按 PromptSprite_<打包日期YYMMDD>_V<版本号>.exe 命名(当前版本号 2.3.0,即 ..._V2.3.0.exe;体积与 SHA256 随每次构建而变)。详见 《打包发布指南 V12》。
V2.1.0 ~ V2.3.0 三批增强均未新增任何第三方依赖(智能标签 / 批量打标 / 词表 / 热点词 / 自动取词 / 条目稳定 ID / 导出范围确认 / 批量删除均用标准库),因此打包流程与
spec无需改动。⚠️ 打包脚本含硬门禁:第 4.5 步会用clean_builtin_meta.py清理并复核内嵌库的"运行态 meta"(含开发机计算机名等),任一步失败会直接终止打包。
PromptSprite/
├── app/ # 主程序包
│ ├── main.py # 程序入口:启动静默备份→建库→内置库/迁移向导→热键/托盘
│ ├── config.py # 全局常量:版本、目录、备份/变更包策略、meta 键、仓库地址
│ ├── database.py # SQLite 数据层(schema v5):projects/domains/categories/entries/meta/
│ │ # entry_links/deletion_log(payload)/trash(回收站)/field_defs/
│ │ # entry_field_values/entry_ref_links/tags/entry_tags/entry_images
│ ├── backup.py # 启动自动全量备份 + 导入前快照 preimport / 打标前快照 pretag /
│ │ # 批量删除前快照 predel(独立前缀、不按天去重、各自清理)
│ ├── tagger*.py # 出厂词表 tagger_dict / 词表存取 tagger / 打标引擎 tagger_engine /
│ │ # 批次与精确撤销 tagger_batch
│ ├── incremental_backup.py # 每日"变更包"(JSON v6、uuid、携带被删快照可选、逆向恢复)
│ ├── hotkey.py # 全局热键(可配置)+ 系统托盘
│ ├── self_test.py / gui_self_test.py # 自测入口(数据层模块 + GUI 全量回归)
│ ├── parser/ # md_parser / json_io(v6,兼容 v2~v5) / excel_io(含 uuid 列)/
│ │ # html_export / hierarchy_import(结构化+质量自检)/ fetcher(联网抓取)
│ ├── ui/ # main_window(主界面)/ export_scope_dialog(导出范围确认)/
│ │ # change_import_dialog / compare_dialog / history_dialog /
│ │ # field_manager_dialog / import_wizard_dialog / github_batch_dialog /
│ │ # quick_add / copy_move_dialog / move_selector / migrate_dialog /
│ │ # project_chooser / progress_dialog / settings_dialog
│ └── resources/ # builtin_manual.md(内置手册)+ builtin_prompts.db(打包时内嵌)
├── docs/ # 需求规格 / 审核报告 / 说明书 / 打包指南 / 施工方案 / 设计文档
├── Icons/PSicon.png # 应用图标源
├── build.py / run.py / requirements.txt
├── clean_builtin_meta.py # 打包门禁:出厂库"运行态 meta"清理/复核(build.py 第 4.5 步调用)
├── clean_junk_tags.py / tag_builtin.py # 工具:清理垃圾标签 / 给内置库批量预置标签
├── data/ # 运行时生成(不入库):prompts.db、backup/、backup/incremental/、images/
├── *.json / *.xlsx # 数据资产示例文件(可直接导入)
├── 2026xxxx_PromptSprite_0N_开发工作记录.md / Dev_Work_Log/ # 开发记录(按编号追加,勿覆盖删除)
└── LICENSE / README.md / .gitignore
- 100% 本地:单文件 SQLite 数据库
data/prompts.db;打包态为 EXE 同目录data/,开发态为项目根data/。软件不上传、不收集任何数据;唯一的联网行为是你在结构化向导里主动使用「从网址获取」(或标签页面「热点词更新」)时按你填写的网址做只读抓取(不写盘源文件、不留登录态、不后台访问、不做站内遍历)。 - 图片与备份:条目关联图片存
data/images/;自动全量备份、导入前 / 打标前 / 批量删除前快照存data/backup/;每日变更包存data/backup/incremental/。 - 数据模型:项目类别/根目录/一级/二级/条目五级;分类为全局共享树(删除根目录仅解除关联);
trash表保存被删完整快照(可恢复);旧库启动自动迁移(幂等,迁移前自动备份)。 - 批量删除口令:删除「项目类别」整枝时需输入专用口令
123456(公开默认口令,仅作"多一道手工关卡";真正的数据兜底是双重自动备份 + 回收站)。软件内 设置 → 关于 → 「查看完整说明」 中亦有记载。 - 隐私提醒:变更包可能包含条目内容与删除清单;"携带被删快照"默认关闭,分发/导入前请先查看摘要确认(纯删除包会有红字警告)。
⚠️ 索引维护说明:本表只列出仓库中实际存在的文件(2026-09-22 核对)。若某个链接打不开,说明该版本未随仓库分发,请以同类的最新版为准。
| 文档 | 说明 |
|---|---|
| 软件安装使用说明书(V13) | ★ 面向普通用户的完整安装与使用指南(当前版 V2.3.0):小白向,含工具栏逐个说明、6 页设置、标签体系、批量打标、批量删除、数据多重保障、变更包换机、FAQ、已知限制 |
| 打包发布指南(V12) | ★ 源码打包 EXE 与 GitHub Releases 发布全流程(含 build.py 步骤与硬门禁、spec 核对、产物自检清单、FAQ) |
| 项目需求规格和开发计划书(V10) | ★ 需求规格(FR/DR/UR/NFR)+ 开发计划:验收标准、开发批次、"明确不做"清单 |
| 项目审核和修改建议报告(V10) | ★ 全量只读审核结论(2026-09-17):实测基线、六维审核、分级处置清单 |
| 条目稳定 ID 改造施工方案(V1) | V2.2.0 的库结构/格式变更施工方案 |
| 项目结构与文档体系说明 | 目录结构、模块职责与文档体系 |
| 上一版说明书(V12) / (V11) | 保留存档:分别对应 V2.2.0 / V2.1.0 |
| 上一版打包指南(V11) / (V10) | 保留存档 |
| 上一版需求规格(V9) | 保留存档 |
| 智能标签可行性研究报告(V3) / 标签词表草案(V1) / 预置标签预演报告(V1) | 词表与预置标签的过程文档 |
| 数据库批量打标方法 | 批量打标的命令行方法(tag_builtin.py) |
| T2 联网抓取施工计划报告(V2) / 下一阶段施工报告(V2) | V2.0.0 / 09-15~16 增强的施工方案 |
| 开发工作记录(按编号续写) | 根目录 2026xxxx_PromptSprite_0N_开发工作记录.md 与 Dev_Work_Log/ 下的开发记录(只追加、不覆盖) |
更早的历史版本与过程文档见
docs/与Dev_Work_Log/目录。
- 报告问题(Issue):建议先在 GitHub Issues 搜索是否已有同类问题;提交时请注明版本号(「设置 → 关于」可查)、复现步骤、截图/日志与数据影响范围。
- 发起 PR:Fork 本仓库并创建特性分支;遵循项目约定——修改处添加
修改日期+内容注释;每次问答/开发内容按编号追加到开发工作记录(禁止覆盖/删除已有内容);提交遵循 Conventional Commits 规范;合并前请先跑python -m app.self_test与python -m app.gui_self_test。 - 讨论与建议:需求/方案类讨论欢迎直接开 Issue 交流;涉及数据安全(删除、导入、备份)的改动会被重点审查。
☕ 如果你开心,欢迎送爱心请作者喝杯咖啡,让我更有动力去创造!
本项目采用 MIT License(见 LICENSE),仅供学习与个人使用。引用本项目或代码请保留版权声明。
完整版(含每条限制的应对办法)见 《软件安装使用说明书 V13》第 22 章。
- 搜索的 1.5 秒延迟是刻意设计:输入过程不实时查询(避免整库刷新卡顿),停止输入约 1.5 秒后才搜索;要"立刻出结果"请点搜索框右侧 🔍 或按回车。
- 窗口最小宽度随目录显隐变化:四列全显示时约 1496、四列全隐藏时约 1104(下限由顶部工具栏"完整显示所需宽度"决定)。
- 库结构 schema v5 / 导出格式 JSON v6(重要):旧库启动自动迁移(幂等、迁移前自动备份);回退到旧版 EXE 时必须同时恢复数据库备份(旧版不认识新结构)。老导出文件(JSON v2~v5、旧 Excel、旧 MD)照常可用。
- 多位置条目的导出往返(v6 起已保真):子树导出时多位置条目只写一次、位置清单写入
locations,导入自动重建关联;例外:Excel 仍按行展开(便于人看/人改),但导入时按uuid合并、不再产生副本;若表格被人为删掉uuid列,则退回"内容键"判重。 - 「修改」的换机同步语义(v5 起已修正):条目带跨机器稳定 ID,变更包/JSON 导入优先按 uuid 匹配 ⇒「修改」=更新同一条目;旧包(v2~v5)行为不变,仍按内容键合并。
- 批量删除的边界:被其他根目录共享的一级分类只解除关联、不删除记录;条目仅在全部位置都落在删除范围内时才删除本体,否则只解除范围内的位置关联。删除前的两份备份(全量库 + 分支 JSON)失败会直接中止删除。
- 「项目类别」批量删除的口令是公开默认值
123456:它的作用是"多一道手工关卡",不构成安全防护;请勿把它当作权限控制。 - 详情"自动"显示模式:默认仅对 视频 / 图像 两个根目录完整显示 ②~⑦,其余根目录只显示 ② 介绍;点详情头部"⏵ 显示全部字段"或把设置改为"全部"即可全显。
- "手动隐藏"是硬隐藏:无论显示模式如何,字段管理里被隐藏的区块都不显示,头部「显示全部字段」也不会恢复它(须回字段管理改回"显示");内容不会丢(照常导出、搜索、进变更包)。
- 区块顺序 / 隐藏 / 外观属「本机偏好」:存在本机数据库设置项里,不随 JSON 包 / 变更包跨机同步;用本机备份恢复会带回该设置。① 名称固定显示、不参与排序、不可隐藏。
- 结构化向导的出口为"先保存数据文件、再导入":保存后若又改映射/换表/换源,需重新保存才能导入。
- 联网抓取的边界:不支持需要 JS 渲染的页面、不处理登录流程、不做风控绕过、不做站内自动遍历;抓取仅为你主动触发的一次性只读请求(15 秒超时、体积上限 10MB;GitHub 批量另有限额)。
- 数据库为明文 SQLite,不含加密:本机其它程序理论上可读取
data/prompts.db。如有隐私需求,建议配合系统级磁盘加密(Windows BitLocker 等)。 - 自动取词的"词表阈值"提示只在管理对话框内出现:软件不会主动弹窗,请偶尔打开"设置 → 标签与词表 → 🧠 自动取词词库…"查看"待审核"数量。
- 调整字段顺序后没有"一键恢复默认":需手工用 ↑↓ 排回,建议调整前先记录原顺序。
- 软件应放在稳定、可写、不会被误删的文件夹:
data必须与程序同目录;换文件夹时请把原data一起复制过去,否则会新建空库。 - 打包脚本含硬门禁:
python build.py第 4.5 步会清理并复核内嵌库的"运行态 meta",任一步失败会直接终止打包(刻意设计,请勿绕过)。