什么是开放能力?
开放能力是平台注入到 代码块 中的一组宿主函数。代码块通过这些函数请求聊天页面执行明确允许的操作,而不是直接访问聊天页面本身。
所有开放能力函数都只能写在代码块中调用。目前开放的能力如下,每个能力有单独的教程:
| 函数 | 作用 | 教程 | 酒馆助手兼容 |
|---|---|---|---|
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 拒绝
- 代码块的写法、展示效果与运行环境限制,见 什么是代码块?