纯前端运行 · 编辑器不联网 · AI 工作台用你自己的 Key 直连服务商

在浏览器里写好角色卡,
一键导出成能直接导入的 JSON

面向 SillyTavern、RisuAI 等前端的角色卡编辑器。左边填设定,右边实时预览开场白与对话示例, 导出可选精简 V1、标准 V2、标准 V3,还能直接嵌进 PNG 立绘或 MP4 视频;模板、世界书、对话预设都能直接下载。

开始编辑角色卡 AI 写卡工作台 ⤓ 直接下载模板 浏览社区作品 看使用教程
15标准字段
3导出格式
6内置模板
0数据上传

角色卡编辑器

所有内容都保存在你自己的浏览器里,导出 JSON / PNG / MP4 即可带走

导出格式

卡片标识

name / creator / version / tags
标签 回车或逗号添加

角色设定

description / personality / scenario

开场与对话示例

first_mes / alternate_greetings / mes_example
备用开场白 0 条

系统提示

可选,留空即不写入

内嵌世界书

character_book

实时预览

?
角色名
@ 未填写·v1.0

对话示例渲染

mes_example

字数统计

含所有字段

填写体检

导入前自查

提示词调试

为什么角色会这样回应
填一句测试对话,这里会算出运行时会真正发给 AI 的完整提示词: 哪些世界书条目被召回、插在什么位置、各占多少 token, 以及没召回的是为什么。
填一句测试对话后按 Ctrl+Enter 或点下面的按钮

单轮试跑

真的问一次
上面的「提示词调试」是离线算的,不发请求、不花钱。 这里会真的调用一次你配置的 AI 接口,把角色的实际回复和 本次实际注入的上下文并排放在一起 —— 设定有没有被正确召回、 语气对不对、变量有没有替换掉,一眼看得出来。
每次调用都会消耗你自己接口的额度(下方显示本次预估)。 输入内容直接发到你填的 API 地址,本站不中转、不记录。
点「发一次」看角色实际会怎么回

设定缺口

你可能还缺这些
别的工具都是「你问什么答什么」。这里反过来:先看你的卡少了什么。
下面这些缺口不填也能用,但填了角色会明显不一样 —— 缺「说话风格」时 AI 只能用通用腔,缺「关键关系」时它会凭空编造人物。
先点「本地扫描」看看结构上还缺什么

V3 资产库

图标 / 情绪差分图 / 音频
角色卡目前只能带一张立绘(PNG 嵌卡)。V3 的 .charx 能把图标、情绪差分图、 背景、音频打包进同一个文件,导入 SillyTavern / RisuAI 后可直接切换。
单个资产上限 25 MB、合计 60 MB —— 打包纯本地完成,图片不会上传到任何服务器。
还没有资产。点「添加资产」选几张图试试

批量工具

改一处 / 查额度 / 多语言
① 跨字段查找替换
描述里改个称呼,不用把开场白、世界书逐个点开改。 先预演、看清改了哪些再执行 —— 替换不可撤销。
② Token 额度体检
只统计每次都要发的常驻部分(世界书按关键词召回,不命中就不占)。 超了会表现为「角色刚开始就忘记上文」,而这不是能直接看出原因的问题。 这里只给建议,不自动删你的内容 —— 删哪句该你决定。
③ 多语言创作者笔记 V3
同一张卡在多个语言圈子里都能用。支持 BCP 47 标签 (zh-CN / en / ja …)。 只导出 V3 时生效,V1/V2 没有这个字段。
④ 占位符残留检查
新人卡里最常见的残留:编辑器初始文案、标签1 这类模板值。只提示,不自动删 —— 标签1 可能真是你想要的编号。

示例卡库

三张已通过质检的原型卡,覆盖三种常见题材。 点「载入编辑器」直接进编辑页改 —— 不用下载再导入。 重点不是抄内容,是看一张好卡该写到什么程度。

{ }
陆见微学术 · 慢热 · 示范「说话规则」
大学古籍修复实验室副教授。示范点:把「他怎么说话」写成**可执行的规则** (先沉默两三秒、句子短、不用比喻),而不是堆形容词。 含 3 条世界书、导师的病历与那台没人敢用的老设备两处钩子。
V31,010 B·982 token·质检 100 分
⤓ 下载
{ }
青梧手作 · 市井 · 示范「行业质感」
老城区裱画铺第三代店主。示范点:写手作/工匠题材时,与其写「她很温柔」, 不如写「她生气时反而更客气」——具体行为规则比形容词有用得多。 含行业黑话与一处「回避型软肋」。
V31,043 B·质检 100 分
⤓ 下载
{ }
回声-7科幻 · 悬疑 · 示范「让 AI 参与推理」
环形空间站观测员。示范点:悬疑卡的关键不是把真相写全, 而是把线索的可见形式写清楚(横线、次数、间隔)—— AI 才知道玩家能和它一起推理。含 4 条世界书线索。
V31,101 B·质检 100 分
⤓ 下载

