Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
343 commits
Select commit Hold shift + click to select a range
b5a35fb
עדכון משקלי פרמטרי דמיון
NHLOCAL May 25, 2025
e0027ea
יצירת תיקית לוגים למניעת שגיאות
NHLOCAL May 26, 2025
3a5b05a
שמירת נתוני השוואה לאורך זמן
NHLOCAL May 26, 2025
f77e1b2
Update run_repomix.bat
NHLOCAL May 26, 2025
b230e4a
קבצי אימון ויצירת דאטה
NHLOCAL May 26, 2025
c1ef6a1
Create album_pair_features.csv
NHLOCAL May 26, 2025
2d4fe6a
Update train_model.py
NHLOCAL May 26, 2025
95b5706
תיקון שגיאה
NHLOCAL May 26, 2025
c9946c1
שמירת רשימת תיקיות לאורך זמן
NHLOCAL May 26, 2025
d8f1805
Merge pull request #8 from NHLOCAL/dev
NHLOCAL May 26, 2025
4fae303
קבצי אימון, הרצה ומודלים מעודכנים
NHLOCAL May 26, 2025
9d0f96b
חלוקה קבועה לקבצי אימון ובדיקה
NHLOCAL May 26, 2025
e8a5ee4
Update lgbm_regressor_model.joblib
NHLOCAL May 26, 2025
f0beb7f
הסרת קטע קוד לדילוג על זיהוי אלבומים
NHLOCAL May 26, 2025
81ea045
Update .gitignore
NHLOCAL May 26, 2025
222ddc5
Delete comparison_results_cache.json
NHLOCAL May 26, 2025
49e1829
שילוב השוואת תיקיות באמצעות ml
NHLOCAL May 26, 2025
d7d8506
הוספת פרמטר להפעלת מודל ml
NHLOCAL May 26, 2025
0db009f
Update run_repomix.bat
NHLOCAL May 26, 2025
de132cb
דאטה ומודל מעודכן
NHLOCAL May 27, 2025
bd122e1
הסרת פרמטרים מיותרים
NHLOCAL May 27, 2025
7bd98ed
הסרת פרמטרים מיותרים
NHLOCAL May 27, 2025
edb0ba7
הסרת תחילית קוד שגויה
NHLOCAL May 27, 2025
d65fbea
עדכון דאטה
NHLOCAL May 27, 2025
e72b784
קוד אימון משופר
NHLOCAL May 27, 2025
81c5efc
קוד בדיקה + הסרת קוד מיותר
NHLOCAL May 27, 2025
68fbdeb
הצגת רשימת חריגים
NHLOCAL May 27, 2025
5f5ce7c
הסבר תוצאות בדיקה
NHLOCAL May 27, 2025
6e59684
Create requirements.txt
NHLOCAL May 27, 2025
520296c
הצגת הסבר תוצאות מתוקן
NHLOCAL May 27, 2025
c26de97
הצגת גרפים, קוד מסודר ופלט תמציתי
NHLOCAL May 27, 2025
cd50598
הצגת התכונות המובילות לשקלול הציון
NHLOCAL May 27, 2025
7cde001
rename
NHLOCAL May 27, 2025
8f00d0e
הגדלת מינימום חריגה להצגה
NHLOCAL May 27, 2025
3c6d862
קוד בדיקת התכונות החשובות ביותר להשוואה
NHLOCAL May 27, 2025
3ad06a8
Update lgbm_regressor_model.joblib
NHLOCAL May 27, 2025
e04358b
עדכון פרמטרים
NHLOCAL May 28, 2025
edfae9d
הרחבת התכונות להשוואה
NHLOCAL May 28, 2025
f2ee548
בדיקת מודל עם חילוץ תכונות אוטומטי
NHLOCAL May 28, 2025
07dacd4
Update test_model.py
NHLOCAL May 28, 2025
dd6afbf
חילוץ אוטומטי של תכונות מודל
NHLOCAL May 28, 2025
6586f36
עדכון דאטה ומשקל מודל
NHLOCAL May 28, 2025
8d81efd
Update create_ml_dataset.py
NHLOCAL May 28, 2025
4afb075
מודל עדכני
NHLOCAL May 29, 2025
cfe38aa
תיקון שגיאה
NHLOCAL May 29, 2025
ebb2e04
תיקון שגיאה
NHLOCAL May 29, 2025
b4555d7
עדכון מודל ודאטה
NHLOCAL May 29, 2025
13f45a7
התעלמות מתיקיות המכילות תיקיות פנימיות עבור סריקת תיקיות דומות
NHLOCAL May 29, 2025
df574b0
שקלול קבצים נוספים בהשוואת התיקיות
NHLOCAL May 29, 2025
b7a5115
הרחבת תכונות - כולל קבצים אחרים
NHLOCAL May 29, 2025
da5c2be
פרמטרי CMD מקוצרים
NHLOCAL May 30, 2025
a66f0e5
עדכון תכונות עבור ציון מודל ML
NHLOCAL May 30, 2025
6a1219e
מודל ודאטה מעודכנים
NHLOCAL May 30, 2025
eaaa4af
שינוי שם וצמצום פרמטרים
NHLOCAL May 30, 2025
c7240d3
מודל מעודכן עם כוונון פרמטרים
NHLOCAL May 30, 2025
f6c4746
עדכון מודלים
NHLOCAL May 31, 2025
9a08bf5
Update lgbm_regressor_model.joblib
NHLOCAL May 31, 2025
2c82c00
ממשק גרפי בסיסי
NHLOCAL Jun 1, 2025
f655036
עיצוב משופר וקטן יותר
NHLOCAL Jun 1, 2025
e131b05
Create requirements.txt
NHLOCAL Jun 2, 2025
c40cc8f
שיפור ממשק משתמש
NHLOCAL Jun 2, 2025
07bd185
תיקון הצגת תגיות בסיכום תוצאות
NHLOCAL Jun 2, 2025
07af467
תיקון מחיקת תיקיות
NHLOCAL Jun 2, 2025
b965003
שיפור עיצוב תצוגה
NHLOCAL Jun 2, 2025
0476ea2
שיפור עיצוב
NHLOCAL Jun 2, 2025
af8b2e1
עיצוב משופר
NHLOCAL Jun 2, 2025
2b8299a
מיון מחדש של קבצים
NHLOCAL Jun 4, 2025
9d07998
עדכון קבצי אימון ובדיקת מודל ML
NHLOCAL Jun 4, 2025
20566b5
Update run_repomix.bat
NHLOCAL Jun 4, 2025
febdc7e
קוד מעודכן ליצירת דאטה עבור מודל ML
NHLOCAL Jun 4, 2025
621d64c
מבנה קבצים גמיש עבור יצירת דאטה למוד ML וספריית album_deduplicator
NHLOCAL Jun 4, 2025
0c9875e
קבצי דרישות מעודכנים
NHLOCAL Jun 4, 2025
de4a278
הסרת קוד מיושן, מיון קל
NHLOCAL Jun 4, 2025
3961095
הסרת תוכן מיושן
NHLOCAL Jun 4, 2025
5dbfb2c
הגדרת קבצים להתעלמות
NHLOCAL Jun 4, 2025
21523ff
הסרת קובץ gradio app מיושן
NHLOCAL Jun 5, 2025
7719f30
יצירת קבצי מידע מלאים
NHLOCAL Jun 5, 2025
46c6a5e
עדכון קבצי readme
NHLOCAL Jun 5, 2025
c677b54
מיזוג קבצי דרישות
NHLOCAL Jun 5, 2025
447518d
הסרת תוכן
NHLOCAL Jun 5, 2025
a90f3f2
Merge pull request #10 from NHLOCAL/similarity-model
NHLOCAL Jun 5, 2025
4e0273d
Update README.md
NHLOCAL Jun 5, 2025
8d675ed
Update lgbm_regressor_model.joblib
NHLOCAL Jun 5, 2025
89d8b96
Update README.md
NHLOCAL Jun 5, 2025
3361d70
Update README.md
NHLOCAL Jun 5, 2025
bf896b6
Update README.md
NHLOCAL Jun 5, 2025
90862f1
Update run_repomix.bat
NHLOCAL Jun 6, 2025
334fdbc
הרחבת המידע שנשלח לג'מיני
NHLOCAL Jun 6, 2025
de51828
שימוש במודל ML עבור חישובי הציון
NHLOCAL Jun 6, 2025
ef29353
שמירה לקאצ' של נתוני דמיון של תיקיות עם ציון דמיון נמוך
NHLOCAL Jun 6, 2025
60ca4a6
חלוקה משופרת של הדאטה עבור מודל ה-ML
NHLOCAL Jun 6, 2025
f2811c8
הוספת פרמטר f לסריקה מלאה של כל התיקיות ליצירת דאטה
NHLOCAL Jun 6, 2025
3761c00
סריקה מלאה יעילה יותר
NHLOCAL Jun 6, 2025
1e01fe6
שמירת נתונים חסכונית
NHLOCAL Jun 6, 2025
1b6eda4
Update data_preparation.py
NHLOCAL Jun 6, 2025
68c9d16
שחזור קוד מקורי
NHLOCAL Jun 6, 2025
953c585
Revert "שחזור קוד מקורי"
NHLOCAL Jun 7, 2025
265e993
מעבר לשימוש בקובץ פיקל קאש
NHLOCAL Jun 7, 2025
8a91407
שימוש מותאם לפיקל
NHLOCAL Jun 7, 2025
d437c4c
שמירת נתוני מודל ML לקאש
NHLOCAL Jun 7, 2025
7e75cb4
שמירה ציון ML לפיקל בשלב סריקה מלאה
NHLOCAL Jun 7, 2025
e9a8dd7
יצירת דאטה עם ערכי NaN תקינים
NHLOCAL Jun 8, 2025
6879659
שינוי שם
NHLOCAL Jun 8, 2025
40c913b
חילוץ מידע קיים על ציון ml
NHLOCAL Jun 8, 2025
62a343d
לוג מפורט יותר
NHLOCAL Jun 8, 2025
2777782
תיקון באגים
NHLOCAL Jun 8, 2025
8efa89b
תיקון באג קריטי
NHLOCAL Jun 8, 2025
d4874ab
דאטה מעודכנת
NHLOCAL Jun 8, 2025
3077ff9
אימון עם כוונון פרמטרים משופר ויעיל
NHLOCAL Jun 8, 2025
020f2fe
שקלול ציונים על בסיס ציון אלגוריתמי+ציון ML
NHLOCAL Jun 8, 2025
2c55205
Update data_preparation.py
NHLOCAL Jun 8, 2025
0af0000
עדכון מודל ודאטה
NHLOCAL Jun 8, 2025
c27ae01
Update config.py
NHLOCAL Jun 8, 2025
70d7260
דאטה ומודל עדכני
NHLOCAL Jun 9, 2025
e5bae09
עדכון מודל
NHLOCAL Jul 13, 2025
2e51046
עדכון מודל לגרסה יציבה
NHLOCAL Jul 30, 2025
93701f5
Update requirements.txt
NHLOCAL Jan 3, 2026
883a545
Update .gitignore
NHLOCAL Mar 8, 2026
69a11ca
Implement React API architecture and add system docs
NHLOCAL Mar 8, 2026
36ad71c
Fix GeminiAnalyzer type annotation for Pylance
NHLOCAL Mar 8, 2026
0911ac1
ארגון קבצים
NHLOCAL Mar 8, 2026
220d292
מסמכי תוכנית ורעיונות
NHLOCAL Mar 8, 2026
91d6db0
Update ideas.md
NHLOCAL Mar 8, 2026
20c9f3c
Improve album deduplicator UX workflow
NHLOCAL Mar 8, 2026
d702588
עדכון דוקס
NHLOCAL Mar 8, 2026
20ebc1f
Refactor album deduplicator frontend UI
NHLOCAL Mar 8, 2026
cb8e73a
עדכון תיעוד כללי
NHLOCAL Mar 8, 2026
8de64a8
עדכון קל לבניית ריפומיקס
NHLOCAL Mar 8, 2026
3d0ac87
Delete gradio_app.py
NHLOCAL Mar 8, 2026
1df6feb
Migrate album deduplicator to Electron desktop app
NHLOCAL Mar 8, 2026
fca12e1
Update ideas.md
NHLOCAL Mar 8, 2026
d5fa455
Implement album deduplicator UX and workflow upgrades
NHLOCAL Mar 8, 2026
de8db60
Update run-repomix.bat
NHLOCAL Mar 8, 2026
5630144
Update run-repomix.bat
NHLOCAL Mar 8, 2026
549ac44
Remove obsolete Streamlit legacy path
NHLOCAL Mar 8, 2026
48d7ef7
Refine desktop UI into flatter app shell
NHLOCAL Mar 8, 2026
3516df6
שיפור עיצוב כללי מקיף, שינוי זרימת עבודה
NHLOCAL Mar 8, 2026
bd5ab91
עדכון קובץ בעיות
NHLOCAL Mar 8, 2026
d1090fb
Improve album review workflow and issue fixes
NHLOCAL Mar 8, 2026
c2ffd9d
Update ISSUES.md
NHLOCAL Mar 8, 2026
5aee943
Create AGENTS.md
NHLOCAL Mar 8, 2026
4afaa31
Update AGENTS.md
NHLOCAL Mar 8, 2026
5c48a4e
Improve album deduplicator UX and review flow
NHLOCAL Mar 8, 2026
ac5c4fe
Add multi-folder desktop selection fallback
NHLOCAL Mar 8, 2026
c030d03
Update AGENTS.md
NHLOCAL Mar 8, 2026
ee3b9e2
Update AGENTS.md
NHLOCAL Mar 8, 2026
4569097
שיפור עיצוב כללי
NHLOCAL Mar 8, 2026
dbbf9f5
שיפור עיצוב כללי
NHLOCAL Mar 8, 2026
4507194
Fix review workspace alignment
NHLOCAL Mar 8, 2026
6e0c39e
Improve review workspace details
NHLOCAL Mar 8, 2026
43c5a42
Polish numbered review cards and track table
NHLOCAL Mar 8, 2026
098af88
Let review content own vertical scrolling
NHLOCAL Mar 8, 2026
e6ee699
Fix frontend regression review coverage
NHLOCAL Mar 8, 2026
4ae96b5
Add standalone finalize deletion screen
NHLOCAL Mar 8, 2026
51165c3
Add full hash scan backend support
NHLOCAL Mar 8, 2026
6918f05
Compact finalize review layout
NHLOCAL Mar 8, 2026
0d42c1e
Show finalize deletion history and keepers
NHLOCAL Mar 8, 2026
92190fe
Optimize album AI scoring pipeline
NHLOCAL Mar 8, 2026
1295a1f
Reduce scoring memory retention
NHLOCAL Mar 8, 2026
01bcafa
Improve score transparency in review UI
NHLOCAL Mar 8, 2026
d3d6c90
Adjust album review and safe thresholds
NHLOCAL Mar 8, 2026
cff6ef0
Enhance frontend decision visuals
NHLOCAL Mar 8, 2026
74d0201
Increase AI weight in base scoring
NHLOCAL Mar 8, 2026
4bc8c67
Update ScoreTransparencyPanel.jsx
NHLOCAL Mar 8, 2026
5ce94e7
Update Notes.txt
NHLOCAL Mar 8, 2026
1d41474
Create run.bat
NHLOCAL Mar 8, 2026
e6b4d6c
Optimize album scan pipeline
NHLOCAL Mar 8, 2026
63b9ced
שיפור עיצוב כללי
NHLOCAL Mar 8, 2026
c053ecf
refactor(frontend): split styles into partials
NHLOCAL Mar 8, 2026
11dedc6
תיעוד ולידצית ML
NHLOCAL Mar 8, 2026
ec11165
שיפור עיצוב מקיף
NHLOCAL Mar 8, 2026
863f5a7
שיפור עיצוב: שילוב אייקונים וסמלים
NHLOCAL Mar 8, 2026
1daf3db
Refine album deduplicator desktop workspace UI
NHLOCAL Mar 8, 2026
075dc68
Migrate album deduplicator frontend to AntD
NHLOCAL Mar 9, 2026
2fdfd57
Refine review workspace layout
NHLOCAL Mar 9, 2026
00d2176
Tighten review workspace sizing
NHLOCAL Mar 9, 2026
65be248
Fix desktop workspace scrolling and layout structure
NHLOCAL Mar 9, 2026
eb63a6c
Refine antd diff workspace controls
NHLOCAL Mar 9, 2026
525dc3b
עדכון ant-design
NHLOCAL Mar 9, 2026
4c1cd01
Update AGENTS.md
NHLOCAL Mar 9, 2026
7e5cb37
Refine desktop review and workflow styling
NHLOCAL Mar 9, 2026
0c38279
שיפור עיצוב
NHLOCAL Mar 9, 2026
6a17031
תיקון עיצוב תצוגת מרכז החלטה
NHLOCAL Mar 9, 2026
7a23661
צמצום גודל פאנל
NHLOCAL Mar 9, 2026
8474675
Complete stage 2 review media improvements
NHLOCAL Mar 10, 2026
3885698
Refine scan and finalize workflow screens
NHLOCAL Mar 10, 2026
781a353
Adjust score transparency copy
NHLOCAL Mar 10, 2026
711c600
Refine review playback and finalize banners
NHLOCAL Mar 10, 2026
7e5a0ef
modified: album_deduplicator/run-repomix.bat
NHLOCAL Mar 10, 2026
cdf5978
עיצוב מחדש, מינימליזם ופשטות
NHLOCAL Mar 10, 2026
df91764
Update UI.jsx
NHLOCAL Mar 10, 2026
335dba1
Refine setup and scanning theme surfaces
NHLOCAL Mar 10, 2026
a20527e
Restore critical minimal review flow
NHLOCAL Mar 10, 2026
0fcf947
Refine review playback controls
NHLOCAL Mar 10, 2026
1468fd3
Restore setup options and review dock
NHLOCAL Mar 10, 2026
c8d7419
Fix review keeper selection preview flow
NHLOCAL Mar 10, 2026
41294d9
Improve keep-all decision UX
NHLOCAL Mar 10, 2026
138446e
Refine setup screen microcopy and folder inputs
NHLOCAL Mar 11, 2026
fb4d4eb
Add per-row folder pickers to setup screen
NHLOCAL Mar 11, 2026
c360be1
Choose preferred root from selected folders
NHLOCAL Mar 11, 2026
9517e69
Simplify preferred folder microcopy
NHLOCAL Mar 11, 2026
7f26808
Add workflow rail navigation across analysis steps
NHLOCAL Mar 11, 2026
bc3b3ac
Remove redundant navigation buttons from workflow screens
NHLOCAL Mar 11, 2026
3416570
Fix finalize keep-all crash
NHLOCAL Mar 11, 2026
3bd76ef
Refine scan restart warning and button icons
NHLOCAL Mar 11, 2026
6c2dbd3
Unify scan progress across analysis stages
NHLOCAL Mar 11, 2026
2901d6d
Report matching progress during scan analysis
NHLOCAL Mar 11, 2026
67c7ec2
Optimize album deduplicator comparison pipeline
NHLOCAL Mar 13, 2026
c0529b2
Add benchmark tooling and skip unchanged cache writes
NHLOCAL Mar 13, 2026
738a482
Optimize folder scan and comparison hot path
NHLOCAL Mar 13, 2026
315f909
modified: AGENTS.md
NHLOCAL Mar 14, 2026
90f2fe8
Update album_deduplicator/README.md
NHLOCAL Mar 14, 2026
fbe118a
Fix safe cluster validation and session event handling
NHLOCAL Mar 14, 2026
c8a5e23
Merge pull request #12 from NHLOCAL/feature/album-deduplicator-archit…
NHLOCAL Mar 14, 2026
a5f442f
Add Windows release workflow for album deduplicator
NHLOCAL Mar 14, 2026
8a29539
Add desktop app icon pipeline
NHLOCAL Mar 16, 2026
e6dbbb5
Move app icon source into build resources
NHLOCAL Mar 16, 2026
bba44dd
Automate release version from git tags
NHLOCAL Mar 17, 2026
7d588fe
Update app-icon.ico
NHLOCAL May 14, 2026
dc2b7e6
Add ML feedback export for user decisions
NHLOCAL May 14, 2026
81a28ee
Update AGENTS.md
NHLOCAL May 14, 2026
6cab546
Fix desktop feedback export
NHLOCAL May 14, 2026
b755e23
Update AGENTS.md
NHLOCAL May 14, 2026
2f3b3a3
Shorten feedback export filenames
NHLOCAL May 14, 2026
c794790
Save feedback only after deletion
NHLOCAL May 14, 2026
2a74078
Persist album selection decisions
NHLOCAL May 14, 2026
3c36c99
Expose restored keeper decisions
NHLOCAL May 14, 2026
2fc742f
Prefer selected root on equal quality albums
NHLOCAL May 15, 2026
426dd29
Add ordered root preferences for keep selection
NHLOCAL May 15, 2026
2b5d4e9
Add toggle for root preference ordering
NHLOCAL May 15, 2026
4b066b7
Fix null album decisions overriding recommendations
NHLOCAL May 15, 2026
654b6fa
Skip recycle bin during album scans
NHLOCAL May 15, 2026
240e364
Move completed album clusters to separate review tab
NHLOCAL May 15, 2026
29bf767
Remove all tab from album review list
NHLOCAL May 15, 2026
4ad1198
Use distinct icons for review tabs
NHLOCAL May 15, 2026
4a54dde
Stabilize review ordering
NHLOCAL May 15, 2026
c2603e5
Add manual readiness sort to review list
NHLOCAL May 15, 2026
509432e
Refine readiness sort button styling
NHLOCAL May 15, 2026
7688f5d
Align readiness sort button with existing UI
NHLOCAL May 15, 2026
e01bf96
Show review tab item count
NHLOCAL May 15, 2026
34d0a92
Add quick review keeper shortcuts
NHLOCAL May 15, 2026
75baf32
Compact finalize keep-all button
NHLOCAL May 15, 2026
82409dc
Refine finalize feedback training strip
NHLOCAL May 15, 2026
ac625be
Add saved Gemini API key setting
NHLOCAL May 16, 2026
0c667bf
Remove preferred root helper copy
NHLOCAL May 16, 2026
c6ee42e
Clean album deduplicator README
NHLOCAL May 16, 2026
78d738a
Update documentation guidance
NHLOCAL May 16, 2026
f5c67dd
Fix album folder scanning review issues
NHLOCAL May 16, 2026
1b958ef
Package ML model with desktop app
NHLOCAL May 16, 2026
34e5b8b
Defer nested album folder scanning
NHLOCAL May 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
172 changes: 172 additions & 0 deletions .github/workflows/album-deduplicator-windows-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
name: Album Deduplicator Windows CI-CD

