Skip to content

๐ŸŽต ็”ฑ OpenClaw Agent ๅฎŒๅ…จ่‡ชไธปๅผ€ๅ‘็š„้Ÿณไนๅบ“่‡ชๅŠจๅŒ–็ฎก็†ๅทฅๅ…ท๏ผŒๆ”ฏๆŒ่ต„ๆบๆœ็ดขใ€ไธ‹่ฝฝใ€ๆ•ด็†ๅ’Œๆ’ญๆ”พ

Notifications You must be signed in to change notification settings

hhyo/MusicPilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

71 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽต MusicPilot

๐Ÿค– ็”ฑ OpenClaw Agent ๅฎŒๅ…จ่‡ชไธปๅผ€ๅ‘็š„้Ÿณไนๅบ“่‡ชๅŠจๅŒ–็ฎก็†ๅทฅๅ…ท

License Python FastAPI Vue 3 Status

ๅ‚่€ƒ MoviePilot ๆžถๆž„๏ผŒ้‡‡็”จ Chain + Module + Plugin ไธ‰ๅฑ‚ๆžถๆž„๏ผŒๆไพ›ๅผบๅคง็š„ๆ‰ฉๅฑ•่ƒฝๅŠ›ใ€‚

ๅŠŸ่ƒฝ็‰นๆ€ง โ€ข ๅฟซ้€Ÿๅผ€ๅง‹ โ€ข ๆŠ€ๆœฏๆžถๆž„ โ€ข ๅผ€ๅ‘่ฎกๅˆ’


โš ๏ธ ๅ…่ดฃๅฃฐๆ˜Ž

ๆœฌ้กน็›ฎไป…็”จไบŽๅญฆไน ไบคๆตไฝฟ็”จ๏ผŒ่ฏทๅ‹ฟๅœจไปปไฝ•ๅ…ฌๅผ€ๅนณๅฐๅฎฃไผ ่ฏฅ้กน็›ฎใ€‚

ๆœฌ้กน็›ฎไธๆไพ›ไปปไฝ•้Ÿณไนๅ†…ๅฎน็š„ๅญ˜ๅ‚จใ€ๅˆ†ๅ‘ๆˆ–ไผ ๆ’ญๆœๅŠกใ€‚็”จๆˆทไฝฟ็”จๆœฌ้กน็›ฎๆœ็ดขใ€ไธ‹่ฝฝๆˆ–ๆ•ด็†็š„้Ÿณไน่ต„ๆบ๏ผŒๅ‡ๆฅ่‡ช็”จๆˆท่‡ช่กŒ้…็ฝฎ็š„่ต„ๆบ็ซ™็‚นใ€‚ๅผ€ๅ‘่€…ไธๅฏน่ต„ๆบ็š„็‰ˆๆƒๅˆๆณ•ๆ€งใ€ๅ†…ๅฎน่ดจ้‡ๆˆ–ๅฎ‰ๅ…จๆ€ง่ดŸ่ดฃใ€‚

็”จๆˆทไฝฟ็”จๆœฌ้กน็›ฎๆ‰€ไบง็”Ÿ็š„ไธ€ๅˆ‡ๅŽๆžœ็”ฑ็”จๆˆท่‡ช่กŒๆ‰ฟๆ‹…๏ผŒๅŒ…ๆ‹ฌไฝ†ไธ้™ไบŽ๏ผš

  • ๅ› ไธ‹่ฝฝๆˆ–ไผ ๆ’ญๅ—็‰ˆๆƒไฟๆŠค็š„้Ÿณไนๅ†…ๅฎน่€Œๅฏผ่‡ด็š„ๆณ•ๅพ‹็บ ็บท
  • ๅ› ไฝฟ็”จ่ต„ๆบ็ซ™็‚น่€Œๅฏผ่‡ด็š„่ดฆๅทๅฐ็ฆๆˆ–ๅ…ถไป–ๅŽๆžœ
  • ๅ› ไฝฟ็”จๆœฌ้กน็›ฎ่€Œไบง็”Ÿ็š„ไปปไฝ•็›ดๆŽฅๆˆ–้—ดๆŽฅๆŸๅคฑ

ๅผ€ๅ‘่€…ไธๆ‰ฟๆ‹…ไปปไฝ•่ดฃไปป๏ผŒไบฆไธๅฏน็”จๆˆท็š„่กŒไธบ่ฟ›่กŒ็›‘ๆŽงๆˆ–ๅนฒ้ข„ใ€‚

