把动态角色逻辑讲清楚
Janitor AI Scripts 使用与排错指南(2026)
讲清 Janitor AI Scripts 的作用、与提示词和 Lorebook 的区别、安全添加与测试流程,以及脚本不生效时的排查方法。
阅读约 13 分钟
快速回答
这篇指南主要讲什么
Janitor AI Scripts 是附着在角色内容中的条件 JavaScript 逻辑,通常通过支持脚本的 Lorebook 条目运行。它可以读取当前聊天状态并在回复生成前追加上下文,但不等于 Advanced Prompt、普通 Lorebook 条目或永久聊天记忆。一次只测试一个脚本,先读完整源码,在临时聊天里查看 debug 变化,并保留可恢复的原始角色副本。
- 快速答案:Janitor AI Script 到底做什么
- Script、Advanced Prompt、Lorebook 与 Chat Memory 的区别
- 先判断这个 Script 是否值得添加

一篇真正有用的 Janitor AI Scripts 指南,不能只贴一段代码,而应回答:代码什么时候执行、会修改什么、如何验证、出错后怎样撤回。Script 可以让角色根据关键词、消息轮数或剧情状态作出动态反应,但直接复制看不懂的大型社区文件并不是合理起点。
本文采用不依赖固定按钮名称的流程,因为 Janitor AI 的界面与字段可能变化;同时与完整 JanitorAI Lorebook 指南分开,后者解决条件世界事实,而本文只讨论可执行逻辑。
快速答案:Janitor AI Script 到底做什么
Script 是在 Janitor AI 受限环境中执行的 JavaScript 逻辑。它读取允许访问的聊天或角色上下文,并在下一次模型回复前向指定字段追加说明或事实。常见用途包括:某个短语出现后触发反应、到达指定轮数后推进场景、依据格式化状态值追加规则。
它不是普通浏览器插件,也不能天然等同于永久数据库。不要假设脚本可以访问网络、设备文件或持久存储。任何第三方代码如果宣称拥有这些能力,都应在当前官方文档明确支持前视为不兼容或可疑。
Script、Advanced Prompt、Lorebook 与 Chat Memory 的区别
Advanced Prompt 是持续生效的文风或行为指令;普通 Lorebook 条目是由关键词或条件调出的预写事实;Chat Memory 是对已发生剧情的紧凑连续性记录;Script 则是在生成回复前运行条件逻辑。
只需要静态场景指令时,用角色扮演提示词模板;关系进度丢失时,用Janitor AI Chat Memory 指南;只有普通字段无法表达规则时,才增加代码。
先判断这个 Script 是否值得添加
先用一句话写清想要的结果,例如“第 12 条消息之后,揭示车站灯光正在失效”。然后判断普通 scenario、lore key 或 summary 能不能完成。如果可以,优先使用更简单的层级。Script 带来测试和维护成本,因此收益必须能被观察。
适合第一次测试的脚本只有一个 trigger 和一段很短的输出。一个文件同时修改 personality、格式、记忆、随机事件与状态追踪时,回复异常也无法知道是哪部分造成的。
复制社区代码之前的安全检查
阅读完整源码,而不是只看作者截图。检查它是否说明用途、读取哪些 context、修改哪些字段,以及如何移除。没有可读源码的压缩代码或故意隐藏逻辑不适合作为角色内容。
不要把真实姓名、账号资料、私人对话、地址或 access token 放进角色字段和测试消息。沙箱会限制能力,但 prompt 内容仍会进入聊天系统。涉及敏感场景前,应同时查看平台当前控制与 LumiChat 隐私指南。
不依赖固定 UI 的安全设置流程
- 先复制或导出角色,保留可恢复原件。
- 打开当前角色编辑器,按照现行 Janitor AI 帮助中心找到 Script 或支持脚本的 Lorebook 控制。
- 一次只粘贴一个可读脚本,不合并多个未测试文件。
- 用能说明单一用途的名称保存。
- 新建临时 Test Chat,不在重要长期对话中直接试验。
- 打开当前可用的 debug 或 changes 视图,分别发送触发与不触发消息。
- 移除脚本并重复消息,确认行为回到基线。
按钮具体叫什么不如证据重要:你应当知道哪段内容发生变化、哪条消息触发它,以及怎样恢复原角色。
初学者应理解的三类脚本模式
第一类是 keyword gating:检查最近消息里是否出现有区分度的短语,再追加一段世界反应。第二类是 message-count gating:只有达到指定轮数才引入剧情节点。第三类是可见 status block:解析规定格式的数值,再追加下一阶段规则。
这些是理解模式,不是适配所有角色的万能文件。角色名、context 字段和 API 必须符合当前 Script 文档。条件要可读,要防止字段为空,用追加而非覆盖保护基础角色文本,并控制注入内容长度。
如何真正测试,而不是凭感觉判断
建立四格测试:包含 trigger、不含 trigger、相同意思但不同措辞、fresh chat。测试前先写下预期追加内容。一次正向成功不够,反向用例才能证明脚本没有每轮乱触发。
刷新后重复测试。如果状态依赖模型按固定格式复述,还要测试 status block 缺失或损坏的情况。模型生成的状态具有概率性,因此“成功过一次”不能证明它是可靠持久存储。
Janitor AI Script 不工作怎么排查
先查语法:逗号、引号、括号缺失,或使用受限 JavaScript 能力,都可能让执行停止。再查 context guard 与字段名,复制的代码可能针对旧界面。最后查激活逻辑:关键词太宽会乱触发,完全匹配又可能漏掉自然变体,消息阈值也可能与 fresh chat 不一致。
脚本执行但回复忽略时,缩短注入文本,并移除与角色卡、scenario、Advanced Prompt、活动 lore 的冲突;同时启用多个脚本时,只保留一个。AI 角色编辑器指南提供了先建立干净字段基线的方法。
常见故障现象与下一步
“完全没反应”通常指向语法、挂载、激活或不支持的 API;“每轮都发生”说明条件太宽;“角色性格突然变了”可能是脚本覆盖或强烈冲突了基础卡;“状态总是重置”说明设计依赖了环境不保证的持久性。
不要用更多 prompt 文本同时修四种问题。回到最小脚本,检查 changes,只证明一个 trigger。能解释的短脚本,远比状态来源不明的大型系统可靠。
什么时候直接角色聊天更合适
如果搭建逻辑本身就是爱好,Scripts 很有价值;如果目标只是选择一个完成角色并开始场景,它就是额外成本。LumiChat 提供托管角色页与直接聊天路径,无需导入代码或配置 provider,也能先判断对话风格是否适合。
这是工作流取舍,不是“任何情况下谁都更好”。想工程化条件系统就继续使用 Janitor AI;设置正在拖延第一句话时,可以打开一个 LumiChat 角色,用同一段开场做无脚本对照。
FAQ
Janitor AI Scripts 是什么?
它是在 Janitor AI 受限环境中执行的条件 JavaScript,读取允许的 context,并在模型回复前追加信息。
Script 等于 Advanced Prompt 吗?
不等于。Advanced Prompt 是静态指令文本;Script 会判断条件,只在特定轮次改变追加内容。
Script 等于 Lorebook 吗?
不等于。普通 Lore 条目保存预写事实;Script 增加逻辑,虽然平台可能通过支持脚本的 Lorebook 结构呈现它。
Script 能创建永久记忆吗?
不要默认可以。脚本可能从可见或编码的模型输出重建状态,但依赖模型持续复述正确格式。
粘贴社区 Script 安全吗?
只有在你能读懂源码、解释使用的字段、用临时聊天测试并恢复原角色时,才适合使用。
为什么 Script 每条回复都触发?
关键词或条件通常过宽。换成有区分度的短语,并增加一条必须不触发的反向测试。
为什么复制的 Script 突然失效?
它可能包含语法错误、受限能力或旧版 context 字段,应按当前文档测试最小代码块。
初学者一定要用 Scripts 吗?
不需要。只有普通角色字段、Lorebook 或 Memory 摘要无法表达目标行为时,才值得承担脚本维护成本。
继续体验
进入 LumiChat,开始真实角色聊天
浏览在线角色,选择适合你的人设与场景,立即开始对话。
继续阅读
AI 角色编辑器指南
AI Character Editor 指南:编辑、测试与导出角色卡
从字段职责、格式兼容到六轮对话测试,系统优化一张真正可用的 AI 角色卡。
聊天记忆指南
2026 年 Janitor AI Chat Memory 指南:摘要模板、提示词与遗忘修复
判断哪些信息该放进 Chat Memory、Persona、最近对话或 Lorebook,并实际验证角色是否记住。
AI 聊天指南
角色扮演提示词:六要素 AI 角色模板与例句
可直接套用的六要素角色扮演提示词模板,包含例句、纠偏方法和角色聊天测试。
世界记忆指南
JanitorAI Lorebook 世界书指南(2026):创建、导入与修复世界记忆
Lorebook 是按条件提供的世界知识,不是无限长期记忆。好条目在准确 key 出现时注入一个相关事实;坏条目要么每轮都触发,要么永远不触发。
