Skip to content

聊天设定 JSON 格式

用于导入导出完整聊天设定。

一份聊天设定可以同时包含:

  • 变量字段定义
  • 消息规则
  • 提示词注入

顶层结构

json
{
  "version": 1,
  "name": "聊天设定名称",
  "stateFieldDefinitions": [],
  "regexEntries": [],
  "promptInjectionEntries": []
}
字段类型必填说明
versionnumber固定为 1
namestring聊天设定名称
stateFieldDefinitionsarray变量字段定义数组;省略时等价于空数组
regexEntriesarray消息规则数组;省略时等价于空数组
promptInjectionEntriesarray提示词注入数组;省略时等价于空数组

组合规则

何时优先用完整聊天设定 JSON

  • 同时涉及变量字段、消息规则、提示词注入
  • 希望 AI 一次生成可直接导入的完整方案
  • 需求里既包含“要求 AI 按某格式输出”,又包含“解析 AI 输出并更新状态”

这类场景下,默认应优先输出完整聊天设定 JSON,而不是拆成多个局部列表 JSON。

最小示例

json
{
  "version": 1,
  "name": "选项菜单",
  "regexEntries": [
    {
      "title": "列表项转可点击链接",
      "search": "- (.+)",
      "replace": "- [$1](rengeguan://chat/send?text=$1)",
      "sourceType": "character",
      "targetChannels": ["user"]
    }
  ],
  "promptInjectionEntries": [
    {
      "title": "要求 AI 输出选项列表",
      "depth": 0,
      "conditionType": "none",
      "template": "<instruction>在每次输出最后必须额外增加 1~4 个以 - 开头的选项。</instruction>"
    }
  ]
}

完整示例

json
{
  "version": 1,
  "name": "好感度系统(自报增量)",
  "stateFieldDefinitions": [
    {
      "id": "affection",
      "displayName": "好感度",
      "type": "number",
      "visibility": "visible",
      "minValue": 0,
      "maxValue": 100,
      "defaultValue": 50
    }
  ],
  "regexEntries": [
    {
      "title": "解析增量并更新好感度",
      "search": "【好感\\+(\\d+)=(\\d+)】",
      "replace": "$0{{set affection=affection+Match1}}",
      "sourceType": "character",
      "targetChannels": ["user"]
    },
    {
      "title": "解析减量并更新好感度",
      "search": "【好感-(\\d+)=(\\d+)】",
      "replace": "$0{{set affection=affection-Match1}}",
      "sourceType": "character",
      "targetChannels": ["user"]
    },
    {
      "title": "把显示数字校正为当前实际值",
      "search": "(【好感[+-]\\d+=)\\d+(】)",
      "replace": "$1{{affection}}$2",
      "sourceType": "character",
      "targetChannels": ["user", "character"]
    }
  ],
  "promptInjectionEntries": [
    {
      "title": "要求 AI 自报增量格式",
      "depth": 0,
      "conditionType": "none",
      "template": "<instruction>当好感度发生变化时,必须在消息末尾输出 `【好感+N=变化后的值】` 或 `【好感-N=变化后的值】`,N 为变化量。</instruction>"
    }
  ]
}

常见错误

  • 把变量字段写成 fields,而不是 stateFieldDefinitions
  • 把消息规则数组写成 entries,而不是 regexEntries
  • 把提示词注入的 condition 错写成内部模型名 conditionPattern
  • 把提示词注入的 regexCaseSensitive 错写成内部模型名 isRegexCaseSensitive
  • 把“要求 AI 按某种格式输出”的需求写进说明文字,却没有实际生成 promptInjectionEntries

AI 生成约束

  • 默认优先输出一整份聊天设定 JSON。
  • 若需求同时涉及状态、解析规则、提示词要求,不要拆成多份局部 JSON。
  • 只有用户明确要求局部编辑时,才退回输出 stateFieldDefinitions / regexEntries / promptInjectionEntries 之一的列表 JSON。