่ฏท็”จๆˆท่‡ช่ง‰้ตๅฎˆ็›ธๅ…ณๆณ•ๅพ‹ๆณ•่ง„ๅ’Œ็‰ˆๆƒ่ง„ๅฎš๏ผŒๅฐŠ้‡็Ÿฅ่ฏ†ไบงๆƒใ€‚


โœจ ้กน็›ฎๆ„ฟๆ™ฏ

MusicPilot ็š„่ฏž็”ŸๆบไบŽไธ€ไธชๅคง่ƒ†็š„ๆƒณๆณ•๏ผš่ƒฝๅฆ่ฎฉ AI ๅฎŒๅ…จ่‡ชไธปๅผ€ๅ‘ไธ€ไธชๅฎž็”จ็š„้Ÿณไนๅบ“็ฎก็†ๅทฅๅ…ท๏ผŸ

็ป่ฟ‡ๆทฑๅ…ฅๅˆ†ๆž MoviePilot ็š„ๆžถๆž„ๅ’Œไปฃ็ ๏ผŒๅ‚่€ƒๅ…ถ Chain + Module + Plugin ไธ‰ๅฑ‚ๆžถๆž„ๆจกๅผ๏ผŒMusicPilot ๅบ”่ฟ่€Œ็”Ÿใ€‚

ๆˆ‘ไปฌ็š„็›ฎๆ ‡๏ผš

  • ๐ŸŽฏ ่š็„ฆๆ ธๅฟƒ้œ€ๆฑ‚๏ผš่ต„ๆบๆœ็ดขใ€่‡ชๅŠจไธ‹่ฝฝใ€ๅ…ƒๆ•ฐๆฎๅˆฎๅ‰Š
  • ๐Ÿš€ ่‡ชๅŠจๅŒ–ไผ˜ๅ…ˆ๏ผšไปŽๆœ็ดขๅˆฐไธ‹่ฝฝๅˆฐๆ•ด็†๏ผŒๅ…จ็จ‹่‡ชๅŠจๅŒ–
  • ๐Ÿ”Œ ๆ‰ฉๅฑ•ๆ€งๅผบ๏ผšๆ’ไปถ็ณป็ปŸๆ”ฏๆŒ็ฌฌไธ‰ๆ–นๆ‰ฉๅฑ•
  • ๐ŸŽจ ็•Œ้ขๅ‹ๅฅฝ๏ผšๅŸบไบŽ Vue 3 + Naive UI ็š„็ŽฐไปฃๅŒ–็•Œ้ข

๐Ÿ“– ้กน็›ฎ่ƒŒๆ™ฏ

ไธบไป€ไนˆ้œ€่ฆ MusicPilot๏ผŸ

็—›็‚น 1๏ผš้Ÿณไน่ต„ๆบๅˆ†ๆ•ฃ๏ผŒๆœ็ดขๅ›ฐ้šพ

  • ไธๅŒ็š„่ต„ๆบ็ซ™็‚นๆœ‰ไธๅŒ็š„ๆœ็ดขๆŽฅๅฃ
  • ๆฏไธช็ซ™็‚น้œ€่ฆๆ‰‹ๅŠจ็™ปๅฝ•ใ€ๆœ็ดขใ€ไธ‹่ฝฝ
  • ไธ‹่ฝฝๅŽ่ฟ˜้œ€่ฆๆ‰‹ๅŠจๆ•ด็†ๆ–‡ไปถๅ’Œๅˆฎๅ‰Šๅ…ƒๆ•ฐๆฎ

็—›็‚น 2๏ผš้Ÿณไนๅบ“็ฎก็†็น็

  • ้Ÿณไนๆ–‡ไปถๆ•ฃ่ฝๅœจๅคšไธช็›ฎๅฝ•
  • ๅ…ƒๆ•ฐๆฎไธๅฎŒๆ•ด๏ผŒๅฐ้ข็ผบๅคฑ
  • ้œ€่ฆๆ‰‹ๅŠจๆ•ด็†ๅ’Œๅˆฎๅ‰Š๏ผŒ่€—ๆ—ถ่€—ๅŠ›

