NanmiCoder/open-image-prompts
GitHub: NanmiCoder/open-image-prompts
一个开放的本地优先视觉 prompt 存档,提供可追溯的 prompt-图像参考检索与两个可安装的 Agent Skills,帮助 AI 图像创作者高效地生成和比对优质 prompt。
Stars: 150 | Forks: 18
English · 简体中文
# 打开 Image Prompts 一个开放、本地优先的视觉 prompt 存档,包含两个可安装的 Agent Skills: - `img-gen-taste` 将简略的描述转化为清晰的艺术指导。 - `img-gen-prompts` 检索可追溯的 prompt-图像参考,并打开本地比对画廊。 通过 coding agent 进行工作?[AGENTS.md](./AGENTS.md) 提供了精简的设置、 端口和 Skill 契约。 公共数据集包含 **14,402 条源 prompt**、**25,004 张图像**、**28,802 条翻译**、**167,515 个有效的 v2 prompt 标签**,以及包含 **185 个视觉标签**的封闭式分类体系。不包含标注模型、回填工具、提供商配置、测试运行、错误日志和其他标注过程记录。这些计数由 `npm run verify:docs` 针对 `data/public-corpus.json` 进行校验。 数据集资产通过 [GitHub Releases](https://github.com/NanmiCoder/open-image-prompts/releases) 而非 Git LFS 发布:仓库克隆保持较小体积,`scripts/fetch_dataset.py` 会下载 SQLite 归档文件(约 80 MB)以及可选的月度图像包(总计约 4.3 GB),并进行 sha256 校验。有关确切的资产列表,请参阅 `data/dataset-manifest.json`。 ## 仓库与数据集资产 本仓库跟踪应用程序代码、前端、API、Skills、分类体系以及小型数据集索引。它有意**不**将 SQLite 数据库或图像文件提交到 Git 历史记录中。运行时数据会从 GitHub Releases 下载到您的本地检出目录中: ``` open-image-prompts/ ├── db/prompts.db.gz # SQLite dataset archive from Releases, gitignored ├── images/ # extracted image packs from Releases, gitignored ├── .oip/runtime/prompts.db # expanded read-only runtime SQLite, gitignored ├── data/dataset-manifest.json ├── data/public-corpus.json └── web/dims.json ``` 如果您仅克隆仓库而不获取数据集,您将只有代码,而没有进行完整预览和检索所需的本地 prompt/图像语料库。在仓库根目录下运行: ``` npm run data:pull # downloads DB + all image packs and verifies sha256 ``` 如果只需下载 DB 并跳过多 GB 的图像包: ``` npm run data:pull:db # 或 python3 scripts/fetch_dataset.py --db-only ``` 仅 DB 模式支持搜索/检索,而当缺少本地图像时,画廊会回退到原始源图像 URL。完整的本地图像预览需要下载图像包。 当数据集更新时,Git 提交通常只会更改 `data/dataset-manifest.json`、`data/public-corpus.json` 和 `web/dims.json` 等小文件。大型 `prompts.db.gz` 和 `images-YYYY-MM.tar.gz` 文件作为 Release 资产发布。重新运行 `npm run data:pull` 即可下载新的 DB,并且仅下载 sha256 发生变化的图像包。 ## 一键启动 安装 [Git](https://git-scm.com/downloads) 和 [Node.js](https://nodejs.org/) 20.19+ 或 22.12+,然后克隆仓库: ``` git clone https://github.com/NanmiCoder/open-image-prompts.git cd open-image-prompts ``` 在 macOS 或 Linux 上启动: ``` ./start.sh ``` 在 Windows 上启动: ``` start.bat ``` 您也可以在文件资源管理器中双击 `start.bat`。启动器会在需要时安装 [uv](https://docs.astral.sh/uv/),创建兼容的 Python 环境,从 GitHub Releases 下载数据集,安装前端包,并启动这两个服务。打开终端中打印的本地 URL。要跳过多 GB 的图像包(之后画廊将回退到原始源 URL),请在启动前设置 `OIP_FETCH_SKIP_IMAGES=1`。 首次启动会将压缩的 SQLite 归档文件解压到被忽略的 `.oip/runtime/` 目录中。随后的启动将重用 Python 环境,同时刷新被锁定的依赖项。 ## 数据集资产 Git 仓库不直接存储大型数据集文件。克隆操作会为您提供应用程序代码、Skills、公共元数据和 `data/dataset-manifest.json`。必须先从 GitHub Releases 下载 SQLite 数据库和图像包,完整的本地画廊才能运行。 下载完整的数据集: ``` npm run data:pull ``` 此命令会读取 `data/dataset-manifest.json`,下载 Release 资产,验证其 sha256 哈希值,并将它们放置在应用程序所需的路径中: - `db/prompts.db.gz` 是压缩的公共 SQLite 数据库。 - `images/` 接收从 `images-YYYY-MM.tar.gz` 提取的月度图像包。 - `.oip/packs/` 存储本地提取标记,以便在下一次运行时跳过未更改的包。 如果只需下载数据库并让画廊回退到原始源图像 URL: ``` npm run data:pull:db ``` 这些生成的文件被 Git 有意忽略。数据集 Release 可能会频繁更新,但仓库提交保持很小的体积:Git 跟踪代码和轻量级元数据,而 GitHub Releases 承载 `prompts.db.gz` 和图像归档。 ## 使用 Docker 运行 Docker 提供了一个隔离的 Linux 运行时环境,包含 Node.js 22 和 Python 3。镜像构建在生成运行时镜像之前,会运行公共数据检查、API/前端测试、lint 和生产构建: ``` docker build -t open-image-prompts . docker run --rm --name open-image-prompts -p 4173:4173 open-image-prompts ``` 打开标签:AI绘画, MITM代理, 二进制发布, 开源工具, 提示词工程, 暗色界面, 本地优先, 策略决策点, 请求拦截, 逆向工具