on:
pull_request:
paths:
- "album_deduplicator/**"
- ".github/workflows/album-deduplicator-windows-release.yml"
push:
branches:
- main
tags:
- "album-deduplicator-v*"
paths:
- "album_deduplicator/**"
- ".github/workflows/album-deduplicator-windows-release.yml"
workflow_dispatch:

concurrency:
group: album-deduplicator-windows-${{ github.ref }}
cancel-in-progress: true

env:
PYTHON_VERSION: "3.12"
NODE_VERSION: "24"
APP_DIR: album_deduplicator
FRONTEND_DIR: album_deduplicator/frontend
DESKTOP_DIST_DIR: album_deduplicator/frontend/desktop-dist

jobs:
verify:
name: Verify Backend And Desktop Build Inputs
runs-on: windows-latest
permissions:
contents: read

steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: pip
cache-dependency-path: ${{ env.APP_DIR }}/requirements.txt

- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
cache-dependency-path: ${{ env.FRONTEND_DIR }}/package-lock.json

- name: Install backend dependencies
run: python -m pip install --upgrade pip && python -m pip install -r "${{ env.APP_DIR }}/requirements.txt"

- name: Install frontend dependencies
working-directory: ${{ env.FRONTEND_DIR }}
run: npm ci

- name: Run backend tests
working-directory: ${{ env.APP_DIR }}
run: python -m pytest tests -q

