Mini App SDK
Mini App 是 Cowork 在自己的分頁裡開啟的網頁。Cowork 會在頁面裡加入一個全域物件 window.MAESTROSDK,頁面透過它和 Cowork 溝通。本章列出這個物件裡 Cowork 支援的模組及其中的每個函式,格式與方法參考相同。
發布狀態
標有 尚未發布 的函式已在 Cowork 的原始碼裡,但還沒有進入已發布的版本。呼叫前先檢查函式是否存在(見 檢查可用的功能)。
模組
| 模組 | 函式 | 用途 |
|---|---|---|
| 生命週期 | beforeRefresh(handler) | 有人重新整理分頁時保住尚未儲存的工作 |
| 互動 | confirm(request) | 用原生對話框問使用者一個是 / 否的問題 |
| 模型 | llm.providers() · llm.complete(request) | 使用 Cowork 已設定好的某個 AI 模型 |
| 套件 | package.get() | 讀取這個 Mini App 所屬的套件,以及它帶有哪些 Extension |
| 登入 | auth.login(params?) · auth.status() | 用這個人的 Micromeet 帳號登入(僅限已簽章的封裝) |
要做一個用 Micromeet 帳號登入的 Mini App,請從開發登入 Mini App開始。打包 Mini App 並交給 Micromeet 簽章,請見打包與簽章;封裝必須符合的全部規則請見封裝規範。
除了 beforeRefresh,每個函式都回傳 Promise,而且遇到預期內的失敗都不會拋出錯誤:各自依所在章節的說明,回傳 false、null、空清單或 { ok: false, error }。
這個物件還有一個 connectors 模組(root、list、agentMdPath、readAgentMd、writeAgentMd、onAgentMdChange)。Cowork 不支援它:它的函式回傳空結果、{ ok: false, reason: 'unsupported' },或拋出 unsupported。不要在 Cowork 的 Mini App 裡使用它。
Mini App 資料夾 尚未發布
在 0.1.41 裡只有 Cowork 內建的 Mini App;你無法安裝自己的 Mini App。從下一個版本起:
miniapp/
manifest.json { appId, name, version, entry }
index.html the entry page
app.js app.css anything else it loads, by relative path從 Cowork 0.1.46 起檔名是 manifest.json;更早的版本讀 miniapp.json,還有人在用舊版時請同時保留一份這個名字的副本。Mini App 也可以是已簽章的封裝(app.asar):請見打包與簽章。
| 欄位 | 類型 | 必填 | 說明 |
|---|---|---|---|
appId | string | 是 | 反向網域格式的 id,小寫,例如 ai.micromeet.janeapp-operator;最多 128 個字元。分頁為 miniapp:<appId> |
name | string 或 { zh, en } | 是 | 分頁和選單裡的名稱;最多 60 個字元 |
version | string | 是 | 最多 32 個字元 |
entry | string | 否 | 入口頁面,資料夾內的相對路徑,最多 256 個字元。預設 index.html |
extension | string | 否 | 只用於單獨安裝的 Mini App:其中一個資料夾,放著它唯一的 Extension。套件裡的 Mini App 不填 |
- 頁面以相對路徑載入,並使用 hash 路由(
#/page)。 - 每個 Mini App 有自己的儲存空間(cookies、
localStorage),與網頁分頁和其他 Mini App 分開。解除安裝時會清除。 - 以套件的一部分安裝,與它的 Extension 和技能一起:見 擴充能力總覽。
檢查可用的功能
const sdk = window.MAESTROSDK;
if (sdk && sdk.package && typeof sdk.package.get === 'function') {
const info = await sdk.package.get();
}在較舊的 Cowork 上,還沒有的模組就是不存在;這時向使用者顯示一段簡短說明,不要直接失敗。
相關
- Extension SDK 同一個套件裡的 Extension 可以呼叫什麼
- Mini App Cowork 內建的 Mini App
- 擴充能力總覽 該做哪一種擴充