Commit Graph

1174 Commits (f2b1e4952ad19df3daab58265b6a72a76e9bcd3e)

Author SHA1 Message Date
zanllp f2b1e4952a
Merge pull request #900 from zanllp/feature/videoStreamRangeFix
fix: 修复视频流 Range 解析并提升大文件吞吐
2026-01-24 19:31:17 +08:00
wuqinchuan e6fcd1afab fix: 修复视频流 Range 解析并提升大文件吞吐
- 支持 bytes=-N 尾部 Range 请求,避免大 mp4 卡顿
- 调整分块大小并在结束时清理文件句柄
2026-01-24 18:04:28 +08:00
zanllp 587b505a5a
Merge pull request #899 from zanllp/pref/tag
fix: add null checks for Tag.get_or_create calls
2026-01-23 00:26:50 +08:00
zanllp 5add6f0de6 fix: add null checks for Tag.get_or_create calls
- Tag.get_or_create now returns None for invalid tag names instead of creating error tags
- Add null checks before using tag.id in all callers
- Adjust tag validation: non-Chinese tags now limited to 8 words or 40 characters
2026-01-23 00:17:53 +08:00
zanllp cd1793b248 Revert "refactor: Handle invalid tag names gracefully"
This reverts commit e1dad21286.
2026-01-22 22:43:58 +08:00
zanllp e1dad21286 refactor: Handle invalid tag names gracefully
- Change Tag.get_or_create to return None for invalid tag names
- Add None checks at all call sites to prevent AttributeError
- Protects against invalid Chinese names (>16 chars) and other language names (>8 words)
- Ensures system stability when encountering problematic tag data
2026-01-22 22:41:28 +08:00
zanllp 323b2485e6
Merge pull request #898 from zanllp/feat/tag-validation-and-cleanup
include hyphen in LoRA tag model name matching & improve performance
2026-01-22 02:18:23 +08:00
zanllp bc6eb3c6dc perf: Optimize Tag.get_all for large datasets
Important performance optimization for handling large tag datasets:

- When total tags > 8192, limit 'pos' type tags to top 4096 by count
- Return all non-pos tags without limitation
- Significantly reduces memory usage and load time for large databases
- Maintains functionality while improving performance with massive tag counts
2026-01-22 01:44:11 +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 5daba8b2b9
Merge pull request #895 from zanllp/feature/comfyui-extract-all-prompts
Feature/comfyui extract all prompts
2026-01-18 16:38:52 +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 a952a9f9d7 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:10 +08:00
zanllp 0cd1fdb8a3
Merge pull request #894 from zanllp/dev-20260118
Update: cache banner and type declarations
2026-01-18 14:24:25 +08:00
zanllp d0e916f920 Update: cache banner and type declarations 2026-01-18 14:20:06 +08:00
zanllp 1a5ceea746
Merge pull request #890 from zanllp/feature/tag-relationship-graph
Add tag relationship graph visualization for topic clusters
2026-01-18 01:38:46 +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
zanllp 0c1998bdb0 Improve keyword consistency in topic clustering
- Add get_all_keywords_frequency method to TopicTitleCache
- Initialize keyword frequency from historical cached cluster keywords
- Prioritize top 100 high-frequency keywords when generating new keywords
- Update LLM prompt to prefer existing keywords from frequency list
- Reduce duplicate/similar keyword generation across clusters
- Add streaming support for tag_graph LLM requests
- Increase LLM timeout and retry limits for better reliability
2026-01-12 00:56:03 +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
wuqinchuan 67cbda36d1 fix: Add echarts dependency and update build
- Install echarts@6.0.0 for graph visualization
- Update TagRelationGraph.vue to use echarts instead of custom canvas
- Build completed successfully
2026-01-11 00:53:38 +08:00
wuqinchuan c2c0c69fbc feat: Add tag relationship graph visualization for topic clusters
Features:
- Tag-based relationship graph using force-directed layout
- Hybrid weight calculation (frequency + TF-IDF)
- Automatic community detection using Louvain algorithm
- Interactive visualization with ECharts
- Support for Tag and Cluster nodes
- Click to search images by tag
- Top-N filtering to avoid visual clutter

Backend:
- New API endpoint: POST /db/cluster_tag_graph
- Tag weight calculation with configurable alpha
- Category inference (character/style/scene/object)
- Community detection (requires networkx, optional)

Frontend:
- New component: TagRelationGraph.vue
- Switch between Cluster Cards and Tag Graph views
- Interactive graph with drag/zoom/pan
- Node details panel with search functionality
- Stats panel showing tags/clusters/images count