- name: Run frontend tests
working-directory: ${{ env.FRONTEND_DIR }}
run: npm test

- name: Run renderer build
working-directory: ${{ env.FRONTEND_DIR }}
run: npm run build

package-preview:
name: Build Unsigned Windows Installer Artifact
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch'
needs: verify
runs-on: windows-latest
permissions:
contents: read

steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: pip
cache-dependency-path: ${{ env.APP_DIR }}/requirements.txt

- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
cache-dependency-path: ${{ env.FRONTEND_DIR }}/package-lock.json

- name: Install backend dependencies
run: python -m pip install --upgrade pip && python -m pip install -r "${{ env.APP_DIR }}/requirements.txt"

- name: Install frontend dependencies
working-directory: ${{ env.FRONTEND_DIR }}
run: npm ci

- name: Package Windows installer
working-directory: ${{ env.FRONTEND_DIR }}
env:
CSC_IDENTITY_AUTO_DISCOVERY: "false"
run: npm run dist:desktop

- name: Upload Windows installer artifact
uses: actions/upload-artifact@v4
with:
name: album-deduplicator-windows-preview-${{ github.run_number }}
path: |
${{ env.DESKTOP_DIST_DIR }}/*.exe
${{ env.DESKTOP_DIST_DIR }}/*.blockmap
${{ env.DESKTOP_DIST_DIR }}/latest*.yml
if-no-files-found: error
retention-days: 14

publish-release:
name: Publish Windows Release To GitHub Releases
if: startsWith(github.ref, 'refs/tags/album-deduplicator-v')
needs: verify
runs-on: windows-latest
permissions:
contents: write

steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: pip
cache-dependency-path: ${{ env.APP_DIR }}/requirements.txt

- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
cache-dependency-path: ${{ env.FRONTEND_DIR }}/package-lock.json

- name: Install backend dependencies
run: python -m pip install --upgrade pip && python -m pip install -r "${{ env.APP_DIR }}/requirements.txt"

- name: Install frontend dependencies
working-directory: ${{ env.FRONTEND_DIR }}
run: npm ci

- name: Publish Windows release assets
working-directory: ${{ env.FRONTEND_DIR }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_IDENTITY_AUTO_DISCOVERY: "false"
run: npm run dist:desktop:publish

- name: Upload published release assets
uses: actions/upload-artifact@v4
with:
name: album-deduplicator-windows-release-${{ github.ref_name }}
path: |
${{ env.DESKTOP_DIST_DIR }}/*.exe
${{ env.DESKTOP_DIST_DIR }}/*.blockmap
${{ env.DESKTOP_DIST_DIR }}/latest*.yml
if-no-files-found: error
retention-days: 30
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,9 @@ cython_debug/
# pesonal
o1_project/RecycleBin
music_data.json
**/logs/**
**/repomix-output.*
.vscode/settings.json
**/node_modules/
album_deduplicator/frontend/dist/
album_deduplicator/frontend/desktop-dist/
8 changes: 8 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## קווים מנחים
- כברירת מחדל, העבודה העיקרית שלך היא בתיקיה album_deduplicator בלבד!
- עליך לקרוא את הרידמי ואת הקבצים הרלוונטיים בתיקית album_deduplicator/docs
- עליך להקפיד על עיצוב בסגנון אפליקציית דסקטופ, ולא עיצוב web!
- במשימת עיצוב, תיעזר ב-skill ant-design
- כאשר אתה מבצע משימות מקובץ ISSUE.md או קבצים אחרים, עדכן בדרך כלל את album_deduplicator/CHANGELOG.md לאחר היישום, בקצרה וללא רישום שינויים קטנים. עדכן קבצי תיעוד אחרים רק כאשר השינוי משנה ארכיטקטורה, תהליך עבודה, API, או התנהגות שדורשת הסבר מתמשך.
- אל תיצור קבצי ענק, בצע חלוקה לרכיבים אם קבצים הופכים לגדולים מידי
- צור קומיט לאחר סדרת שינויים שהושלמה בהצלחה. התעלם משינויים נפרדים
11 changes: 0 additions & 11 deletions Notes.txt

