工程 · 2026.09.30 · 4 min · 更新於 2026.10.26
Chrome 擴充功能上架 Chrome Web Store:審核準備,加一支跨平台一行安裝腳本
Auto Approve for Muse 上架 Chrome 線上應用程式商店的準備與審核經驗,以及一支跨 macOS、Linux、Windows 的安裝腳本,在 Chrome 不讓程式裝擴充功能的限制下把步驟壓到最少。
閱讀設定
沒上架的 Chrome 擴充功能,換電腦、教別人安裝都很麻煩。
我的 Auto Approve for Muse 現在有兩條安裝路。一條是 Chrome Web Store,1.0.0 和 1.1.0 都是送審當天就上架。
另一條是一行安裝腳本,給不想走商店的人用。Chrome 不允許程式直接安裝擴充功能,腳本能做的是把步驟壓到最少,最後兩下還是要自己按。
這個擴充功能怎麼找到 muse 的審批卡,寫在muse.ai 審批卡自動允許與信任清單。它一開始只能用「載入未封裝項目」安裝,換電腦就要 clone repo、開開發人員模式、選資料夾。
送審前先處理的地方
原始碼本來就公開在 GitHub,隱私權政策直接用 repo 裡的 PRIVACY.md,開發者帳號註冊費一次 US$5。
我刻意處理了幾個地方。
名稱從「Muse Auto Approve」改成「Auto Approve for Muse」,說明寫清楚是非官方工具、跟 Meta 無關,避免被認為冒用商標。
權限只要 storage,content script 只注入 muse.ai,自己不發任何網路請求,隱私權做法填「不收集資料」。商店截圖用 popup 加說明文字,不模仿 muse 的介面。
送審時「測試操作說明」沒填,也沒被要求補。
審核之外,比較麻煩的是後台本身。Chrome 不讓擴充功能操作商店頁面,會直接報 The extensions gallery cannot be scripted,想用瀏覽器自動化代填表單行不通。
所以我把要填的欄位整理成 repo 裡的 store/listing.md,每次改版照著貼。
發新版是改 manifest 版本號、跑 pack.sh 打包、到 Dashboard 上傳重新審核。GitHub Release 也要同步傳一份,安裝腳本才抓得到。
商店版和 repo 版是兩個不同的擴充功能 ID,兩個都裝會在同一頁跑兩份,README 寫明只能擇一。

一行安裝腳本
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/homieyangg/muse-auto-approve/main/install.sh | bash
# Windows
irm https://raw.githubusercontent.com/homieyangg/muse-auto-approve/main/install.ps1 | iex
腳本會下載 GitHub Release 最新版的 zip 解壓、打開 chrome://extensions、把資料夾路徑複製到剪貼簿。
「開發人員模式」和「載入未封裝項目」自己按,選資料夾時把路徑貼上就好。

未封裝擴充功能的 ID 跟著路徑走,路徑不變,設定就會保留。所以腳本把安裝位置固定在家目錄下的 muse-auto-approve,再跑一次同一個指令就是更新。
幾個設計:
- 資料夾已經存在、但裡面不是這個擴充功能時直接報錯,不刪。介面做了多語系之後名稱搬進
_locales,檢查要同時看manifest.json和_locales/en/messages.json,不然更新會被誤判。 install.sh盡量不挑環境:curl 或 wget、unzip 或python3 -m zipfile都行,開不了瀏覽器或沒有剪貼簿就改成印提示。install.ps1整段包在& { }裡,用irm | iex執行時,變數和$ErrorActionPreference才不會留在使用者的 session。另外替舊版 PowerShell 補上 TLS 1.2。
ARM Mac 上測 PowerShell
我用真的 GitHub 網址,在 macOS 本機、Ubuntu container 和 pwsh 7.4 把一行指令從頭跑過,全新安裝、更新、拒絕覆蓋都正常。
在 ARM Mac 上測 PowerShell 有個坑。
官方的 mcr.microsoft.com/powershell 映像只有 amd64,模擬執行會當掉。改用有 arm64 版、內建 pwsh 的 mcr.microsoft.com/dotnet/sdk:8.0 就行。
Invoke-WebRequest 也不支援 file://,要另外開一個同 docker network 的 HTTP server container 提供檔案。
還沒驗證的是 Windows 內建的 PowerShell 5.1,以及 Windows 上開 Chrome、寫剪貼簿這兩步。

README 截圖與多語系
README 的安裝步驟都配截圖,中英各一套,用 Playwright 加 Chrome for Testing 開乾淨的 profile 拍,紅框和步驟編號是注入頁面的 overlay。
macOS 上 --lang 沒有效果,改成暫時對 Chrome for Testing 寫 AppleLanguages,中英兩套拍完再刪掉。
商店的宣傳圖塊用 AI 生成一張沒有文字的插圖當背景,字和 icon 再用 HTML 疊上去,避免 AI 把中文畫成亂碼。
1.1.0 的中英切換是自己寫 i18n.js 讀 _locales,沒用 chrome.i18n,因為設定頁要能強制切換語言,chrome.i18n 只能跟著瀏覽器語言走。

工程
muse.ai 審批卡自動允許:Chrome 擴充功能從全部允許改成信任清單
muse.ai 的 AI 助理遇到新網站就跳審批卡,排程任務常卡在半夜沒人按。我寫了 Chrome 擴充功能自動按允許,上架給別人用之後改成信任清單,並把發文這類收不回來的動作分開處理。
留言
載入留言中…