Commit Graph

367 Commits (5990f0b8116fe5a7bd2b2a5d44d6ffaf752b070b)

Author SHA1 Message Date
zanllp 5990f0b811 fix(image): preserve original filename when saving images via right-click
- Add new /img/{filename} API endpoint that preserves filename in URL
- Replace toRawFileUrl with toImageUrl in all preview components
- Fix issue where right-click save named all images as "file"
- Update CHANGELOG with user-facing explanation
2026-03-21 03:01:07 +08:00
zanllp ddd5f61773 feat(panel): add customizable panel block visibility settings
Add settings panel to customize which feature blocks are displayed in the full-screen info panel.

- Add settings dropdown for toggling visibility of action buttons, info tags, custom tags, layout controls, draggable image, and prompt tabs
- Persist user preferences to backend via globalStore
- Add i18n support for all block names (EN, ZH, DE)
- Rename change.log.md to CHANGELOG.md following industry standards
- Add panel settings screenshot to documentation
2026-03-19 01:21:25 +08:00
zanllp 66ae0869ab feat(drag): add ComfyUI-ready image dragging feature
Add drag-to-transfer functionality specifically designed for ComfyUI workflow integration.
Users can now click to display original images and drag them directly into ComfyUI
to automatically restore complete workflows with metadata extraction.

Features:
- Click-to-display original images with configurable size
- Dual placement: full-screen info panel and file grid overlays
- Multi-language support (EN, ZH, DE)
- Full metadata preservation for seamless workflow transfer

This feature streamlines the workflow from IIB to ComfyUI by enabling
direct image transfer with automatic parameter reconstruction.
2026-03-17 23:30:38 +08:00
zanllp a01fc67aa3 i18n(extraMetaInfo): update hint description across all languages
Updated extraMetaInfoHint in all 4 language files to emphasize that it can save any complex information as a perfect supplement to params format limitations, with JSON mode supporting any valid JSON values.
2026-03-15 13:32:52 +08:00
zanllp 41ad78f6b3 feat(metadata): add editable generation information and EXIF caching
- Add prompt editor modal with support for editing positive/negative prompts
- Add key-value editor for custom metadata fields (string and JSON modes)
- Cache EXIF data in database for faster retrieval
- Track manually edited prompts with exif_edited flag
- Add validation for required fields and unique key constraints
- Add full internationalization support (EN, ZH-Hans, ZH-Hant, DE)
- Update changelog with new features and screenshot
- Clean up gitignore to use wildcard for video files
2026-03-15 01:22:11 +08:00
zanllp 41471e4349 docs(changelog): add inline video playback and recent updates
Add changelog entries for:
- Inline video playback feature (2026-02-23)
- Parse extra JSON metadata (2026-02-22)
- Tips carousel component (2026-02-22)
- Optimize database backup (2026-02-22)
- Docs improvements (2026-02-22)

Include screenshot for inline video playback feature.
2026-02-23 21:34:04 +08:00
zanllp 5e061010b8 feat: add tips carousel component with 10 multilingual tips
- Add TipsCarousel component with random shuffling (Fisher-Yates)
- Display 10 tips in 4 languages (zh-hans, en, zh-hant, de)
- Tips include filename uniqueness, batch operations, shortcuts, AI clustering, fuzzy search regex, walk mode, workspace snapshots, auto-tagging, performance optimization, and AI agent integration
- Integrate TipsCarousel into TagSearch and SubstrSearch pages
- Auto-rotate every 10 seconds with smooth fade transitions
- Support dismissing warning tips via localStorage
- Compact horizontal layout for minimal space usage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 22:34:24 +08:00
zanllp 57a811e8a1 docs: reorganize skill documentation and extend URL scheme
- Move agent-guide.md to references/agent-patterns.md
- Create references/search-strategies.md for advanced search techniques
- Add Quick Links section to SKILL.md for better navigation
- Extend fuzzy-search pane to support pre-filled search parameters
  - Add initialSubstr, initialIsRegex, initialPathOnly props
  - Add initialMediaType filter and autoSearch control
- Update queryActions.ts to map URL props to component props
- Make search API parameters optional (regexp, cursor, folder_paths)
- Add ai-agents.md and ai-agents-zh.md documentation
2026-02-22 13:24:51 +08:00
zanllp 2e1562d321 fix: scroll to top when entering new folder in fixed mode
In scanned-fixed mode, stack.length is always 1 since openNext replaces
the entire stack instead of pushing. The existing watch on stack.length
wouldn't trigger scroll because v === lv is always true.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-17 21:23:28 +08:00
zanllp c869860b89 chore: rename button label to 'AI Organize' for all languages
- zh-hans: 智能整理 -> AI整理
- zh-hant: 智能整理 -> AI整理
- en: Smart Organize -> AI Organize
- de: Smart Organize -> AI Organize

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-17 17:29:35 +08:00
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