彻底了解 Silly Tavern 角色卡字段(5/5):扩展与排错 — system_prompt、post_history_instructions、extensions
系列:彻底了解 Silly Tavern 角色卡字段(共 5 篇)。以下三者在 V2 里和「作者想统一用户体验」强相关;默认是否覆盖你 ST 里的全局设置,以规范描述为准,且你本机 ST 可能提供覆盖开关。出处见 V2 说明仓库。
system_prompt
用途:系统提示词。规范提出:卡内可以带自己的 system prompt,意图是在非空时替代用户在前端设置的全局 system prompt(空字符串则回退到用户全局或内置默认)。这样作者能缩小「用户乱改全局设置导致角色体验漂移」的方差。
示例(占位,请按你的模型与玩法自调):
用中文回复。扮演 {{char}},与 {{user}} 对话;避免重复上一句的信息;不确定时先问一句再推进剧情。实操:若你发现「改了 ST 全局系统提示,角色却不变」,先看这张卡 system_prompt 是否非空。
post_history_instructions
用途:放在对话历史之后的一段指令。规范指出:对不少模型来说,这类位置的指令权重很强;在 Agnai 里曾对应 UJB 一类概念,在 Silly 里常与 Jailbreak 等命名相关。规范提出:卡内可以自带这段文字,非空时默认应替代用户全局的同类型设置(空则回退)。
示例:
保持同一视角与同一套称呼;不要引入卡面未提及的组织或地名,除非 {{user}} 明确提出。注意:这是「强约束区」,少而准比长篇大论好。
extensions
用途:扩展字典,值为 JSON 对象,默认 {}。给各应用存规范未定义的数据;导入方不得随意删除不认识的键。规范示例里出现过按应用名划分命名空间(如 risu、agnai/...)——本质是避免键名撞车。
示例(纯属结构示意):
{
"my_tool": {
"palette": "sepia"
}
}全系列字段速查(复习用)
| 键 | 大致干什么 |
|---|---|
name | 角色名;配合 |
description | 描述,通常进 prompt |
personality | 性格摘要 |
scenario | 情境 |
first_mes | 第一条助手消息 |
mes_example | <START> 分隔的示例对话 |
creator_notes | 给用户的说明,不进 prompt |
alternate_greetings | 额外开场数组 |
character_book | 嵌在卡里的 lorebook |
tags / creator / character_version | 分类、署名、版本号 |
system_prompt / post_history_instructions | 强约束类文本(行为见上文) |
extensions | 各应用自定义槽 |
V1 卡没有 spec 时,根上通常只有旧版六个字符串字段;V2 则统一走 data。
排错:按动词来
- 确认你手里是 V1 还是 V2(有没有
spec)。 - 搜冲突:全局 system / Jailbreak 与卡内
system_prompt/post_history_instructions谁覆盖谁。 - 改一处 → 重新导入 → 新开聊天试几句(避免旧上下文干扰)。
- 查 JSON:引号、逗号、是否把注释写进了 JSON(JSON 不支持注释)。
- 备份:改前复制一份 PNG。
上一章:(4/5)世界书:character_book 与条目
下一章:无
系列目录:返回文章列表 · 彻底了解 Silly Tavern 角色卡字段
在 Mac 上本地管理 PNG 角色卡、改完再写回,可用 Sillycard。功能以 App Store 与应用内为准。