Skip to content

消息规则列表 JSON 格式

用于导入导出聊天设定中的消息规则列表。

顶层结构

json
{
  "version": 1,
  "regexEntries": []
}
字段类型必填说明
versionnumber固定为 1
regexEntriesarray规则条目数组

规则条目

regexEntries 中每个元素的字段:

字段类型必填说明
titlestring规则条目名称
searchstring正则表达式搜索模式
replacestring替换文本模板字符串
sourceTypestring来源类型:user / character / system。默认 character
targetChannelsarray of string去向通道数组,可选值:user / character / system / speech。默认 ["user","character"]
escapeNewlineOnlyboolean仅允许转义换行。默认 false
enabledboolean是否启用。默认 true
caseSensitiveboolean是否区分大小写。默认 false
globalboolean是否全局匹配。默认 true

最小示例

json
{
  "version": 1,
  "regexEntries": [
    {
      "title": "替换括号内容",
      "search": "(\\(.*?\\))",
      "replace": "",
      "sourceType": "character",
      "targetChannels": ["character", "system"]
    }
  ]
}

完整示例

json
{
  "version": 1,
  "regexEntries": [
    {
      "title": "无匹配时不操作",
      "search": "(\\(.*?\\))",
      "replace": "",
      "sourceType": "character",
      "targetChannels": ["character"],
      "enabled": true,
      "caseSensitive": false,
      "global": true
    },
    {
      "title": "好感度阶段判断",
      "search": "好感度(\\d+)",
      "replace": "{{if phase == \"序章\" && $1 < 30}}关系还很陌生{{elseif $1 >= 80}}关系非常亲密{{else}}关系一般{{end}}",
      "sourceType": "character",
      "targetChannels": ["character", "system"],
      "enabled": true,
      "caseSensitive": false,
      "global": true
    },
    {
      "title": "记录剧情阶段",
      "search": "进入(.*)阶段",
      "replace": "{{set phase=$1}}{{Match0}}",
      "sourceType": "character",
      "targetChannels": ["character", "system"],
      "enabled": false,
      "caseSensitive": false,
      "global": false
    },
    {
      "title": "阶段完成后截断当前回复",
      "search": "^\\[END\\]$",
      "replace": "$0{{command stop}}{{command delete}}",
      "sourceType": "character",
      "targetChannels": ["user"],
      "enabled": true,
      "caseSensitive": true,
      "global": false
    },
    {
      "title": "多行模板仅允许转义换行",
      "search": "^状态$",
      "replace": "{{if phase == \"序章\"}}序章\\n继续推进{{else}}其它阶段\\n继续推进{{end}}",
      "sourceType": "user",
      "targetChannels": ["character"],
      "escapeNewlineOnly": true,
      "enabled": true,
      "caseSensitive": true,
      "global": false
    }
  ]
}