Visual Image Organizer for Local Evaluation & Tagging
V.I.O.L.E.T. is a local-first anime and illustration library for people who want Danbooru-style retrieval over their own image collection. It builds on Blombooru, adds Windows/iCloud-aware local ingestion safety, Chinese UI/localization support, AI-assisted tagging, source-backed evidence, and provenance-aware workflows for future entity correction.
Canonical repository: kyloris0660/VIOLET.
The historical local folder name may still be AnimeLocalBooru.
- Self-hosted gallery for local anime/illustration media.
- Danbooru-style tag search with upload, scan, thumbnail, and media-detail workflows.
- Local library scanning with dry-run, cloud-file safety, deduplication, and per-file failure handling.
- Tag provenance for manual, AI, and imported suggestions; manual/locked tags take priority.
- Opt-in WDv3 AI tagging jobs and Chinese general/meta tag localization.
- Source-layer evidence tables for provider-neutral source names, tags, assertions, and SourceConcepts.
- Targeted manual entity correction foundations without requiring exhaustive review queues.
V.I.O.L.E.T. is a personal/local development project, not a production SaaS. The current active work is source-backed evidence quality: SourceConcepts group source-layer names, aliases, assertions, tags, AI/model signals, and provider metadata into unconfirmed evidence that can power search and validation.
SourceConcepts are deliberately not Entity truth. They are not EntityAlias
truth, confirmed assignments, or media_tags truth, and they do not approve
automatic entity promotion. The next development route is expanded
SourceConcept validation and coverage auditing before any Entity bridge.
| Layer | Technology / Notes |
|---|---|
| Backend | FastAPI, SQLAlchemy ORM, PostgreSQL 17 |
| Frontend | Jinja2 templates, Tailwind CSS, vanilla JavaScript |
| Runtime entry point | python run.py --debug from repo root |
| Local config | .env for DB/runtime settings; data/settings.json after onboarding |
| AI models | WDv3 ONNX and CLIP ONNX only where explicitly enabled |
| Tests | Pytest tiers plus gated Playwright Edge E2E |
Windows local development:
git clone https://github.com/kyloris0660/VIOLET.git AnimeLocalBooru
cd AnimeLocalBooru
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
Copy-Item example.env .env
# Edit .env for local PostgreSQL, for example:
# POSTGRES_HOST=localhost
# POSTGRES_DB=blombooru
# POSTGRES_USER=<local postgres user>
# POSTGRES_PASSWORD=<local postgres password>
python run.py --debugOpen http://localhost:8000. First run shows onboarding; later runs load the
gallery. Default local development credentials after onboarding are
admin / admin123; do not expose those credentials on a public network.
- Local/source files are never mutated by default.
- iCloud and Windows Cloud Files workflows must use preflight/dry-run safety paths.
- Originals, local paths, filenames, API keys, and private source labels must not be exposed in public reports or sent to external providers by default.
- Provider calls, source enrichment, LLM runs, DB imports, migrations, broad validation, Entity Resolver work, similarity/clustering, and
media_tagsmutation require explicit phase approval. - Confirmed automatic entity assignment is not approved by current policy; reliable identity work must remain provenance-first and confirmation-aware.
| Document | Use it for |
|---|---|
| Current Handoff | Short active state, route, non-goals, and validation starting points |
| Project Roadmap | Active roadmap, governance standards, and phase archive |
| Test Workflow | Scope-based validation policy and current test entry points |
| Manual Validation | Local development/manual validation runbook |
| iCloud Safe Ingestion | Source/iCloud scan, staging, and ingestion safety |
Historical phase reports live in docs/reports/ and are archival traceability,
not active onboarding material.
Current source-backed work is focused on validating SourceConcept coverage, alias linking, redaction, and search symmetry before any SourceConcept editing, Entity bridge, promotion, broad provider run, or full-library scale-up. See the roadmap and current handoff before starting a new phase.
V.I.O.L.E.T. extends Blombooru, a self-hosted media tagging tool.
- Upstream: https://github.com/mrblomblo/blombooru
- License: MIT
