介紹
此内容还没有支持您的语言版本.
歡迎參與 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 的插件開發方法。本文檔使用線性的順序,你需要按照順序閱讀每個部分。
-
環境搭建:搭建本地開發環境、運行服務。
-
開始開發:填寫插件元數據,並選擇你使用的語言(JavaScript 或 Go)。
-
語言開發指南:進入對應語言的頁面——
- JavaScript 插件:快速開始(V2)(推薦)/ 舊版 V1(兼容)/ 數據格式(V2 / V1 舊版)。
- Go 插件:快速開始 → SDK API 參考 → 原生 Go 運行 / Scriggo 運行 → 數據格式。
這些頁麵包含該語言的入口函數、請求/緩存 API、內置模塊(
require/sdk)與可運行示例,是你編寫插件時主要參考的頁面。 -
數據格式(數據格式(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/filepath、reflect、regexp、runtime、unicode等)。binary/crash_log_test.go:崩潰日誌測試。
詳細參考:pkg/errorHandle/(錯誤與崩潰)、pkg/logger/(可識別日誌)、pkg/download/(枚舉與類型)、router/(熱重載與路由初始化)。
SDK API 文件
Section titled “SDK API 文件”更多 sdk 類型與函數參考:
- 中文:
/docs/developer/go/sdk-api-reference/ - 英文:
/docs/en/developer/go/sdk-api-reference/