This file was deleted.

69 changes: 55 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,55 @@
# Music-Automatic
Streamlined sorting and reorganization of music folders on the computer through advanced automation

**Plans to carry out**:
- Automatic conversion of corrupted metadata✅
- Search and identify duplicate music folders and clean them
- Removing duplicate songs with smart detection
(in double singles - removal of the lower quality copy)
- Adding a name by title and vice versa, with a priority check
(names that contain the word "רצועה" instead of a song name for example)
- Overview with recommendations for implementation
- Search for video files that take up space
- Search for files with a high bit rate, with an option to shrink
- Converting files with an undefined name in English (for example: "track") to a corresponding name in Hebrew (such as: "רצועה")✅
# Music-Automatic: אוטומציה לניהול ספריית המוזיקה שלך

פרויקט זה נועד לספק כלים אוטומטיים לניהול, ארגון וניקוי של ספריות מוזיקה דיגיטליות גדולות. הוא מורכב ממספר מודולים, כל אחד עם התמחות ספציפית, הפועלים יחד כדי לשפר את חוויית ההאזנה שלך ולשמור על ספריית המוזיקה שלך מסודרת ויעילה.

## 🌟 תכונות עיקריות

* **ארגון קבצים ותיקיות:** כלים לתיקון שמות, מחיקת תיקיות ריקות ומיזוג תיקיות אמן.
* **זיהוי וטיפול בכפילויות:** מודול מתקדם לאיתור אלבומים כפולים או דומים מאוד, עם אפשרויות למיזוג מידע או מחיקה חכמה.
* **שיפור מטא-דאטה:** תיקון קידוד פגום (ג'יבריש), השלמת מידע חסר.
* **ניתוח איכות:** הערכת איכות אלבומים על בסיס פרמטרים מגוונים.
* **ממשקים גמישים:** אפשרות להפעלה דרך שורת הפקודה (CLI) או ממשק משתמש גרפי (Web UI).
* **שילוב למידת מכונה ו-AI:** שימוש במודל ML ייעודי וב-Gemini API לשיפור דיוק הזיהוי וההשוואה.

## 📂 מבנה הפרויקט

הפרויקט מחולק לשלוש ספריות עיקריות:

### **`music_organizer`**:
מכיל סקריפטים לביצוע פעולות תחזוקה בסיסיות על קבצי מוזיקה ותיקיות.
**⚠️ אזהרה: ספרייה זו עדיין בפיתוח ואינה מוכנה לייצור. יש להשתמש בה בזהירות ולאחר גיבוי הנתונים.**
[למידע נוסף](./music_organizer/README.md)

### **`album_deduplicator`**:
המודול המרכזי לזיהוי, ניתוח וטיפול באלבומי מוזיקה כפולים או דומים. כולל CLI, Web UI (מבוסס Streamlit), ומנוע השוואה מתוחכם.
[למידע נוסף](./album_deduplicator/README.md)

### **`similarity_model`**:
מכיל את הקוד והנתונים הקשורים למודל למידת המכונה (LightGBM) המשמש לחיזוי דמיון בין אלבומים. כולל סקריפטים להכנת נתונים, אימון, הערכה ובדיקת המודל.
[למידע נוסף](./similarity_model/README.md)

## 🚀 תוכנית עבודה

* ✅ המרה אוטומטית של מטאדאטה פגום
* ✅ המרת קבצים עם שם לא מוגדר באנגלית (למשל: "track") לשם מתאים בעברית (כגון: "רצועה")
* ✅ חיפוש וזיהוי תיקיות מוזיקה כפולות וניקויין
* הסרת שירים כפולים עם זיהוי חכם (בסינגלים כפולים - הסרה של העותק הפחות איכותי)
* הוספת שם לפי כותרת ולהיפך, עם בדיקת עדיפות (שמות שמכילים את המילה "רצועה" במקום שם שיר למשל)
* סקירה כללית עם המלצות לביצוע
* חיפוש קבצי וידאו שתופסים מקום
* חיפוש קבצים בעלי קצב סיביות גבוה, עם אופציה לכיווץ

## ⚙️ התקנה כללית

דרישות ספציפיות לכל מודול מפורטות בקובצי ה-README המתאימים. באופן כללי, תזדקק ל-Python (מומלץ 3.10 ומעלה) ולמנהל חבילות כמו `pip`.

```bash
git clone https://github.com/NHLOCAL/Music-Automatic.git
cd Music-Automatic
```

לאחר מכן, עקוב אחר הוראות ההתקנה בכל ספריית משנה.

## 📄 רישיון

פרויקט זה מופץ תחת רישיון MIT. ראה קובץ [`LICENSE`](LICENSE) לפרטים מלאים.
22 changes: 22 additions & 0 deletions album_deduplicator/.agents/skills/ant-design/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
MIT LICENSE

Copyright (c) 2015-present Ant UED, https://xtech.antfin.com/

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
56 changes: 56 additions & 0 deletions album_deduplicator/.agents/skills/ant-design/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: ant-design
description: Single-file decision guide for antd 6.x, Ant Design Pro 5/ProComponents, and Ant Design X v2. Use for component selection, theming/tokens, SSR, a11y, performance, routing/access/CRUD, and AI/chat UI patterns.
---

# Ant Design

## S - Scope
- Target: `antd@^6` + React 18-19, with `ant-design-pro@^5` / `@ant-design/pro-components` and `@ant-design/x@^2` when needed.
- Focus: decision guidance only; no end-user tutorials.
- Source policy: official docs only; no undocumented APIs or internal `.ant-*` coupling.

### Default assumptions
- Language: TypeScript.
- Styling: tokens first, then `classNames`/`styles`; avoid global overrides.
- Provider: one root `ConfigProvider` unless strict isolation is required.

### Mandatory rules
- For component questions, first map the component name to the official route slug `{components}` (lowercase kebab-case, e.g. `TreeSelect -> tree-select`, `Button -> button`), then request docs in this order (CN first, EN fallback):
1. `https://ant.design/components/{components}-cn`
2. `https://ant.design/components/{components}`
- Examples: `tree-select-cn -> tree-select`, `button-cn -> button`.
- Use only documented antd/Pro/X APIs.
- Do not invent props/events/component names.
- Do not rely on internal DOM or `.ant-*` selectors.
- Theme priority: global tokens -> component tokens -> alias tokens.

## P - Process
### 1) Classify
- Identify layer: core antd, Pro, or X.
- Confirm version, rendering mode (CSR/SSR/streaming), and data scale.

### 2) Request docs
- For each component, request `-cn.md` first, then `.md` fallback.
- If multiple components are involved, request each component page before deciding.

### 3) Decide
- Provider baseline: CSR -> `ConfigProvider`; SSR -> `ConfigProvider` + `StyleProvider`.
- Theming baseline: global tokens -> component tokens -> `classNames`/`styles`.
- Output recommendation + risk + verification points (SSR/a11y/perf).

## O - Output
- Provide short decision rationale (1-3 sentences).
- Include minimal provider/theming strategy.
- Include concrete SSR/a11y/perf checks.
- For Pro: include route/menu/access and CRUD schema direction.
- For X: include message/tool schema and streaming state direction.

## Regression checklist
- [ ] One root `ConfigProvider`; SSR style order/hydration verified.
- [ ] Tokens first; no broad global `.ant-*` overrides.
- [ ] Table has stable `rowKey`; sort/filter/pagination entry is unified.
- [ ] Select remote mode disables local filter when using remote search.
- [ ] Upload controlled/uncontrolled mode is explicit with failure/retry path.
- [ ] Pro route/menu/access remain consistent with backend enforcement.
- [ ] X streaming supports stop/retry and deterministic tool rendering.
3 changes: 3 additions & 0 deletions album_deduplicator/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
data/comparison_results_cache.json
data/**
repomix-output.*
25 changes: 25 additions & 0 deletions album_deduplicator/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Changelog

כל שינוי משמעותי ב־`album_deduplicator` יתועד בקובץ זה.

הפורמט מבוסס על עקרונות `Keep a Changelog`, עם חלוקה לפי גרסאות או לפי `Unreleased` כאשר עדיין לא נוצר release רשמי.

## Unreleased

### Fixed

- אריזת ה־desktop כוללת כעת את מודל ה־`ML`, כך שגרסאות Windows ארוזות לא נופלות ל־scoring אלגוריתמי בלבד.

### Documentation

- נוקה `README.md` מסעיף "מה חדש" ומרשימת עדכונים מצטברת.
- נוסף קובץ `CHANGELOG.md` שישמש מכאן ואילך לתיעוד שינויי קוד ועדכוני מוצר.

### Current Baseline

- היישום הראשי הוא desktop app מבוסס `Electron + React`, עם backend מקומי מבוסס `FastAPI`.
- ה־frontend משתמש ב־`Ant Design 6`, תמיכת RTL וזרימת עבודה למסכי בחירה, סריקה, סיכום, סקירה והעברה.
- מנוע הניתוח משלב scoring אלגוריתמי, מודל `ML` מקומי ו־`Gemini` אופציונלי לזוגות גבוליים.
- מחיקות מתבצעות דרך `send2trash` אל סל המחזור בלבד, לאחר אישור משתמש.
- קיימת תמיכה ב־sessions, אירועי `SSE`, שמירת החלטות משתמש, עטיפות אלבומים והשמעת שירים לצורך השוואה.
- קיימת תשתית CI/CD ל־Windows builds ול־GitHub Releases דרך tag מהצורה `album-deduplicator-vX.Y.Z`.
Loading
Loading