็—›็‚น 3๏ผš่‡ชๅŠจๅŒ–็š„้œ€ๆฑ‚

  • ่ฎข้˜…็š„่‰บๆœฏๅฎถๅ‘ๅธƒไบ†ๆ–ฐไธ“่พ‘๏ผŒๅธŒๆœ›่ƒฝ่‡ชๅŠจไธ‹่ฝฝ
  • ไธ‹่ฝฝๅŽ็š„ๆ–‡ไปถ่ƒฝ่‡ชๅŠจๆ•ด็†ๅˆฐๆญฃ็กฎ็š„็›ฎๅฝ•
  • ๅ…ƒๆ•ฐๆฎ่ƒฝ่‡ชๅŠจๅˆฎๅ‰Šๅ’Œ่กฅๅ…จ

๐ŸŒŸ ๆ ธๅฟƒ่ƒฝๅŠ›

๐ŸŽฏ ่ต„ๆบ็ซ™็‚น็ฎก็†

  • ๅคš็ซ™็‚นๆ”ฏๆŒ๏ผšๆ”ฏๆŒ็ฎก็†ๅคšไธช้Ÿณไน่ต„ๆบ็ซ™็‚น
  • ็ซ™็‚น้…็ฝฎ๏ผš็ซ™็‚นๅœฐๅ€ใ€Cookie/Passkeyใ€User-Agentใ€ไปฃ็†็ญ‰
  • ็ซ™็‚นๆต‹่ฏ•๏ผšไธ€้”ฎๆต‹่ฏ•็ซ™็‚น่ฟžๆŽฅ็Šถๆ€
  • ไผ˜ๅ…ˆ็บง่ฎพ็ฝฎ๏ผš่ฎพ็ฝฎ็ซ™็‚นๆœ็ดขไผ˜ๅ…ˆ็บง

๐Ÿ” ่ต„ๆบๆœ็ดข

  • ๅ…ณ้”ฎ่ฏๆœ็ดข๏ผšๆ”ฏๆŒ่‰บๆœฏๅฎถใ€ไธ“่พ‘ใ€ๆ›ฒ็›ฎๅ…ณ้”ฎ่ฏๆœ็ดข
  • ้ซ˜็บง่ฟ‡ๆปค๏ผšๅคงๅฐใ€ๆ ผๅผใ€็ผ–็ ใ€ๅ…่ดน็Šถๆ€็ญ‰่ฟ‡ๆปค
  • ็ซ™็‚น่Œƒๅ›ด๏ผšๅฏๅœจๆ‰€ๆœ‰็ซ™็‚นๆˆ–ๆŒ‡ๅฎš็ซ™็‚นๆœ็ดข
  • ๆœ็ดข็ป“ๆžœ๏ผšๆ˜พ็คบ็ซ™็‚นใ€ๆ ‡้ข˜ใ€ๅคงๅฐใ€ๅš็ง/ไธ‹่ฝฝใ€ๅ‘ๅธƒๆ—ถ้—ดใ€ๅ…่ดน็Šถๆ€ใ€HR ็ญ‰ไฟกๆฏ

โฌ‡๏ธ ่‡ชๅŠจไธ‹่ฝฝ

  • ไธ€้”ฎไธ‹่ฝฝ๏ผš็‚นๅ‡ปๅณๅฏไธ‹่ฝฝ็งๅญๆ–‡ไปถ
  • ไธ‹่ฝฝๅ™จ้›†ๆˆ๏ผšๆ”ฏๆŒๆŽจ้€ๅˆฐ qBittorrent / Transmission
  • ไธ‹่ฝฝ็ฎก็†๏ผšๆ˜พ็คบไธ‹่ฝฝ่ฟ›ๅบฆ๏ผŒๆ”ฏๆŒๆš‚ๅœ/ๆขๅค/้‡่ฏ•
  • ไธ‹่ฝฝๅކๅฒ๏ผš่ฎฐๅฝ•ๆ‰€ๆœ‰ไธ‹่ฝฝๅކๅฒ