Documentation:
- Added TAG_GRAPH_README.md with usage guide

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 00:53:38 +08:00
zanllp 53caa7de69
Merge pull request #888 from zanllp/updates/rebuild-assets
Rebuild vue dist assets & fix download
2026-01-10 23:17:30 +08:00
zanllp 38ab17006e Rebuild vue dist assets 2026-01-10 23:14:45 +08:00
zanllp ec63af7326
Merge pull request #886 from zanllp/fix/secret
fix secret verification failed
2026-01-10 13:00:18 +08:00
zanllp e6acf49711 fix secret verification failed 2026-01-10 12:59:40 +08:00
zanllp d3b84354dd
Merge pull request #883 from zanllp/feature/optional-deps-skip
feat: Add IIB_SKIP_OPTIONAL_DEPS support and improve error handling f…
2026-01-06 21:27:15 +08:00
zanllp 312bdee339 feat: Add IIB_SKIP_OPTIONAL_DEPS support and improve error handling for optional packages
- Add environment variable IIB_SKIP_OPTIONAL_DEPS to skip numpy and hnswlib installation
- Provide detailed helpful hints when hnswlib or numpy installation fails
- Include guidance on C++ compiler requirements and pre-built wheel installation
- Add links to related GitHub issues for troubleshooting
- Improve error handling with better Unicode support on Windows
- Skip empty lines and comments in requirements parsing
2026-01-06 21:22:00 +08:00
zanllp b304396ecc
Merge pull request #882 from zanllp/refactor-install-script
Refactor install script: simplify package installation logic and impr…
2026-01-05 06:52:40 +08:00
zanllp 04862034c9 Refactor install script: simplify package installation logic and improve error handling 2026-01-05 06:42:21 +08:00
zanllp c30b117b90
Merge pull request #879 from zanllp/fix/improve-download-files
Fix downloadFiles function: remove hardcoded URL, improve multiple do…
2026-01-04 23:56:07 +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 a6f20762d8
Merge pull request #878 from zanllp/fix/remove-hardcoded-path
Remove hardcoded test path from generate_image_cache function
2026-01-04 23:22:18 +08:00
zanllp 3127b5aa65 fix 2026-01-04 23:21:40 +08:00
zanllp 26dfc573c9 Remove hardcoded test path from generate_image_cache function 2026-01-04 23:20:02 +08:00
zanllp a834959f22
Merge pull request #876 from zanllp/fix/numpy-version-requirement
fix: Set numpy version requirement to >=1.10.0 and add runtime versio…
2026-01-04 22:21:37 +08:00
zanllp bfb55d4857 fix: Set numpy version requirement to >=1.10.0 and add runtime version info
- Set numpy to >=1.10.0,<3.0.0 (minimum for np.stack function, compatible with Python 3.11 and below)
- Python 3.12 users will automatically get numpy 1.26.0+ due to compatibility
- Add runtime version info for requests, numpy, hnswlib in /version endpoint
2026-01-04 22:20:01 +08:00
zanllp ea18b886ca
Merge pull request #874 from zanllp/fix/lock-package-versions
fix: Lock major versions for requests, numpy, hnswlib and add runtime…
2026-01-04 01:27:50 +08:00
zanllp a7e6109f17 fix: Lock major versions for requests, numpy, hnswlib and add runtime version info
- Lock requests to >=2.0.0,<3.0.0 (current: 2.32.5)
- Lock numpy to >=2.0.0,<3.0.0 (current: 2.4.0)
- Lock hnswlib to >=0.0.0,<1.0.0 (current: 0.8.0)
- Add runtime version info for requests, numpy, hnswlib in /version endpoint
2026-01-04 01:27:01 +08:00
zanllp 3ef90cface
Merge pull request #870 from zanllp/feature/topicSearch
feat: experimental natural-language categorization & search (persistent scope, clustering, retrieval)
2026-01-04 01:17:38 +08:00
zanllp 810944edf6 rebuild 2026-01-04 01:15:10 +08:00
zanllp 61faff2658 fix: Remove duplicate icons from Topic Search guide i18n texts
- Remove emoji icons (鉁?and 馃殌) from i18n translation strings
- Icons are already displayed in the Vue template, preventing duplication
- Update all language files: EN, ZH-Hans, ZH-Hant, DE
2026-01-04 01:06:30 +08:00
zanllp 0291f3c681 feat: Add AI tag analysis feature and improve authentication handling
- Add AI-powered tag analysis feature in full-screen context menu
  - Analyze prompts using AI to suggest matching custom tags
  - Add loading state with spinner during analysis
  - Filter out already-added tags to avoid duplicates
  - Support i18n for all user-facing messages (EN/ZH-Hans/ZH-Hant/DE)
  - Keep system prompts in English for consistency

- Improve authentication error handling
  - Add special marker for secret verification 401 errors
  - Only trigger password modal for secret verification failures
  - Prevent password modal from showing on other 401 errors

- Enhance Topic Search guide
  - Add two advantage points highlighting semantic similarity grouping
  - Add natural language semantic search capabilities
  - Support i18n for new guide content
2026-01-04 00:29:03 +08:00
wuqinchuan 96655d89c4 feat: show cached topics by default and fix topic deletion/capping 2026-01-03 23:50:27 +08:00
wuqinchuan 4d3617671d tune: reduce over-merging in topic clustering defaults 2026-01-03 23:49:36 +08:00
wuqinchuan 67c93dd9f3 fix: retry on network/API errors in LLM title generation 2026-01-03 23:49:36 +08:00
wuqinchuan 3a6b155db5 refactor: parse title JSON from text with retries 2026-01-03 23:49:36 +08:00
wuqinchuan cfa589c68f feat: improve topic search UX and dependency gating 2026-01-03 23:49:36 +08:00
wuqinchuan 3ba8997626 chore: require numpy/hnswlib for topic clustering 2026-01-03 23:47:16 +08:00