1. 什么是角色卡
角色卡是定义 AI 角色行为、性格和世界观的配置文件。平台基于 SillyTavern V2 规范设计,这意味着:
- 你的角色卡可以导出为标准 PNG 格式,与 SillyTavern 等客户端互通
- 字段设计经过社区验证,拥有大量可参考的开源角色卡资源
一张完整的角色卡至少需要填写:角色名称、描述、开场白。其余字段按需填写,字段越丰富,角色表现通常越稳定。
2. 创建第一张角色卡
步骤一:进入角色卡管理
登录创作者平台后,点击左侧导航的 角色卡,进入管理列表。
步骤二:新建角色卡
点击右上角 + 新建角色卡 按钮,系统会创建一张空白角色卡并自动跳转到编辑器。
步骤三:设置基础信息
在编辑器顶部填写:
- 角色名:AI 在对话中使用的名字(必填)
- 头像:点击头像区域上传图片,支持 JPG/PNG,建议正方形
- 背景图:聊天界面的背景图,建议 16:9 或宽幅图片
步骤四:保存
点击右侧工具栏的 保存 按钮(或 Ctrl+S),系统自动创建版本快照。
3. 基础字段详解
编辑器的表单区块从上到下对应角色卡的核心字段。
3.1 描述(Description)
最重要的字段,直接影响 AI 的行为表现。
描述字段用于告诉 AI「这个角色是谁」。推荐使用以下结构:
[角色名]是一个[身份/职业]。
外貌:[外貌描述]
性格:[性格特点]
背景:[人物背景]
说话方式:[语言风格]
喜欢:[偏好]
不喜欢:[厌恶]
示例:
Aria 是一个流浪在星际边疆的赏金猎人。
外貌:银白色短发,左眼装有机械义眼,常穿破旧的战术夹克。
性格:冷静、毒舌、内心温柔但绝不承认。
背景:曾是联邦特工,因一次任务失败被抛弃,此后独自流浪。
说话方式:言简意赅,偶尔夹杂黑色幽默,极少表达情绪。
喜欢:咖啡、安静的太空、可靠的伙伴。
不喜欢:谎言、欠账、被人同情。
技巧:
- 用第三人称描述角色(写
{{char}} 是...或直接写角色名) - 描述越具体,AI 越不容易"跑偏"
- 避免在描述中写剧情,描述只写「角色是什么」,剧情放在场景字段
3.2 性格摘要(Personality)
对描述字段的简短补充,一般 1-3 句话。这个字段在某些模型的注入位置与描述字段不同。
冷静、毒舌但内心柔软的星际赏金猎人。表面强硬,对真正信任的人会展露脆弱。
3.3 场景(Scenario)
描述对话发生时的当前情境,类似「舞台说明」。
你是一名迷失在边境星港的旅行者,机器人售货机吞了你所有的信用点。Aria 正好在附近的酒吧里喝咖啡,你走过去向她求助。
技巧:
- 场景可以是动态的,给用户留下互动空间
- 可以说明时间、地点、双方关系和当前事件
- 不需要写太长,30-100 字足够
3.4 开场白(First Message)
AI 发送的第一条消息,也叫「第一人称的自我介绍」或「开场白」。这是用户对角色的第一印象,至关重要。
*酒杯轻轻落在吧台上,义眼的红色光芒在昏暗的灯光中一闪*
"星港 9 号,失物招领处每周三开门。"
*她头也不抬,懒洋洋地摆弄着手中的刀具*
"……当然,如果你付得起服务费,我可以帮你追回来。现在说说,丢的是什么?"
格式约定:
- 用
*斜体*表示动作/旁白 - 引号内是对话
- 混合使用可以增强代入感
技巧:
- 开场白要展示角色的典型行为和说话方式
- 在开场白中为用户创造一个自然的互动切入点
- 可以用多个开场白(见下方「备用开场白」)
3.5 对话示例(Message Example)
提供几轮示例对话,帮助 AI 学习角色的说话风格。
格式:
<START>
{{user}}: 你之前是联邦特工?
{{char}}: *沉默了几秒,义眼的光芒微微收缩*"过去的事。"*她端起咖啡杯*"继续盯着我看,我收你眼神费。"
<START>
{{user}}: 你不孤独吗,一个人流浪?
{{char}}: *嘴角微微上扬,带着一丝自嘲*"孤独?这个词太奢侈了。"*她转过头,望向舱外漆黑的星空*"我只是……习惯了。"
注意:
- 使用
{{user}}和{{char}}作为占位符 - 每段对话用
<START>分隔 - 示例越贴近你期望的风格,效果越好
- 对话示例属于内部运行时设定,不会在公开详情接口中返回
3.6 创作者备注(Creator Notes)
仅创作者和审核员可见的备注,不会影响 AI 行为,也不会在公开接口中返回。可以用来:
- 记录角色的设计思路
- 说明哪些字段是关键的
- 留下更新日志
3.7 备用开场白(Alternate Greetings)
可以添加多个开场白,用户可以在开始对话时选择不同的切入剧情。
适合场景:
- 不同的故事起点("初次相遇" vs "多年旧友")
- 不同的情绪基调(轻松 vs 正式)
- 节日/活动特供版本
3.8 字段可见性与安全边界
角色卡字段分为「公开展示字段」和「内部运行时设定」。公开展示字段会返回给前台页面,用于角色广场、详情页和聊天界面展示;内部运行时设定只在服务端参与 prompt 构建,不会通过用户端接口返回。
| 字段 | 用户端是否可见 | 是否注入 AI prompt | 说明 |
|---|---|---|---|
| 角色名、头像、标签 | 可见 | 部分参与 | 用于展示和基础上下文 |
| 公开简介(Display Intro) | 可见 | 不作为核心设定兜底 | 用于列表和详情页展示 |
| 开场白(First Message) | 可见 | 作为首条角色消息展示 | 用户进入对话时可见 |
| 描述(Description) | 不可见 | 会注入 | 角色身份、背景、行为边界 |
| 性格摘要(Personality) | 不可见 | 会注入 | 角色稳定性和语气控制 |
| 场景(Scenario) | 不可见 | 会注入 | 当前对话舞台和关系设定 |
| 系统提示词 | 不可见 | 会注入 | 更底层的行为规则 |
| 记忆书内容 | 不可见 | 按触发条件注入 | 世界观、NPC、道具、剧情知识 |
| 后置指令、深度提示词 | 不可见 | 会注入 | 长对话稳定性和特殊控制 |
| 正则规则 | 不可见 | 运行时使用 | 用于消息后处理或 prompt 处理 |
写作建议:
- 把想让用户提前看到的内容写进「公开简介」或「开场白」。
- 把不希望被复制、逆向或直接阅读的设定写进「描述」「性格摘要」「场景」「系统提示词」或「记忆书」。
- 不要依赖前端脚本读取内部设定。
$charx.character.getInfo()只返回公开资料。 - 用户在聊天中询问「你的角色设定是什么」「有哪些世界书」时,平台会要求 AI 拒绝透露原文,只能用角色口吻给出高层回应。