๐ŸŽจ ่‡ชๅŠจๆ•ด็†ๅ’Œๅˆฎๅ‰Š

  • ๆ–‡ไปถ่ฏ†ๅˆซ๏ผš่‡ชๅŠจ่ฏ†ๅˆซไธ‹่ฝฝ็š„ๆ–‡ไปถ๏ผˆ่‰บๆœฏๅฎถ/ไธ“่พ‘/ๆ›ฒ็›ฎ๏ผ‰
  • ๅ…ƒๆ•ฐๆฎๅˆฎๅ‰Š๏ผš่‡ชๅŠจๆŸฅ่ฏข MusicBrainz ่Žทๅ–ๅ…ƒๆ•ฐๆฎ
  • ๆ–‡ไปถๆ•ด็†๏ผšๆŒ‰่ง„ๅˆ™ๆ•ด็†ๆ–‡ไปถ๏ผˆArtist/Album/Track.flac๏ผ‰
  • ๆ ‡็ญพๅ†™ๅ…ฅ๏ผš่‡ชๅŠจๅ†™ๅ…ฅๅ…ƒๆ•ฐๆฎๆ ‡็ญพ๏ผˆID3v2/Vorbis๏ผ‰
  • ๅฐ้ขไธ‹่ฝฝ๏ผš่‡ชๅŠจไธ‹่ฝฝไธ“่พ‘ๅฐ้ขๅ›พ็‰‡
  • ๆ•ฐๆฎๅบ“ๆ›ดๆ–ฐ๏ผš่‡ชๅŠจๆ›ดๆ–ฐๆ•ฐๆฎๅบ“่ฎฐๅฝ•

๐ŸŽต ้Ÿณไนๅบ“็ฎก็†

  • ๆต่งˆ้Ÿณไนๅบ“๏ผšๆŒ‰่‰บๆœฏๅฎถใ€ไธ“่พ‘ใ€ๆ›ฒ็›ฎๆต่งˆ
  • ๆœ็ดขๅŠŸ่ƒฝ๏ผšๅฟซ้€Ÿๆœ็ดข้Ÿณไน
  • Web ๆ’ญๆ”พๅ™จ๏ผšๅŸบไบŽ Howler.js ็š„ๅœจ็บฟๆ’ญๆ”พๅ™จ
  • ๆ’ญๆ”พๅˆ—่กจ๏ผšๅˆ›ๅปบๅ’Œ็ฎก็†ๆ’ญๆ”พๅˆ—่กจ

๐Ÿ—๏ธ ๆŠ€ๆœฏๆžถๆž„

ๅŽ็ซฏๆŠ€ๆœฏๆ ˆ

ๆŠ€ๆœฏ ็‰ˆๆœฌ ่ฏดๆ˜Ž
Web ๆก†ๆžถ FastAPI 0.115+ ็Žฐไปฃๅผ‚ๆญฅ Web ๆก†ๆžถ๏ผŒ่‡ชๅŠจ็”Ÿๆˆ API ๆ–‡ๆกฃ
ORM SQLAlchemy 2.0+ Python ๆœ€ๆต่กŒ็š„ ORM๏ผŒๆ”ฏๆŒๅผ‚ๆญฅ
ๆ•ฐๆฎๅบ“ SQLite / PostgreSQL ๅผ€ๅ‘็”จ SQLite๏ผŒ็”Ÿไบง็”จ PostgreSQL
ไปปๅŠก่ฐƒๅบฆ APScheduler 3.10+ Python ไปปๅŠก่ฐƒๅบฆๅบ“
้…็ฝฎ็ฎก็† Pydantic Settings 2.0+ ็ฑปๅž‹ๅฎ‰ๅ…จ็š„้…็ฝฎ็ฎก็†
้Ÿณ้ข‘ๅค„็† mutagen 1.47+ ๅผบๅคง็š„้Ÿณ้ข‘ๅ…ƒๆ•ฐๆฎๅค„็†ๅบ“
Python 3.12+ ๆœ€ๆ–ฐ Python ็‰ˆๆœฌ

ๅ‰็ซฏๆŠ€ๆœฏๆ ˆ

