Commit Graph

357 Commits (fcc3b6676793c030bb4181dee8440883cc7baa07)

Author SHA1 Message Date
zanllp fcc3b66767 feat: add smart organize feature with AI-powered file organization
- Add smart organize feature that groups similar images based on prompt semantics
- AI generates meaningful folder names in user's preferred language
- Preview before action: review proposed organization, skip or adjust as needed
- Background processing for large folders
- Support move or copy, configurable min cluster size, include subfolders option

Backend changes:
- Add organize_files.py with job management and file operations
- Add recursive parameter to embedding and clustering APIs
- Default recursive=true for Topic Search (backward compatible)
- Default recursive=false for Smart Organize (first-level only)
- Update database on file move to preserve tags

Frontend changes:
- Add SmartOrganizeConfigModal for configuration
- Add OrganizeJobsPanel for progress tracking
- Add OrganizePreview for reviewing and confirming
- Add smart organize button to address bar
- Add i18n translations for zh-hans, zh-hant, en, de

Documentation:
- Update README.md and README-zh.md with feature description
- Update change.log.md with screenshots and video demo

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-17 17:14:02 +08:00
zanllp e23f6c0c98 feat(settings): add auto update index toggle
- Add autoUpdateIndex setting to global settings (enabled by default)
- When disabled, show manual update prompt instead of auto-updating expired index
- Add feature tip alert shown on first use
- Localize new strings in all languages (en, zh-hans, zh-hant, de)
- Rebuild vue dist assets with updated code
2026-02-08 21:26:55 +08:00
zanllp 0520224bbc build 2026-02-01 20:18:48 +08:00
zanllp 9fed8fa256 Interface adjustments 2026-02-01 16:02:28 +08:00
zanllp 214b1c9b67 : optimize UI styling and CSS 2026-01-30 00:36:47 +08:00
zanllp 1d9e65f835 feat: add EXIF metadata display support 2026-01-29 23:49:49 +08:00
zanllp 23f2715e75 chore: update dist build 2026-01-26 01:42:54 +08:00
zanllp bb7482f17c feat: update tiktok info panel and dist 2026-01-25 20:09:55 +08:00
zanllp a3190fc9b1 chore: update dist build assets 2026-01-25 19:35:40 +08:00
zanllp 40b8361ed0 feat: Add tag name validation and cleanup
- Add tag name validation in Tag.get_or_create method
- Chinese names: max 16 characters
- Other languages: max 8 words
- Return error tags with uppercase English names when validation fails
- Ensure error tags are created through get_or_create to maintain database consistency
- Clean up database: removed 487,938 non-custom tags, keeping only 12 custom tags
2026-01-22 01:29:53 +08:00
zanllp 4f4d766b73 fix: include hyphen in LoRA tag model name matching 2026-01-21 23:28:20 +08:00
zanllp 0b26b115ab feat: add option to extract all ComfyUI prompts at once
- Add IIB_COMFYUI_EXTRACT_ALL_PROMPTS environment variable
- When enabled, extract all CLIPTextEncode prompts instead of following KSampler chain
- Note: All prompts will be merged into positive prompt field
2026-01-18 16:37:40 +08:00
zanllp d0e916f920 Update: cache banner and type declarations 2026-01-18 14:20:06 +08:00
zanllp 7b2af32b10 feat: enhance topic search with keyword limit, irregular layout, and cache banner
- Add keyword count limit (default 600) for Tag layer to improve performance
- Implement irregular node layout with random perturbations
- Add layer spacing based on adjacent layer widths for consistent gaps
- Add cache result banner with collapse/expand functionality
- Add streaming response utility for LLM API calls
- Update i18n translations for new cache banner texts
- Optimize tag graph: increase max tags to 500, add level-2 tiered requirements
- Fix keyword deduplication and null handling in tag graph
2026-01-18 01:29:25 +08:00
wuqinchuan 6c16bd0d82 perf: optimize tag graph response and surface LLM failures 2026-01-11 20:42:14 +08:00
wuqinchuan 3771de5834 feat: enhance tag relation graph filtering, fullscreen, and i18n 2026-01-11 18:33:17 +08:00
wuqinchuan 59bef3915e feat: 优化query搜索并加入tag图(去掉max抽象层与d3依赖) 2026-01-11 00:56:58 +08:00
zanllp 38ab17006e Rebuild vue dist assets 2026-01-10 23:14:45 +08:00
zanllp 000da5ad69 Fix downloadFiles function: remove hardcoded URL, improve multiple downloads handling, add error handling 2026-01-04 23:46:25 +08:00
zanllp 810944edf6 rebuild 2026-01-04 01:15:10 +08:00
zanllp ca35b2c956 rebuild 2026-01-03 15:35:22 +08:00
rlabusiness 988bb811ae Fix duplicate auth prompt and mask password input using a proper password field 2026-01-01 17:59:03 +00:00
wuqinchuan dd5663dd89 Revert "feat: experimental natural-language categorization & search (persistent scope, clustering, retrieval)"
This reverts commit d7e2b2f9fc.
2025-12-28 23:16:31 +08:00
wuqinchuan d7e2b2f9fc feat: experimental natural-language categorization & search (persistent scope, clustering, retrieval) 2025-12-28 23:10:13 +08:00
zanllp ae800d6cbc feat: update style 2025-12-15 01:22:10 +08:00
zanllp 4cb3966cd2 feat: style update 2025-12-15 00:59:32 +08:00
zanllp da0082516c feat: add audio file playback support and improve TikTok view
- Add audio file recognition in backend (tool.py) and frontend (file.ts)
- Support audio formats: mp3, wav, ogg, flac, m4a, aac, wma
- Add audio player in TikTok view with starfield background animation
- Add audio modal similar to video modal
- Update file type filter to multi-select checkboxes (image/video/audio)
- Add filename display in TikTok view with Douyin-style bottom gradient
- Add long press to hide/show controls in TikTok view
- Fix audio resource cleanup when closing TikTok view
- Add Audio media type tag in database indexing
- Add i18n translations for audio related strings
2025-12-15 00:22:23 +08:00
zanllp e5413e41f1 feat: optimize random images, improve ComfyUI detection and prompt display
Backend optimizations:
- Refactor get_random_images() using SQLite ORDER BY RANDOM()
- Simplify from 60+ lines to ~20 lines with better performance
- Remove complex multi-cycle index calculations
- Maintain file existence check and auto-cleanup

