Commit Graph

19 Commits (f6b185e8a884fcef863dd46af8427e0ac9ee0b31)

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 1c38d769e9 add log 2026-01-30 23:12:37 +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
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 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
wuqinchuan 25190f7307 refactor: drop legacy synchronous cluster endpoint 2026-01-03 23:47:16 +08:00
wuqinchuan c22ac83bde perf: accelerate clustering with ANN (hnswlib) 2026-01-03 23:47:16 +08:00
wuqinchuan efcb500c53 feat: cache embedding failures and persist cluster results 2026-01-03 23:47:16 +08:00
wuqinchuan 2edf9e52d7 feat: async clustering job with progress UI 2026-01-03 23:47:16 +08:00
wuqinchuan e522d8e878 fix: make topic embedding non-blocking and cap embedding input length 2026-01-03 23:47:16 +08:00
wuqinchuan 101a30afb4 Revert "Revert "feat: experimental natural-language categorization & search (persistent scope, clustering, retrieval)""
This reverts commit dd5663dd89.
2026-01-03 23:47:16 +08: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