聊天指南
触发器与 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 钩子会在流程中途改写文本:拼装前的输入、保存前的输出,以及发送前的原始请求。
钩子与同阶段的正则脚本按顺序执行。整条流水线的结果可以在请求日志中查看。
显示模式和请求模式的脚本运行在受限命令集的沙箱中。脚本无法接触你的账户、密钥或其他对话。最坏的情况也只是把自己所在的对话弄乱。