ComfyUI support:
- Add fallback to 'parameters' field in PNG metadata
- Improve detection for ComfyUI-generated images

Frontend improvements:
- Smart prompt display: auto-detect tag vs natural language format
- Add getTextLength() with Chinese character weight (1 char = 3 letters)
- Refactor isTagStylePrompt() with clear rules:
  * Any tag length > 50  natural language format
  * Average tag length > 30  natural language format
- Natural language prompts shown as paragraphs
- Tag-style prompts shown as badges
- Better support for Chinese/English mixed content

Build:
- Update frontend asset references
2025-11-30 20:50:13 +08:00
zanllp d8ed522996 feat: implement auto-tagging feature with custom tag rules
- Add AutoTagMatcher singleton class for automatic tag application
- Support filtering by multiple fields (prompt, model, sampler, etc.)
- Add frontend UI for managing auto-tag rules in global settings
- Support AND logic for multiple conditions within a rule
- Integrate with image indexing process
- Add natural language vs tag-style prompt detection and rendering
- Include rule descriptions and usage guidance in UI
- Auto-reload rules when updated via API
2025-11-30 19:00:24 +08:00
zanllp 0184e7b1a6 support webm 2025-11-10 22:08:24 +08:00
zanllp dbf6e34ec0 feat(ui): improve TikTok viewer UX
- Add toggle for navigation buttons in global settings
- Add multi-language support for new settings (en, zh-hans, zh-hant, de)
- Improve video display in TikTok view using fit-content
2025-08-24 21:07:35 +08:00
zanllp d928aa4f56 feat: Adjust UI details & build 2025-08-23 16:13:09 +08:00
bupro 198de49e58 feat: Add video tag search and random sort with i18n support
- Added video tag support for enhanced media file handling:
  * Video files can now use tag-based search functionality
  * Added support for reading video generation info from txt files
  * Enhanced EXIF data handling for video media types

- Implemented random sort feature for image grid:
  * Added random sort toggle button with visual indicators (🎲/📅)
  * Supports both random and date-based sorting modes
  * Optimized pagination for random sorting with offset-based cursors

- Complete internationalization support:
  * Added translations for random sort and date sort in all languages
  * Supported languages: zh-hans, en, de, zh-hant
  * Improved UI consistency across language variants

- Backend improvements:
  * Enhanced database queries to support random sorting
  * Added random_sort parameter to API endpoints
  * Improved error handling for video file processing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-23 00:41:10 +08:00
wuqinchuan 4df86dc1e2 feat: Add media type filter support for search functionality 2025-07-13 20:09:36 +08:00
wuqinchuan 064859171d fix(homepage): support disable random images feature and fix other issues 2025-06-06 22:22:54 +08:00
zanllp c2f67569ed fix i18n 2025-06-03 16:58:55 +08:00
zanllp 1a4ac9bf65 build 2025-06-02 21:15:36 +08:00
wuqinchuan fb68d78f39 feat(file-view): add toggle for TikTok-style file display,enable some experimental features by default 2025-06-02 20:46:22 +08:00
zanllp f9dca3a0eb refactor(stackview): reorder action bar buttons by priority 2025-05-26 21:22:49 +08:00
zanllp f3858cb781 build 2025-05-25 23:54:22 +08:00
zanllp 68b4d96270 build 2025-05-25 23:21:56 +08:00
zanllp 569a61c6d1 build and fix some issue 2025-05-25 23:20:21 +08:00
wuqinchuan dcd4d62c0f feat(video): implement swipeable vertical feed like TikTok 2025-05-25 22:45:53 +08:00
zanllp 68b39c20f8 fix: handle parent window access error in Colab environment 2025-03-13 21:59:45 +08:00
zanllp 0c0716db09 fix 2025-02-23 05:54:05 +08:00
zanllp ea10260756 feat: add a new feature try-my-luck 2025-02-23 04:09:01 +08:00
wuqinchuan 7d0505f6da feat: Pause polling when in image preview mode 2025-01-28 18:08:56 +08:00
wuqinchuan 7dc9735e6b feat: Implement support for invoke.ai 2025-01-26 18:53:49 +08:00
zanllp 476f4ff779 Support disabling maximize and enable fuzzy search with path-only option 2024-12-26 01:53:06 +08:00
zanllp 031e377a1a Add support for batch downloading with options for no compression and packaging 2024-11-24 23:05:55 +08:00