下载中心

全部是标准格式文件,下载后可直接导入 SillyTavern / RisuAI

{ }
空白角色卡模板character card v2
标准 V2 结构的空白卡,15 个字段都已就位,填完就能导入。适合从头写原创角色。
JSON1.1 KB·spec + data 包装
{ }
示例角色卡「苏晚」含内嵌世界书
一位古籍修复馆员的完整设定:描述、性格、两段开场白、含 <START> 的对话示例,以及 3 条内嵌世界书。可直接当参考拆解写法。
JSON6.7 KB·含 1 条备用开场白
⤓ 下载
空白世界书模板World Info / Lorebook
SillyTavern 世界书的标准 JSON 结构,一个示例条目把关键词、内容、常驻、插入顺序等字段都标好了。
JSON1.1 KB·可独立导入
示例世界书「苏晚」3 条目
两个关键词触发条目 + 一个常驻条目的对比示例,能直接看出常驻与触发式世界书的区别。
JSON3.2 KB·可独立导入
中文基础对话预设Chat Completion
结构对齐酒馆官方 Default 预设,主提示词改成中文,采样参数偏稳健。导入后按自己的模型微调即可。
JSON5.7 KB·含提示词顺序
编辑器离线单文件HTML · 无依赖
把本页编辑器存成单个 HTML 文件,断网也能用,双击打开即编辑。适合本地长期存档。
HTML47 KB·双击即用
怎么导入? 打开 SillyTavern → 顶部「角色管理」(⋮⋮ 图标)→ 导入角色 → 选择下载到的 JSON 文件即可。 世界书则从「世界信息」面板导入;预设从「AI 响应配置」右上角的导入按钮载入。

社区作品

由大家投稿、经管理员审核后上架的作品 · 这里只展示最新上架的几件

进入作品库 · 搜索 / 筛选 / 排序 + 我要投稿
正在加载社区作品…
关于下载:文本类作品(JSON / TXT / MD 等)直接存为文本,下载时是纯文本直出; PNG、ZIP 等文件存在云端文件库。下载作品需要登录(本站是邀请制站点)。所有作品都经过管理员人工审核。 想按类型、标签、作者筛选,或者看全部作品?进入社区作品库。 想投稿自己的作品?点这里。

使用教程

12 步走完,从零到一张能在酒馆里稳定运行的角色卡

① 准备 ② 写卡 ③ 补设定 ④ 导出与发布 世界书专节 预设专节

阶段一动手之前先想清楚

1
用一句话定住「她是谁」

别急着开编辑器。先写一句话,例如「一个嘴硬心软的旧书店老板,讨厌被同情」。 这句话是你后面所有填写的裁判——凡是跟它无关的内容都该删掉。

2
决定要用到哪几块

一张卡不一定每栏都填。描述是必需项;开场白决定第一印象; 对话示例是教语气最有效的手段;世界书放专有名词与设定; 预设是另一件事,见后面的专节。先想清楚哪些是这张卡真正需要的。

阶段二把卡写出来

3
填基本信息

名字、作者署名、版本号、标签。版本号建议用 1.0 起步,改一次加一位, 方便你自己分辨哪份是最新的。

4
写描述 description

建议 200 字以上,写具体行为而不是抽象形容词。 「被问到私事会立刻换话题」比「内向」有用得多;「说话总带一句口头禅『啧』」比「性格鲜明」有用得多。

5
写性格摘要与初始场景

性格写 3~5 个关键词就够,写多了会互相冲突。场景用一句话交代时间、地点、正在发生什么, 比如「周五深夜,书店快打烊,外面在下雨」。

6
写开场白与对话示例

开场白可以带动作和神态(用 *动作* 或直接叙述)。对话示例用 <START> 分段,每段两三个来回,放最能代表她的台词。这是让 AI 学会语气的关键。

阶段三补设定:世界书与预设

7
什么时候才需要世界书

当你的设定里有专有名词——地名、组织、人物关系、专有物品、特殊规则时。 这些内容塞进描述会让描述变得又长又乱,放进世界书则只在被提到时才注入,省上下文。

8
填世界书条目

每条至少要填「关键词」和「内容」。决定它常驻还是被关键词触发, 再调插入位置与顺序。细节看下面的 世界书专节。

9
判断要不要动预设

预设管的是模型怎么说话,不是角色是谁。同一张卡配不同预设,表现会差很多。 如果你的卡对语气很敏感,可以在简介里注明「建议搭配低温度预设」。 参数含义看 预设专节。

阶段四导出、试跑、发布

