規則:

  • 保持 Markdown 結構。
  • 不翻譯 URL 和代碼。
  • 只返回翻譯內容,不附加其他評論。

MoeKoe Music

MoeKoe 音樂擴展

MoeKoe 音樂瀏覽器擴展版,基於 MoeKoeMusic Web 构建並在瀏覽器擴展內完成 API 路由兼容。

Manifest V3 Vue Vite License

🌎 GitHub 存儲庫

特性

  • 點擊瀏覽器擴展圖標後打開獨立窗口運行 MoeKoeMusic。
  • 不需要用戶配置 API 地址,也無需額外啟動本地 API 服務。
  • 保留 MoeKoeMusic 原有 Web 頁面與互動,兼容瀏覽器擴展運行環境。

快速開始

環境要求

  • Node.js 20 或更高版本
  • Git
  • Chrome / Edge 等 Chromium 内核瀏覽器

安裝依賴

git submodule update --init --recursive
npm install
npm run install:app

npm run install:app 將分別安裝 MoeKoeMusic 和 MoeKoeMusic/api 的依賴。安裝後建議檢查子模塊工作區,避免把上游 lockfile 的非預期變化提交進去。

构建擴展

npm run build

構建產物會輸出到:

dist/extension

安裝到瀏覽器

  1. 打開 chrome://extensions 或 edge://extensions。
  2. 启用“開發者模式”。
  3. 点击“加載已解壓的擴展程序”。
  4. 选择本项目下的 dist/extension 目錄。

不要加載源碼目錄 extension,否則瀏覽器會提示清單或背景腳本加載失敗。

API 運行方式

與 MoeKoe Music Web 版本相比,該插件版不會讓用戶填写 API 地址。MoeKoeMusic 前端仍然按照自己的 HTTP 路由發起請求,構建時會把 Axios 請求適配到擴展內部消息通道。

請求流程如下:

MoeKoeMusic Web
  -> extension/app/api-adapter.js
  -> extension/api/service-worker.cjs
  -> extension/api/generated/modules.cjs
  -> MoeKoeMusic/api/module/*.js
  -> KuGou 相關接口

extension/api/generated/modules.cjs 是生成文件,由 scripts/generate-extension-api-entry.mjs 扫描 MoeKoeMusic/api/module 後生成。新增或更新 API 模塊後,重新運行下面任一命令即可:

npm run generate:api
npm run build

專案結構

.
├── MoeKoeMusic/                         # 上游 MoeKoeMusic 子模塊
│   └── api/                             # 上游 API 子模塊
├── extension/
│   ├── app/
│   │   ├── api-adapter.js               # Web 端 Axios 适配器
│   │   └── locale-init.js               # 外置語言初始化腳本
│   ├── api/
│   │   ├── generated/modules.cjs        # API 路由映射生成文件
│   │   ├── axios-fetch.cjs              # 瀏覽器 fetch 版 Axios 兼容層
│   │   ├── service-worker.cjs           # 擴展後台邏輯
│   │   └── url.cjs                      # url 模塊兼容層
│   ├── manifest.json                    # 擴展清单
│   └── vite.extension.config.mjs        # 擴展構建配置
├── scripts/
│   ├── build-extension.mjs              # 擴展構建腳本
│   └── generate-extension-api-entry.mjs # API 映射生成腳本
└── dist/extension                       # 構建後的擴展目錄

技術堆疊

技術 用途
Manifest V3 瀏覽器擴展運行環境
Vue 3 MoeKoeMusic Web 頁面
Vite Web 頁面構建
esbuild Service Worker 打包
Chrome Extensions API 窗口打開、消息通信、存儲
KuGouMusicApi 上游 API 模塊來源

相關專案

免責聲明

本项目僅用於學習與技術研究。項目中的音樂數據、歌詞、封面等內容版權屬於原版權方所有,請勿將本项目用於商業用途或違反相關服務條款的場景。使用本项目產生的任何風險由使用者自行承擔。

License

本项目沿用上游 MoeKoeMusic 的開源協議,詳見 MoeKoeMusic/LICENSE。