diff --git a/FEATURES.md b/FEATURES.md index 46d61de..58b61bb 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -912,7 +912,7 @@ AnyBot 是一個桌面聊天 App,介面和運作方式照 Grok Bot 重做。 ### 用哪個瀏覽器 -- 有裝 Chrome 類瀏覽器時,用 AnyBot 自己的瀏覽器。只有設定檔選「你的瀏覽器」時,才用你平常的瀏覽器。 +- 有裝 Chrome 類瀏覽器或 Firefox 時,用 AnyBot 自己的瀏覽器。只有設定檔選「你的瀏覽器」時,才用你平常的瀏覽器。 - 都沒裝時,一律用你自己的瀏覽器。 ### 原版「從 Chrome 複製登入」 @@ -926,9 +926,25 @@ AnyBot 是一個桌面聊天 App,介面和運作方式照 Grok Bot 重做。 ### 用哪個瀏覽器 - 依序找第一個有裝的:Google Chrome、Brave Browser、Microsoft Edge、Chromium。 +- 這些都沒有、但有 Firefox 時(例如只有 Firefox 的 Linux 電腦),用 Firefox。 - 用 AnyBot 自己的資料夾打開,不會影響你平常的瀏覽器,也不用改任何瀏覽器設定。 + - Snap 或 Flatpak 版的 Firefox 只能讀家目錄裡它自己的角落,所以 AnyBot 的 Firefox 設定檔放在那裡(例如 `~/snap/firefox/common/AnyBot`)。 - 略過首次使用畫面和「設為預設瀏覽器」的詢問。 +### Firefox + +- Firefox 不支援 Chrome 的控制方式(DevTools),所以改用 W3C 標準的 WebDriver BiDi。 + - 每個工具用到的 Chrome 指令,都換成對應的 BiDi 指令:真的滑鼠點擊和按鍵、打字(中文也一樣,一個字一個字按)、截圖、存 PDF、網頁對話框、上傳、下載、分頁。 + - 所以 18 個瀏覽器工具在 Firefox 上用法完全一樣,跑同一套測試。 + - 下載:Firefox 支援指定位置時存到「下載項目/AnyBot」;不支援時看 Firefox 自己的下載資料夾。 +- **你自己的 Firefox 設定檔**也是選項,用 Firefox 顯示的名字,後面加「(Firefox)」,例如「阿金(Firefox)」。 + - 名字從 Firefox 的設定檔清單讀(`profiles.ini`,以及新版設定檔切換器的 SQLite 清單)。 + - 只說「阿金」或「Firefox 阿金」也找得到(只有一個符合,而且沒有 AnyBot 自己的同名設定檔時)。 + - Firefox 開著之後就不能被接手控制,所以要由 AnyBot 打開。這個設定檔已經用平常的方式開著時:「「X」的 Firefox 視窗已經開著,但不是 AnyBot 打開的,AnyBot 沒辦法操作它。請使用者先關掉這個設定檔的 Firefox 視窗(登入都會留著),再讓 AnyBot 打開它…」 + - 關掉後 AnyBot 用可以操作的方式重新打開,登入都還在。Firefox 會顯示被遠端控制的標記(機器人圖示)。 + - AnyBot 不會移除它們;設定裡沒有「移除」按鈕,旁邊寫「你自己的 Firefox 設定檔:要讓 Bot 用,請從這裡開啟(先關掉它原本的視窗)」。 + - AnyBot 自己的設定檔名字不能有「Firefox」。 + ### 數字 - 「預設」設定檔用本機連接埠 9333(估計值)。其他設定檔由瀏覽器自己挑空的連接埠,再由 AnyBot 讀回來。 @@ -1051,6 +1067,8 @@ AnyBot 是一個桌面聊天 App,介面和運作方式照 Grok Bot 重做。 - 有螢幕的電腦:Bot 自己的電腦(Linux 桌面,Docker)、這台電腦、帳號裡其他開了「裝置連結」的電腦。每個螢幕工具都有 `computer` 參數;沒指定時用 Bot 的預設電腦。 - **看:截圖上每個能點的東西都框起來、標了編號。** Bot 拿到的截圖上,每個按鈕、連結、輸入框、選單項目都有編號,另外附同樣編號的清單(例如「[21] 連結「Profile」」)。編號來自系統的無障礙資訊(Mac 的 AX、Linux 的 AT-SPI;Bot 的電腦裡網頁內容也有,Chromium 開了無障礙),所以網頁上的小圖示也有編號。只有被別的視窗擋住的按鈕不給編號(Mac 上逐一檢查最上層的視窗是不是同一個 App),免得點到別的 App。 + - Linux 上用前景視窗所屬程式的執行檔名稱去找 App(agent-desktop 認的是這個):Snap 版 Firefox 的視窗類別是「firefox_firefox」,程式是「firefox」,以前因此找不到、只剩一張沒有編號的截圖。 + - Linux 上一個編號都沒有、而且桌面的無障礙開關(AT-SPI 的 IsEnabled)是關著時,AnyBot 會把它打開(跟螢幕閱讀器一樣),並告訴 Bot:「這台的無障礙介面原本是關著的,AnyBot 剛把它打開:之後打開的 App 才會有編號,已經開著的 App 要關掉重開。網頁請改用 browser_* 工具。」 - **動手:照編號點,只有一種方式(真的滑鼠和鍵盤)。** 點編號就是點那個東西的正中央;圖上沒編號的東西才用 x、y。Mac 用 CoreGraphics,Linux 用 X11/Wayland(desk.rs),Bot 的電腦用 xdotool。(以前 Bot 看圖猜座標,曾把一塊空白當成選單項目連點十次。) - **每個動作做完自動附上新的編號截圖**(點、打字、按鍵、捲動、拖曳、移動滑鼠、打開 App;先等 0.5 秒讓畫面穩定),Bot 不用再花一步截圖確認。拍不到畫面時(Mac 還沒開「螢幕與系統錄音」),改附最前面 App 的清單(含文字)。 - **不鬼打牆**:動作後畫面和上一步完全一樣,結果會寫「畫面和上一步完全一樣:這一步沒有點到東西」,並叫 Bot 換編號、換方法或請人幫忙。同一步(點擊座標相差不到 16 像素也算)在一個回合裡做第 3 次會加警告,第 4 次起不執行,直接叫它換方法。