工程 · 2026.09.30 · 4 min · 更新於 2026.10.26
muse.ai 審批卡自動允許:Chrome 擴充功能從全部允許改成信任清單
muse.ai 的 AI 助理遇到新網站就跳審批卡,排程任務常卡在半夜沒人按。我寫了 Chrome 擴充功能自動按允許,上架給別人用之後改成信任清單,並把發文這類收不回來的動作分開處理。
閱讀設定
半夜跑的 muse.ai 排程停在一張審批卡上:助理 Ren 要打開新網站,得有人按「允許」才會繼續。
muse.ai 是 Meta 的個人 AI agent。我寫了一個 Chrome 擴充功能 Auto Approve for Muse 替我按,後來上了 Chrome 線上應用程式商店,原始碼在 GitHub。
自己用的時候全部按掉沒問題,給別人用就不行,那等於把 muse 設計的人工確認整個拿掉。
所以 1.1.0 改成只自動允許信任的網站,1.2.0 再把發文、傳訊息這類收不回來的動作跟網站分開,「全部自動允許」預設也不按。
為什麼在瀏覽器裡按按鈕
muse 自己的設定解決不了。網路存取最寬只到「要求採取部分動作」,沒有永不詢問。
信任的網站也不能手動新增,只能審批時按「一律允許」慢慢累積。
GitHub 上有現成的工具逆向 muse 的加密 RPC,直接呼叫審批。我在 Docker 裡試過,daemon 一直 crash loop,最後整個刪掉。
改成在瀏覽器裡按 UI 上的按鈕,跟人手按走同一條路,不用碰內部協定。代價是 muse 改版改了畫面,判斷就可能失效。
從拒絕按鈕反推審批卡
第一版從「允許」按鈕往上找語境,寫 jsdom(在 Node.js 裡模擬瀏覽器 DOM 的套件)測試時,發現會點到卡片外面的「允許」。
先寫 jsdom 情境測試再上真的頁面,這個問題就是測試先抓到的。
後來改成從「拒絕」反推:往上找最近一層同時有允許按鈕的容器,當成按鈕區;再往上第一層有非按鈕文字的容器,當成卡片本體。
本體要出現網域、存取、網站、權限這類字眼才按。刪除確認框這種也有確定按鈕的對話框,就不會被誤按。
後來在 DevTools 看到 muse 有幫審批卡加 data-testid="hatch-inline-approval-card"。1.2.0 改成優先認這個標記,找不到才退回舊的判斷。

排程常跑在副聊天室,別的聊天室來的審批,在目前畫面只有一條「一項工作需要檢閱」的提示。
這時先點「檢閱」,右側面板會出現完整的卡,下一輪再按允許。
從全部允許到信任清單
上了商店之後,使用者是一般人。我不能要求他們懂網域或萬用字元,也不能一裝好就要先設定一堆東西。1.1.0 的流程是:
- 第一次遇到新網站不按,工具列圖示出現紅色數字。
- 打開 popup 選信任範圍按「允許」,卡片馬上被按掉,之後同樣的請求自動允許。
- 新安裝跳歡迎頁,只問一題:只允許我信任的,或全部自動允許。從 1.0 升級的人維持全部允許。
信任範圍有四種:這個網站、這個網站只限這個聊天室、這個聊天室的所有請求、只允許這一次。
第三種會用橘字提醒,因為那個聊天室要求什麼都會放行。整個流程不用打字,也不新增任何權限。

發出去的文收不回來
1.1.0 上線後我自己測,跳出一張「允許 Ren 將此內容發佈到 Threads」,擴充功能完全沒反應。
它只認存取網站的卡,發文、傳訊息這類卡的文字裡沒有那些關鍵字。
1.2.0 用 testid 找到卡之後再看標題:有存取、開啟、前往這類動詞,就取網址當網站。沒有的話,整個標題當成一個動作,規則另外存,網站規則不會放行動作卡。
「全部自動允許」預設不按動作卡,要到進階選項打開才按。
發出去的文章收不回來。選全部允許的人是懶得管網站,不代表他同意擴充功能替他發文。
動作用標題比對也很粗:信任「發佈到 Threads」之後,內容是什麼、發到哪個帳號都會放行,這點 README 的限制段落有寫。

常駐執行與剩下的風險
為了電腦關著也能按,我在常駐主機上用 linuxserver/chromium container 載入同一份擴充功能。這個映像的網頁 GUI 內建一個免密 sudo 的 terminal:
Keep in mind the web interface includes a terminal with passwordless
sudo, anyone who can reach the GUI can gain root inside the container.
出自 linuxserver 的 chromium 映像文件。所以 port 只綁 127.0.0.1,要看畫面走 SSH tunnel。
開發上還有一個坑:用 --load-extension 載入的未封裝擴充功能,每次重開瀏覽器,onInstalled 都收到 install,不是 update。
新安裝和升級要看資料判斷:有 1.0 的舊設定就搬移,沒有模式設定也沒開過歡迎頁,才當新安裝。
審批卡存在,就是要人確認 agent 要去哪裡、要做什麼。自動按掉它,等於把這道確認交給一組規則,README 開頭也直接寫了。
我能做的是縮小自動放行的範圍,把收不回來的動作跟網站分開。
另一個風險是它很依賴 muse 的畫面,而且目前只在繁中介面實測過。

工程
SaaS 從績效抽成改成年繳訂閱:方案上限、促銷與停權的帳單設計
自動放貸 SaaS 的收費從績效抽成改成固定價訂閱。方案上限比收費先落地,促銷加送在開票當下凍結在帳單上,30 天通知只擋被動收費,停權不碰使用者自己的放貸開關。
留言
載入留言中…