ๆŠ€ๆœฏ ็‰ˆๆœฌ ่ฏดๆ˜Ž
ๆก†ๆžถ Vue 3.4+ ๆธ่ฟ›ๅผ JavaScript ๆก†ๆžถ
ๆž„ๅปบๅทฅๅ…ท Vite 5.0+ ไธ‹ไธ€ไปฃๅ‰็ซฏๆž„ๅปบๅทฅๅ…ท
UI ็ป„ไปถ Naive UI 2.38+ Vue 3 ็ป„ไปถๅบ“๏ผŒ่ฎพ่ฎก็ฒพ็พŽ
็Šถๆ€็ฎก็† Pinia 2.1+ Vue ๅฎ˜ๆ–นๆŽจ่็š„็Šถๆ€็ฎก็†
่ทฏ็”ฑ Vue Router 4.2+ Vue ๅฎ˜ๆ–น่ทฏ็”ฑ
HTTP ๅฎขๆˆท็ซฏ Axios 1.6+ Promise based HTTP ๅฎขๆˆท็ซฏ
้Ÿณ้ข‘ๆ’ญๆ”พ Howler.js 2.15+ ๅผบๅคง็š„ HTML5 ้Ÿณ้ข‘ๆ’ญๆ”พๅบ“
Node 20.12.1+ Node.js ๆœ€ๆ–ฐ LTS ็‰ˆๆœฌ

ๆžถๆž„่ฎพ่ฎก

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ๅ‰็ซฏ (Vue 3)                          โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”‚
โ”‚  โ”‚  ่ต„ๆบ็ซ™็‚น โ”‚  โ”‚  ๆœ็ดข    โ”‚  โ”‚ ้Ÿณไนๅบ“  โ”‚  โ”‚ ๆ’ญๆ”พๅ™จ  โ”‚     โ”‚
โ”‚  โ”‚  ็ฎก็†    โ”‚  โ”‚  ่ต„ๆบ    โ”‚  โ”‚  ๆต่งˆ    โ”‚  โ”‚          โ”‚     โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚ RESTful API
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      FastAPI ๅŽ็ซฏ                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚
โ”‚  โ”‚            API ๅฑ‚                         โ”‚             โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚
โ”‚                           โ”‚                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚
โ”‚  โ”‚              Chain ๅฑ‚                      โ”‚             โ”‚
โ”‚  โ”‚  TorrentsChain | TorrentsChain          โ”‚             โ”‚
โ”‚  โ”‚  MetadataChain  | TransferChain          โ”‚             โ”‚
โ”‚  โ”‚  PlaylistChain   | PlaybackChain          โ”‚             โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚
โ”‚                           โ”‚                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚
โ”‚  โ”‚           Module Manager                   โ”‚             โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚             โ”‚
โ”‚  โ”‚  โ”‚MusicBrainzโ”‚โ”‚ ่ต„ๆบ็ซ™็‚น โ”‚โ”‚ ไธ‹่ฝฝๅ™จ  โ”‚ ...  โ”‚             โ”‚
โ”‚  โ”‚  โ”‚  ๆจกๅ—   โ”‚โ”‚  ๆจกๅ—   โ”‚โ”‚  ๆจกๅ—   โ”‚      โ”‚             โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚               ๆ•ฐๆฎๅฑ‚ (SQLAlchemy)                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚
โ”‚  โ”‚ Artist โ”‚ โ”‚ Album  โ”‚ โ”‚ Track  โ”‚ โ”‚Playlistโ”‚             โ”‚
โ”‚  โ”‚  ๆจกๅž‹  โ”‚ โ”‚  ๆจกๅž‹  โ”‚ โ”‚  ๆจกๅž‹  โ”‚ โ”‚  ๆจกๅž‹  โ”‚             โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚          SQLite (ๅผ€ๅ‘) / PostgreSQL (็”Ÿไบง)               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅค–้ƒจ้›†ๆˆ๏ผš
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ ่ต„ๆบ็ซ™็‚น โ”‚โ”‚MusicBrainzโ”‚โ”‚ qBittorrentโ”‚โ”‚Transmissionโ”‚
โ”‚   API    โ”‚โ”‚   API    โ”‚โ”‚   API    โ”‚โ”‚   API    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

็Žฏๅขƒ่ฆๆฑ‚

  • Python 3.12+
  • Node.js 20.12.1+
  • Git

ๆœฌๅœฐๅผ€ๅ‘

# ๅ…‹้š†้กน็›ฎ
git clone https://github.com/hhyo/MusicPilot.git
cd MusicPilot

# ๅŽ็ซฏ
cd backend
pip install -r requirements.txt
python -m app.main

# ๅ‰็ซฏ๏ผˆๅฆๅผ€็ปˆ็ซฏ๏ผ‰
cd frontend
npm install
npm run dev

