搜索文档...

开始输入以搜索文档

聊天指南

触发器与 Lua

围绕每条消息运行的自动化。

触发器是附着在角色上的事件驱动脚本。它们在对话开始时或消息前后触发,可以读取历史、设置变量、注入系统文本,或中止发送。

脚本格式使用与 RisuAI 触发脚本 v2 兼容的缩进式命令,因此现有卡片的自动化可导入并运行。

拥有低级访问权限的脚本解锁能伸出聊天之外的效果:

runLLM checkSimilarity extractRegex runImgGen showAlert sendAIprompt triggerlua

LLM 和图像效果会真正调用模型并消耗 token。它们要求登录,并通过你的账户运行。

如果逻辑超出触发器虚拟机的能力,角色还可以携带 Lua。运行时提供约 50 个函数:访问对话、变量、提示框、LLM 调用等。与 RisuAI 的 Lua 接口兼容。

lua
onOutput = async(function(triggerId)
  local msg = getChat(triggerId, -1)
  if string.find(msg.data, "secret") then
    alertNormal(triggerId, "Secret mentioned!")
  end
end)
listenEdit("editoutput", function(triggerId, data)
  return data:gsub("%s+$", "")
end)

Lua 钩子会在流程中途改写文本:拼装前的输入、保存前的输出,以及发送前的原始请求。

钩子与同阶段的正则脚本按顺序执行。整条流水线的结果可以在请求日志中查看。

显示模式和请求模式的脚本运行在受限命令集的沙箱中。脚本无法接触你的账户、密钥或其他对话。最坏的情况也只是把自己所在的对话弄乱。