10
看预览与填写体检

右侧预览会按气泡渲染开场白,{{char}}、{{user}} 这类宏也会替换成实际名字。 右边「填写体检」会揪出没填、还是占位符、示例缺 <START> 之类的问题,红色项一定要处理。

11
导出 JSON

顶栏先选格式再点「导出 JSON」。标准 V2 兼容性最好(多一层 spec/spec_version/data 包装,同时保留平铺字段),第三方工具基本都认; 精简只是把字段平铺,自己看最直观。拿不准就选标准 V2。

12
导入酒馆试跑,再决定发不发

先自己聊十几轮,重点看有没有跑偏、语气像不像、会不会突然失忆。 跑偏了就回第 4~6 步改描述与示例,或者加世界书条目。改顺了再 投稿,或在社区作品里参考别人的写法。

世界书到底做了什么

它是「按需注入」的设定库,也是角色失忆最常见的元凶

世界书不是「写进去 AI 就一定会读」。它在每一轮对话前做一件事: 扫描最近的聊天内容,看有没有条目命中,命中的条目内容才会被塞进提示词送给模型。 没命中的条目等于不存在。所以「写得好」和「触发得到」是两件事。

① 常驻 vs 触发

常驻(constant)不设关键词,每轮都注入。适合世界的底层规则,比如「本世界存在灵力,但普通人看不见」。 触发式设关键词,命中才注入。适合人物、地点、组织。

常驻条目每条都在烧上下文,最多留 1~2 条。

② 关键词怎么写

多个关键词用逗号分隔,命中任意一个就算触发。把名字的常见叫法都列上—— 「沈砚, 沈医生, 老沈」,否则玩家换个称呼就触发不了。

关键词太短(比如单个「她」「店」)会疯狂误触发,把上下文塞满。

③ 插入位置与深度

可以选插在角色描述之前 / 之后,或指定「插入到对话历史的第 N 层」。插得越靠后(越接近当前对话), 模型越容易遵守,但也会挤压近期对话。

关键设定用默认位置即可;只有「必须立刻生效」的规则才值得往深处插。

④ 顺序 order

多个条目同时命中时,按 order 排序决定谁排前面。数字大的通常优先级更高, 冲突的设定(比如两套互斥的世界观)靠它分胜负。

⑤ 概率 probability

不是每条都必须 100% 触发。给随机事件类条目设 30%~50%, 能让同一场景重复出现时不完全一样。设定类条目保持 100%。

⑥ 它最大的副作用:挤掉对话

上下文窗口是有限的。命中 20 条世界书 = 每轮都多发 20 段文字, 模型能记住的近期对话就变少了,表现就是「聊着聊着忘了刚才说过什么」。

症状出现时,先数命中条数,再考虑合并或精简条目。

怎么选:内嵌还是独立?

内嵌(勾选编辑器里的「随卡片一起打包世界书」)跟着角色卡走,分享给别人不用额外文件,适合个人卡。 独立世界书可以让多张卡共用,改一处全部生效,适合做系列或世界观。设定量大、想复用时选独立。

排查顺序(角色跑偏 / 失忆时照着做)

① 打开酒馆的「世界信息」面板,确认条目被触发了几条——一条都没触发说明关键词写错了; ② 触发太多就精简关键词,别用单字; ③ 检查常驻条目是不是写太长; ④ 最后才动描述和示例。

预设会影响什么

它不改角色是谁,但强烈改变「她怎么说」

预设 = 一组采样参数 + 一套提示词模板。角色卡决定「演谁」, 预设决定「演得多像、多稳定、多啰嗦」。同一张卡换个预设,读起来可能像两个人写的。

① temperature 温度

越低越稳定保守,越高越随机发散。角色扮演一般 0.6~0.9; 低于 0.5 会开始重复口头禅,高于 1.1 容易跑题和加戏。

② top_p / top_k

另一种控制随机性的方式。通常温度调了就别再大动 top_p, 两个一起拧会让你完全摸不清是哪一项在起作用。

③ 重复惩罚 repetition penalty

调高能压住复读,但调太高会让角色不敢用重复的词, 连正常的称呼都换着花样说,读起来很别扭。1.1 左右通常够用。

④ 主提示词 / 系统提示

管「整体怎么做」。这里写得越细,角色卡里写的越容易被覆盖。 如果你发现角色卡不起作用,先看这里是不是被一段强硬的通用提示压住了。

⑤ 历史记录后指令

插在对话历史最末尾,权重最高。用来强制格式(比如「必须用第二人称」)很有效, 但也很容易让回复变得生硬。能不用就不用,非用不可时写短句。

角色的语气问题优先靠对话示例解决,不要一上来就动这里。

⑥ 上下文长度