# ่ฎฟ้—ฎ
# ๅ‰็ซฏ๏ผšhttp://localhost:5173
# ๅŽ็ซฏ API๏ผšhttp://localhost:3001/docs

Docker ้ƒจ็ฝฒ

# ๅฏๅŠจๆ‰€ๆœ‰ๆœๅŠก
docker-compose up -d

# ่ฎฟ้—ฎ
# ๅ‰็ซฏ๏ผšhttp://localhost:3000
# ๅŽ็ซฏ API๏ผšhttp://localhost:3001

๐Ÿ“š ๅŠŸ่ƒฝ็‰นๆ€ง

๐ŸŽฏ ่ต„ๆบ็ซ™็‚น็ฎก็†

  • โœ… ๆ”ฏๆŒ็ฎก็†ๅคšไธช้Ÿณไน่ต„ๆบ็ซ™็‚น
  • โœ… ็ซ™็‚น้…็ฝฎ๏ผšๅœฐๅ€ใ€Cookie/Passkeyใ€User-Agentใ€ไปฃ็†
  • โœ… ็ซ™็‚นๆต‹่ฏ•๏ผšไธ€้”ฎๆต‹่ฏ•่ฟžๆŽฅ็Šถๆ€
  • โœ… ไผ˜ๅ…ˆ็บง่ฎพ็ฝฎ๏ผš่‡ชๅฎšไน‰ๆœ็ดขไผ˜ๅ…ˆ็บง

๐Ÿ” ่ต„ๆบๆœ็ดข

  • โœ… ๅ…ณ้”ฎ่ฏๆœ็ดข๏ผš่‰บๆœฏๅฎถใ€ไธ“่พ‘ใ€ๆ›ฒ็›ฎ
  • โœ… ้ซ˜็บง่ฟ‡ๆปค๏ผšๅคงๅฐใ€ๆ ผๅผใ€็ผ–็ ใ€ๅ…่ดน็Šถๆ€
  • โœ… ็ซ™็‚น่Œƒๅ›ด๏ผšๆ‰€ๆœ‰็ซ™็‚นๆˆ–ๆŒ‡ๅฎš็ซ™็‚น
  • โœ… ๆœ็ดข็ป“ๆžœ๏ผš่ฏฆ็ป†ไฟกๆฏๅฑ•็คบ

โฌ‡๏ธ ่‡ชๅŠจไธ‹่ฝฝ

  • โœ… ไธ€้”ฎไธ‹่ฝฝ็งๅญๆ–‡ไปถ
  • โœ… ไธ‹่ฝฝๅ™จ้›†ๆˆ๏ผšqBittorrent / Transmission
  • โœ… ไธ‹่ฝฝ็ฎก็†๏ผš่ฟ›ๅบฆใ€ๆš‚ๅœใ€ๆขๅคใ€้‡่ฏ•
  • โœ… ไธ‹่ฝฝๅކๅฒ่ฎฐๅฝ•

๐ŸŽจ ่‡ชๅŠจๆ•ด็†ๅ’Œๅˆฎๅ‰Š

  • โœ… ๆ–‡ไปถ่ฏ†ๅˆซ๏ผš่‡ชๅŠจ่ฏ†ๅˆซ่‰บๆœฏๅฎถ/ไธ“่พ‘/ๆ›ฒ็›ฎ
  • โœ… ๅ…ƒๆ•ฐๆฎๅˆฎๅ‰Š๏ผšMusicBrainz API
  • โœ… ๆ–‡ไปถๆ•ด็†๏ผšๆŒ‰่ง„ๅˆ™ๆ•ด็†ๆ–‡ไปถ
  • โœ… ๆ ‡็ญพๅ†™ๅ…ฅ๏ผšID3v2/Vorbis
  • โœ… ๅฐ้ขไธ‹่ฝฝ๏ผš่‡ชๅŠจไธ‹่ฝฝๅฐ้ข
  • โœ… ๆ•ฐๆฎๅบ“ๆ›ดๆ–ฐ

๐ŸŽต ้Ÿณไนๅบ“็ฎก็†

  • โœ… ๆต่งˆ้Ÿณไนๅบ“๏ผš่‰บๆœฏๅฎถใ€ไธ“่พ‘ใ€ๆ›ฒ็›ฎ
  • โœ… ๆœ็ดขๅŠŸ่ƒฝ๏ผšๅฟซ้€Ÿๆœ็ดข
  • โœ… Web ๆ’ญๆ”พๅ™จ๏ผšๅœจ็บฟๆ’ญๆ”พ
  • โœ… ๆ’ญๆ”พๅˆ—่กจ๏ผšๅˆ›ๅปบๅ’Œ็ฎก็†ๆ’ญๆ”พๅˆ—่กจ

