Skales 評測:一個不開源、卻在 GitHub 上發佈的桌面 AI 代理
Personal AI desktop agent for Windows, macOS, Linux, Android & iOS. Set a goal, it works on its own. Teams (pair two desktops, agents + humans), Agent2Agent, Workflows, Codework, multi-agent orgs, desktop + browser automation. 15+ AI providers, BYOK. No Docker, no terminal. Agent Skills (SKILL.md). Migration importer. Recurring autonomous tasks.
秒懂
- 它是什麼?
- Skales 把自主代理包成雙擊即用的桌面與手機應用,支援 15 家以上模型供應商與 Ollama 離線執行。但這個倉庫裡簽入的原始碼是凍結的 v7 快照,與實際出貨的版本無關,採用前必須先弄清楚你買到的是什麼。
- 適合誰用?
- 如果你要的是一個不碰 Docker、不開終端、能直接讀取本機檔案與瀏覽器的自主代理,Skales 的下載與安裝路徑確實比多數同類專案短,手機配對與 Ollama 離線模式也讓它在隱私導向的使用情境中有位置。但這個倉庫不是它的原始碼:README 明講簽入的樹是凍結的 v7 快照,不維護、不建置,也不等於你機器上跑的東西,所以任何以「讀原始碼」為前提的採用評估在這裡都不成立,你只能審視二進位檔與它對外的行為。
- 可以商用嗎?
- 請先確認。這個儲存庫使用的授權不在我們自動分類的範圍內,商用前請閱讀儲存庫中的 LICENSE 檔案。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 5 天前。
- 用什麼語言寫的?
- 主要是 TypeScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
Skales 賣的不是代理框架,是免設定
多數自主代理專案的入口是一份安裝文件:裝 Python、拉 Docker 映像、設環境變數、填 API key。Skales 把這一整段拿掉。README 的說法是「One-click install. No Docker, no terminal.」,下載頁直接給 Windows、macOS(Apple Silicon 與 Intel 分開)、Linux 四個安裝檔,手機端走 Google Play 與 App Store。第一次啟動不需要金鑰,內建的 Skales IQ 是免費試用,之後才要你自備 15 家以上供應商的金鑰,或改用 Ollama 完全離線。
這段設計的目標讀者寫得很直白:「made for everyone from 6 to 60+」。這句話同時是賣點也是警訊。它意味著專案在互動設計上會往降低門檻傾斜,而不是往可組合、可腳本化、可嵌進 CI 的方向走。如果你的團隊習慣用命令列把代理接進既有流程,Skales 的定位和你的期待是錯開的。反過來說,如果你要的是讓不寫程式的人也能把重複性工作交出去,這個取捨是合理的。
它解決的問題具體來說是:把「代理能碰本機資源」和「使用者不需要懂系統」這兩件事同時成立。瀏覽器分頁裡的助理碰不到你的資料夾,而碰得到資料夾的框架通常要求你會寫設定檔。Skales 想站在中間。
倉庫是發佈通道,不是原始碼
這是評估 Skales 時第一件必須搞清楚的事,而且它寫在 README 最上方:「closed source under BSL 1.1」、「the checked-in source is a frozen v7 snapshot, not the code that ships」。倉庫裡有一棵 TypeScript 原始碼樹,預設分支是 main,但那段程式碼不維護、不建置,也不等於使用者機器上執行的版本。目前的發佈版是 v12.9.26,代號 Grip,與 v7 之間隔了五個主要版本。
對工程讀者來說,這改變了整個評估方法。你無法追蹤資料流、無法確認工具呼叫的權限邊界、無法檢查代理在什麼條件下會把檔案內容送出本機。README 在隱私段落主張「Your files never leave your machine.」,但這個主張只能從二進位檔的對外行為去驗證,不能從程式碼去驗證。倉庫真正承載的是 releases、CHANGELOG 與 issue tracker,README 自己也是這樣描述的。
這不是罕見做法。商業桌面軟體用公開倉庫當發佈與回報管道很常見。但把它放進「開源專案評測」的框架裡就會失真:這個專案不是開源專案,它是一個採用 Business Source License 的閉源產品,剛好把倉庫開在 GitHub 上。後面談到的所有機制都只能根據 README 與 release notes 的描述,不能當成已驗證的實作細節。
桌面、手機、配對:三個執行位置如何分工
README 把 Skales 的介面拆成十一個位置,其中與架構最相關的是 Chat、Code、Cockpit、Mobile 與 Skales Pocket。從描述可以看出兩種部署型態並存。
第一種是手機驅動桌面。README 寫「Pair via QR and your phone drives this desktop's full tool set」,意思是手機當遙控端,實際執行工具、存取檔案與瀏覽器的是那台已配對的桌面機。這個模式下,代理的能力上限等於桌面的能力上限,手機只是輸入輸出端。
第二種是手機獨立執行,README 寫「or run the phone standalone」。獨立執行時能碰到什麼,README 沒有交代,這是文件明顯偏薄的地方。Android 與 iOS 的檔案系統權限模型和桌面差很多,瀏覽器自動化在行動端也不是同一回事。如果你打算只用手機跑代理,這部分需要自己實測,不能從文件推論。
Code 模式是另一個具體機制:「/code binds a folder to any chat, with inline diffs and one-click undo」。綁定資料夾、在對話裡顯示 diff、提供單步復原。這個設計把代理的寫入範圍限制在明確綁定的目錄,比讓代理自由走訪整個檔案系統安全得多,但它同時表示 diff 與 undo 的正確性就是這個功能的全部價值所在,而這只能實際跑過才知道。
目標與技能:兩種不同的自動化粒度
Skales 提供兩種把工作交出去的方式,粒度不同,適合的場景也不同。
第一種是目標導向。README 的例子是 `/goal build me a trading bot`,描述為「runs in the background across many steps and picks up where it left off」。關鍵在最後那句:跨多步、可在中斷後續跑。這表示執行狀態必須被持久化到本機,否則關上筆電再打開就接不回來。README 也提到 Recurring autonomous tasks,週期性任務應該走同一套狀態機制。
第二種是 Agent Skills,對應的檔案是 SKILL.md。這和目標導向是相反方向:目標導向讓模型自己拆解步驟,Skills 則是把可重複的能力預先寫成檔案,讓代理按既定方式執行。README 沒有說明 SKILL.md 的欄位格式、載入優先順序,或它與 MCP 的關係,只把 mcp 列在 topics 裡。
這兩者混用時的邊界也看不出來。當一個 /goal 任務在執行過程中需要某項技能,代理是自動載入還是需要事先指定,文件沒有回答。對要長期維運的人來說,這個問題比功能列表重要,因為它決定了出錯時你要去哪裡找原因。
安裝、匯入與第一次執行
安裝路徑依照 README 與下載連結如下。桌面端從 skales.app 取得對應安裝檔,網址形式是 /download/latest-windows、/download/latest-mac-arm64、/download/latest-mac-intel、/download/latest-linux。手機端是 Google Play 的 app.skales.mobile 與 App Store 上的 Skales。沒有 Docker 映像,沒有命令列安裝步驟。
從其他工具轉過來的人,README 指向一個匯入器:Settings > Import from Another Tool。文件點名支援從 OpenClaw、Hermes Agent、ChatGPT 匯入,但沒有說明匯入會搬移哪些東西,是對話歷史、供應商金鑰、還是自訂指令。這在實務上差別很大,金鑰匯入牽涉到憑證存放位置,建議先確認再按下去。
金鑰與供應商的設定在 Settings and Add-Ons 底下。可選路線有三條:用內建的 Skales IQ 試用、自備 15 家以上供應商之一的 API key、或指向本機的 Ollama 完全離線。第三條是唯一能同時滿足「不付費給模型商」與「內容不出機器」的組合,但 README 沒有給出 Ollama 的連線位址設定方式或建議模型規格,這部分要自己摸。
第一次真正該做的事是跑一個會被中斷的任務。開一個 /goal,讓它跑幾步,然後關掉應用或重開機,看它是否照 README 所述從中斷處接續。這個測試同時驗證狀態持久化與任務恢復,比讀任何功能列表都有用。
授權與維護成本的實際形狀
授權是這篇評測裡最需要小心陳述的部分。README 寫的是 closed source under BSL 1.1,並說 free for personal use。但倉庫的 license 欄位顯示 NOASSERTION,兩者並不一致。BSL 1.1 通常會指定一個變更日期,之後轉為某個開源授權,而 README 沒有提到變更日期,也沒有說明「personal use」的具體範圍:幾台機器、能不能在公司內部使用、能不能用來產出商業交付物。這些問題在文件裡沒有答案。
這不是法律意見,只是提醒:團隊採用前應該直接到 skales.app 確認當前的授權條款,而不是以倉庫頁面上的標示為準。個人評估用途下這個問題不大,一旦涉及多人或商用,條款差異會直接影響能不能用。
維護成本則呈現另一種形狀。因為原始碼不開放,你無法自行修補或分支,只能等上游發版。從 release 節奏看,v12.9.21 到 v12.9.25 相隔一天,v12.9.25 到 v12.9.26 相隔三天,代號分別是 Cockpit 2.0、Backbone、Grip。這種密度表示功能推進快,也意味著行為可能在短時間內改變。對把代理接進日常工作流的人來說,這代表升級前要先看 CHANGELOG,而不是讓它自動更新。相對地,你不必負擔依賴升級、建置環境或 CI 的維護工作,這部分成本由廠商吸收。
什麼時候該選別的方案
最直接的替代品是 OpenClaw,README 自己把遷移來源列為 OpenClaw、Hermes Agent 與 ChatGPT。這三者被放在同一個匯入器裡,代表 Skales 認為使用者會從這些工具轉過來。差異在取捨方向:Skales 用免安裝換掉可審計性,用內建試用換掉自己組裝供應商的彈性。如果你的需求是能在程式碼層確認代理行為、能自己改工具實作、能把代理嵌進既有服務,那麼一個原始碼可讀的框架會比 Skales 合適,即使它要求你先裝 Docker。
另一個對照是純本機推論路線。Skales 支援 Ollama,但它本身不是推論引擎,是坐在推論引擎上面的代理層。如果你的目標只是在本機跑模型、不需要代理去操作檔案與瀏覽器,那直接使用 Ollama 加上既有的前端就夠了,中間多一層代理只增加變數。
Skales 真正難被取代的地方是跨裝置。桌面與手機配對、手機獨立執行、WhatsApp 與 Telegram 觸達,這組組合在同類專案裡不常見。README 的定位也很清楚:讓代理在你離開電腦之後繼續工作,而且用你本來就在用的通訊軟體回報。這是它的差異點,不是它的功能數量。
反過來說,如果你的工作流程需要確定性、需要可重現的執行紀錄、需要對每一步做審計,那 Skales 的自主程度反而是負擔。它被設計成「hand it a goal and close the lid」,而這個描述本身就排除了逐步確認。
編輯結論
如果你要的是一個不碰 Docker、不開終端、能直接讀取本機檔案與瀏覽器的自主代理,Skales 的下載與安裝路徑確實比多數同類專案短,手機配對與 Ollama 離線模式也讓它在隱私導向的使用情境中有位置。但這個倉庫不是它的原始碼:README 明講簽入的樹是凍結的 v7 快照,不維護、不建置,也不等於你機器上跑的東西,所以任何以「讀原始碼」為前提的採用評估在這裡都不成立,你只能審視二進位檔與它對外的行為。授權是 BSL 1.1,README 說個人使用免費,但倉庫的 license 欄位顯示 NOASSERTION,兩者不一致,商業或團隊部署前必須先到 skales.app 確認實際條款,並在 Settings > Import from Another Tool 匯入既有設定後,先跑一次 /goal 這類多步任務,確認中斷續跑與工具權限範圍符合你的預期。
社群筆記