转到内容

介紹

此内容还没有支持您的语言版本.

歡迎參與 Miru Alpha 的插件開發,本文檔將幫助你快速瞭解 Miru Alpha 的插件開發方法和注意事項,讓你能夠輕鬆地為 Miru Alpha 添加新插件源。

Miru Alpha 的插件同時支持兩種語言運行時:JavaScript(goja)Go(Scriggo)。你可以根據需求選擇——JS 適合快速編寫、門檻低;Go 適合複雜解析與複用 Go 生態庫。兩種插件使用同一套元數據與數據返回結構,前端對兩者一視同仁。

本文檔的目標受眾是想要參與 Miru 插件開發的貢獻者,你需要具備一定 JavaScript 或 Go 的基礎知識,以及對 Miru 的基本瞭解。本文檔按照開發流程來劃分,每個部分包含以下內容:

  • 開發環境:介紹如何搭建 Miru 的插件開發環境,包括克隆源碼、運行服務,以及 JS / Go 各自的推薦工具鏈。
  • 開發方法:介紹如何使用 Miru 的接口來實現插件開發(JavaScript 與 Go 兩套寫法),包括添加新插件源。
  • 開發示例:給出一些插件開發的代碼示例和註釋,幫助你更直觀地理解。
  • 開發注意事項:提供一些插件開發的注意事項和建議,幫助你避免一些常見的錯誤和問題。

本文檔使用正式的語言和圖文並茂的方式,以便於你快速、準確、清晰地掌握 Miru 的插件開發方法。本文檔使用線性的順序,你需要按照順序閱讀每個部分。

  1. 環境搭建:搭建本地開發環境、運行服務。

  2. 開始開發:填寫插件元數據,並選擇你使用的語言(JavaScript 或 Go)。

  3. 語言開發指南:進入對應語言的頁面——

    這些頁麵包含該語言的入口函數、請求/緩存 API、內置模塊(require / sdk)與可運行示例,是你編寫插件時主要參考的頁面。

  4. 數據格式數據格式(V2 / V1 舊版)):所有入口方法的入參與返回結構參考;V2 為當前標準,V1 舊版僅作兼容保留,二者按類型播放結構一致。

核心更新(miru_core 5ff71a8 — 2026-08-24)

Section titled “核心更新(miru_core 5ff71a8 — 2026-08-24)”

以下為基於最新 miru_core 提交(5ff71a8)的文件變更總結,涉及錯誤處理、日誌、下載、路由與 Go 擴展:

  • pkg/errorHandle/error.go / error_test.go:新增可識別的崩潰日誌([CRASH][miru_core] 標記)與 LogCrash / RecoverLog;增加 HandleFatal / PanicF / PrintStack
  • pkg/logger/log.go:新增 LogCrash 寫入專用 miru_core_crash.log(追加模式),並提供 ensureCrashFile 備援。
  • binary/main.go / router/router.go:啟動時 defer 防護、記憶體監控、擴展路徑初始化、統一熱重載監聽(WatchExtensions)。
  • pkg/extension/golang/packages.go:新增 DownloadMediaType / DownloadCategory 枚舉與大量 Go 標準包映射(path/filepathreflectregexpruntimeunicode 等)。
  • binary/crash_log_test.go:崩潰日誌測試。

詳細參考:pkg/errorHandle/(錯誤與崩潰)、pkg/logger/(可識別日誌)、pkg/download/(枚舉與類型)、router/(熱重載與路由初始化)。

更多 sdk 類型與函數參考:

  • 中文:/docs/developer/go/sdk-api-reference/
  • 英文:/docs/en/developer/go/sdk-api-reference/