Extension
Extension 是一個程式碼包,在自己的後臺程序裡執行。在 0.1.41 裡,它註冊 Connector:在外部渠道和 Cowork 的 Gateway 之間收發訊息的那一端。聲明瞭瀏覽器權限,它還能讀、操作它列出的網站的網頁。
怎麼上線
- 把包放進
<Cowork 主目錄>/extensions/packages/<name>/,或者在 設定 › 擴充套件 裡用 從本機目錄安裝 把一個資料夾複製進去。 - 設定 › 擴充套件 裡顯示它在等批准。這時裡面什麼都不會執行。
- 你批准並開啟開關。Cowork 啟動它的程序,呼叫它的
activate函式。 - 資料夾裡任何檔案變了,都要重新批准。
包裡有什麼
| 檔案或資料夾 | 內容 |
|---|---|
package.json | name,必須和資料夾名相同(小寫字母、數字和連字元);version;description;pi.extensions,只列一個入口檔案;以及 Cowork 段,宣告 connectors、capabilities、origins、platforms |
入口檔案,比如 index.mjs | 匯出 activate(api),對每個宣告的 Connector 調 api.registerConnector(...) |
<Cowork 主目錄>/extensions/logs/<name>.log | Extension 寫的日誌;檔案由 Cowork 寫 |
<Cowork 主目錄>/extensions/data/<name>/ | Extension 自己的資料資料夾,它的程序就在這個資料夾裡執行 |
能宣告什麼
| 項 | 意思 |
|---|---|
connectors | 它要註冊的 Connector ID。註冊沒列出的 ID 會被拒絕 |
capabilities | browser 操作網頁;audio(需要 browser)採集網頁的聲音;platform-gate-v1 才能用 platforms |
origins | 有 browser 時必填:它能用的確切網站,1 到 20 個,比如 https://example.com |
platforms | 它支援的電腦:darwin-arm64、darwin-x64、win32-x64 |
Connector
一個 Connector 有一個 id 和三個函式。start(ctx) 啟動它:連線、定時器在這裡開,不要放在 activate 裡;限時 5 秒。stop() 調多次也要安全;限時 5 秒。send(reply) 把一條回覆送到渠道;限時 30 秒。通過 ctx,Connector 把收到的訊息交給 Cowork(ctx.emit)、寫日誌(ctx.log),有瀏覽器權限時用 ctx.browser。
限制
- 只有你能批准 Extension,AI 不能。
- 批准只對你批准時的那些檔案有效。改一個位元組就要重新批准。
- 一個包最多 200 個檔案、5 MB。不安裝 npm 包和
dependencies。 - 程序崩潰後,Cowork 稍等一會兒自動重啟它。
- 0.1.41 裡 Extension 不能給 AI 加工具或命令。要給 AI 新的做事方法,寫 Skill。
相關
- 擴充套件 安裝、批准、開啟一個 Extension
- Gateway 外部渠道訊息 Connector 的訊息去哪
- Injection Extension 在網頁裡執行的腳本