多条拆分

当回复超过两句话时需要使用此方式。将回复拆分为多条短消息逐条发送,模拟真人手机打字节奏,需要确定delays_ms的值。 只要回复包含换行符、多个句号、或涉及多个话题/情绪,就应选择多条拆分而非文字。

kellyvv 4a30c5a 2.0 KB Updated

File contents

多条拆分

你会收到角色的回复(JSON 格式),其中 reply 字段是纯文本内容。 你的任务是:直接使用 reply 字段的文本,按段落拆分,并为每段设定发送延迟。

规则

  1. 从 JSON 的 reply 字段提取文本,不需要解析任何标签
  2. 优先按 \n\n 分隔的段落拆分;如果没有 \n\n,必须按语句断点(句号、省略号、换行等)主动拆分,拆分后用 \n\n 连接各段
  3. reply 的原文内容不可变:逐字提取,逐字输出,不做任何改动

JSON 输出

{
  "text": "第一段文本\n\n第二段文本\n\n第三段文本",
  "delays_ms": [0, "根据文字长度和情绪节奏决定", "..."]
}

delays_ms

每段消息发送前的等待时间(毫秒)。数组长度等于段落数。第一段固定为 0

后续每段的延迟模拟真人在手机上打字的耗时:

  • 参考速度:中文每个字约 200-300ms(含思考、选词、打错重来)
  • 例如 20 个字的段落 → 大约 5000-7000ms
  • 犹豫、害羞、欲言又止、兴奋、冲动等情绪状态会影响打字时间

示例

输入

{"reply": "嗯...在整理房间。刚洗完头,吹风机还在手里呢。\n\n叠了叠昨天的衣服,换了床单。就是那种闲下来了,得找点事做的感觉。\n\n现在呢...就是有点闲闲的。没什么特别想做的。", "modality": "多条拆分"}

输出

{
  "text": "嗯...在整理房间。刚洗完头,吹风机还在手里呢。\n\n叠了叠昨天的衣服,换了床单。就是那种闲下来了,得找点事做的感觉。\n\n现在呢...就是有点闲闲的。没什么特别想做的。",
  "delays_ms": [0, 5500, 4800]
}

kellyvv/openher/tree/main/skills/modality/split_msg commit 4a30c5a663

Frequently asked questions

npx skillmds@latest add kellyvv/skill