跳到正文

適用版本:Cowork 0.1.45 · 適用於所有 Cowork 使用者

檢視 Markdown

服務對話 ​

尚未發布

背景任務可以把一批檔案交給一個 AI 對話,由它讀取這些檔案,並用 Extension 宣告的工具採取行動。這個對話會像其他對話一樣顯示在 Cowork 裡,使用者可以跟著看。

dozin.agent ​

欄位類型必填說明
briefstring是套件裡的一個 .md 檔案:對話的指示
model{ id, effort? }否要使用的模型;effort 為 max、xhigh、high、medium 或 low
toolsstring[]否對話可以使用的業務工具,最多 8 個。Cowork 目前還沒有可提供的工具,所以先不要填
secretstring否這些工具使用的 dozin.secrets 中的一個 env

ctx.agent.handoff(input) 尚未發布 ​

名稱類型必填說明
input.titlestring是對話標題;超過 120 個字元的部分會被截掉
input.filesstring[]是dataDir 內的 1–50 個檔案,相對或絕對路徑
input.summarystring否這批內容是什麼;超過 4000 個字元的部分會被截掉

回傳值 ​

Promise<HandoffResult>,在對話結束時解析。

欄位類型說明
status'completed' | 'failed' | 'stopped' | 'timeout' | 'cancelled' | 'model_unavailable'結束的方式
submittednumber對話提交的項目數。目前在 Cowork 裡永遠是 0:它沒有可用來提交的業務工具
failednumber失敗的項目數。目前在 Cowork 裡永遠是 0
sessionIdstring開啟了對話時,該對話的 id
errorstring出了什麼錯

錯誤 ​

promise 會以一個錯誤拒絕,其 code 為:

code意思
AGENT_NOT_DECLAREDpackage.json 裡沒有 dozin.agent
BAD_REQUEST缺少 title,或 files 為空或超過 50 個
FILE_NOT_FOUND有檔案不存在、是資料夾,或資料資料夾不存在
FILE_OUTSIDE_DATA有檔案在 dataDir 之外,或是連結
AGENT_BUSY已有一個對話在執行,且已有一個在等待
NOT_AVAILABLE這個 Cowork 裡無法使用服務對話
RUN_ENDED發出這次呼叫的那次執行已經結束

每個任務同一時間只執行一個對話,另外最多一個可以等待;其餘的會被拒絕。

示例 ​

js
await ctx.writeJson('batches/0001.json', changedPatients);
const result = await ctx.agent.handoff({ title: 'Patients changed', files: ['batches/0001.json'], summary: '3 patients' });
ctx.status(`Handoff ${result.status}`);

相關 ​

適用於 Micromeet Cowork 0.1.41 · build 261111110020