Skip to content

什麼是開放能力?

開放能力是平台注入到 程式碼區塊 中的一組宿主函式。程式碼區塊透過這些函式請求聊天頁面執行明確允許的操作,而不是直接存取聊天頁面本身。

所有開放能力函式都只能寫在程式碼區塊中呼叫。目前開放的能力如下,每個能力有單獨的教學:

函式作用教學酒館助手相容
setChatInput(text, option?)把文字填入扮演或指導輸入框setChatInput:填寫聊天輸入框/setinput(triggerSlash)
setChatMessages(updates, option?)切換開場白版本setChatMessages:切換開場白同名函式

開放能力會持續擴充,後續陸續開放更多函式。

呼叫方式與錯誤處理

所有開放能力函式都回傳 Promise:成功時 resolve;參數校驗失敗、操作失敗或逾時(10 秒)時 reject。不需要自己組裝 postMessage 訊息,直接呼叫函式即可。

建議逐項做能力檢測,並始終處理 Promise 拒絕:

js
if (typeof window.setChatInput === 'function') {
  try {
    await window.setChatInput('要填入的內容');
  } catch (error) {
    console.error(error.message);
  }
}

小提示

  • 呼叫開放能力前先做能力檢測,並始終處理 Promise 拒絕
  • 程式碼區塊的寫法、顯示效果與執行環境限制,見 什麼是程式碼區塊?