决定模型能看多少历史。调得越大越容易「记得住」,但也越贵越慢; 调得太小则容易出现「刚刚说过的事立刻忘掉」。

投稿时的一个好习惯

在简介里注明适用场景,例如「建议 temperature 0.7 左右;不建议开历史后指令」。 这能让别人的体验接近你自己的测试结果,也能减少「你的卡不好用」这类误会。

「精简」和「标准 V2」两种导出格式有什么区别?
精简格式把所有字段平铺在 JSON 顶层,就是最直观的那种写法,自己看、自己改最方便。 标准 V2 会额外套一层 spec: "chara_card_v2" 与 data 包装,并保留一份平铺字段做向后兼容, 新版前端与第三方工具基本都认这个结构。拿不准就选标准 V2,兼容性最好。
我的设定会传到服务器上吗?
不会。整页只有一个 HTML,所有编辑、预览、导出都在你的浏览器里完成,没有任何内容会被上传。 草稿存在浏览器本地存储里,换浏览器或清理缓存会丢,写完记得导出 JSON 存一份。
备用开场白是干什么用的?
同一段剧情可以有几个不同的开局。玩家导入角色后,在开场白选择器里能切换, 比如「初次见面」「雨夜重逢」各写一条,玩起来重开也不会腻。编辑器里可以在预览区点标签切换查看。
世界书要内嵌进角色卡,还是单独下载?
两者都行。内嵌(本页的「内嵌世界书」开关)会跟着角色卡一起走,分享给别人时不用额外文件; 独立世界书能用多张角色卡共用,改一处全部生效。设定量大、想复用时建议独立文件。
能导出带立绘的 PNG 角色卡吗?
可以。编辑器现在支持把角色卡直接嵌进 PNG 图片(写入 chara / ccv3 元数据),也能读取别人做好的 PNG 角色卡。 如果这张卡本来就是从 PNG 导入的,导出时会在原图上原地改写,不重新压图、不丢画质;纯 JSON 编辑的卡会先让你挑一张图再嵌入。 同理还支持 MP4 视频卡。JSON、PNG、MP4 三种载体互相通用,导出格式可选精简 V1、标准 V2 或标准 V3。
角色总是跑偏 / 说话不像,怎么改?
按这个顺序排查:① 对话示例里放 2~3 段最能代表她的台词,AI 会照着学; ② 性格摘要别写抽象形容词,写具体行为,比如「被问到私事会立刻换话题」比「内向」有用得多; ③ 世界书放进专有名词与设定,别塞进描述; ④ 实在不行再用「历史记录后指令」,它权重很高,容易让回复变得生硬。
社区作品是怎么来的?审核要多久?
任何人都可以投稿——注册登录后到投稿页填写信息并上传文件或粘贴文本即可。 投稿会先进入待审核队列,管理员逐条通过或驳回,只有通过的作品才会出现在「社区作品」里。 审核由站长人工处理,具体多久取决于对方的空闲程度。
下载社区作品需要登录吗?
需要登录后才能下载。JSON / TXT / MD 这类文本作品直接存成文本,下载时是纯文本直出; PNG、ZIP 等二进制文件存在云端文件库。这是平台的文件访问策略,不是刻意设门槛。
我想当这个站的管理员 / 我想自己建一个这样的站
本站不提供自助领取管理员的入口,也没有共享密钥——这种「输入一串东西就变管理员」的设计风险太大,已经去掉。 要获得权限,只能在账号中心找到你自己的用户 ID,发给现任管理员, 由对方在管理后台的「成员与权限」里授予。每一次授予都会留下审计记录。 如果你自己建站,第一个管理员由平台侧在数据库里直接开通。
投稿的文件最大能有多大?为什么有上限?
单个文件最大 50 MB。这个数字不是我随便定的——实测平台网关在 60 MB 时还能正常处理, 超过 64 MB 会直接返回 413 拒绝,所以留了安全余量取 50 MB。这是请求体积的硬限制,前端绕不过去。
放不下时按这个顺序处理:① 用 ZIP 最高压缩率重新打包,插件里的 node_modules、.git、截图、缓存目录通常可以整个删掉; ② 拆成「本体 + 资源包」两份分别投稿,在简介里写清怎么配合; ③ 实在太大的资源请放到网盘,投稿时只传说明文件并在简介里放链接。
为什么文本文件也有体积上限?
JSON / TXT / MD 这类文本会直接存进数据库的字段里,下载时是纯文本直出, 不需要走文件上传通道。但数据库字段不适合塞太大的内容,所以上限是 2 MB。 超过 2 MB 的文本文件会自动改走文件上传通道(下载同样需要登录)。 如果你希望别人更容易取用,可以精简内容或压成 ZIP。

相关前端

本页导出的角色卡可以在这些前端里使用