๐Ÿ—บ๏ธ ๅผ€ๅ‘่ฎกๅˆ’

้‡Œ็จ‹็ข‘ ็‰ˆๆœฌ ๅ‘จๆœŸ ็›ฎๆ ‡ ็Šถๆ€
M1 v0.1.0 Week 1-2 ๅ…ƒๆ•ฐๆฎ้“พ โœ… ๅทฒๅฎŒๆˆ
M2 v0.2.0 Week 3-4 ๆ’ญๆ”พๅˆ—่กจ โœ… ๅทฒๅฎŒๆˆ
M3 v0.3.0 Week 5-6 ๅช’ไฝ“ๅบ“็ฎก็† โœ… ๅทฒๅฎŒๆˆ
M4 v0.4.0 Week 7-8 ่ต„ๆบ็ซ™็‚นๅ’Œไธ‹่ฝฝๅ™จๅฏนๆŽฅ โœ… ๅทฒๅฎŒๆˆ
M5 v0.5.0 Week 9-10 ่ฎข้˜…ๅŠŸ่ƒฝ โœ… ๅทฒๅฎŒๆˆ
M6 v0.6.0 Week 11-12 ๆ’ญๆ”พๅ™จ็•Œ้ข โœ… ๅทฒๅฎŒๆˆ
M7 - Week 13 CI/CD ไฟฎๅค โœ… ๅทฒๅฎŒๆˆ
M8 - Week 14 ไปฃ็ ไธŽๆžถๆž„ๅฎกๆŸฅ โธ๏ธ ๅพ…ๅผ€ๅง‹
M9 - Week 15-16 ๆต‹่ฏ•่ฆ†็›–ๆๅ‡ โธ๏ธ ๅพ…ๅผ€ๅง‹
M10 - Week 17 ไบงๅ“้ชŒๆ”ถ โธ๏ธ ๅพ…ๅผ€ๅง‹
M11 v1.0.0 Week 18 ๅ‘ๅธƒๅ‡†ๅค‡ โธ๏ธ ๅพ…ๅผ€ๅง‹
M12 v1.1.0 Week 19-20 ๆ’ไปถ็ณป็ปŸๅฎŒๅ–„ โธ๏ธ ๅพ…ๅผ€ๅง‹

่ฏฆ็ป†ไปปๅŠกๆ‹†่งฃ๏ผš่ฏฆ่ง ไปปๅŠกๆธ…ๅ•


๐Ÿ“– ๆ–‡ๆกฃ


๐Ÿค ่ดก็Œฎ

ๆฌข่ฟŽ่ดก็Œฎ๏ผ่ฏทๆŸฅ็œ‹ ่ดก็ŒฎๆŒ‡ๅ—ใ€‚

๐Ÿ“„ ่ฎธๅฏ่ฏ

MIT License


๐Ÿ™ ่‡ด่ฐข

ๆœฌ้กน็›ฎๆทฑๅ—ไปฅไธ‹้กน็›ฎๅฏๅ‘๏ผš

  • MoviePilot - ๆžถๆž„ๅ‚่€ƒ
  • MusicBrainz - ๅ…ƒๆ•ฐๆฎๆฅๆบ
  • FastAPI - ๅŽ็ซฏๆก†ๆžถ
  • Vue 3 - ๅ‰็ซฏๆก†ๆžถ
  • Naive UI - UI ็ป„ไปถๅบ“

โญ ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนๆ‚จๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท็ป™ไธ€ไธช Star๏ผ

About

๐ŸŽต ็”ฑ OpenClaw Agent ๅฎŒๅ…จ่‡ชไธปๅผ€ๅ‘็š„้Ÿณไนๅบ“่‡ชๅŠจๅŒ–็ฎก็†ๅทฅๅ…ท๏ผŒๆ”ฏๆŒ่ต„ๆบๆœ็ดขใ€ไธ‹่ฝฝใ€ๆ•ด็†ๅ’Œๆ’ญๆ”พ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors