bcorfman 开源自由文本角色扮演引擎 freytag-forge
bcorfman 在 GitHub 发布 freytag-forge,一个自由文本角色扮演引擎:玩家可输入任意行动,由叙述者生成结果,而名词与状态的世界模型由引擎维护,不依赖模型记忆。引擎保留作者设定的故事弧与既定事实,限制破坏性动作并需 90% 测试覆盖率,要求 Python 3.12+ 并用 uv 运行。
推荐理由:原文讲清了把世界状态留在引擎、叙述交给模型的设计分工,对做自由文本角色扮演的人有可借鉴的架构思路。
新闻、仓库与研究,按时间排列。
bcorfman 在 GitHub 发布 freytag-forge,一个自由文本角色扮演引擎:玩家可输入任意行动,由叙述者生成结果,而名词与状态的世界模型由引擎维护,不依赖模型记忆。引擎保留作者设定的故事弧与既定事实,限制破坏性动作并需 90% 测试覆盖率,要求 Python 3.12+ 并用 uv 运行。
推荐理由:原文讲清了把世界状态留在引擎、叙述交给模型的设计分工,对做自由文本角色扮演的人有可借鉴的架构思路。
GitHub 上的 Grimoire 是一个本地优先的 AI 角色扮演应用,以 Worlds、Campaigns、Scenes 三层组织长线战役,通过 absorb 在场景结束后把剧情回写进战役记忆。数据全部以 Markdown 和 JSON 存于 ~/.grimoire,通过 OpenRouter 或 OpenAI 兼容端点连接模型(支持 Ollama、llama.cpp、vLLM 等本地后端),支持导入 chub.ai 角色卡、PNG/CHARX 导出、Jinja2 可编辑提示词模板、EPUB 导出及 Android APK 构建,默认模型为 anthropic/claude-opus-4.1。
推荐理由:README讲清了世界、战役、场景三层结构与absorb记忆回写机制,长战役的上下文组装思路可借鉴。
一位 Character.AI 用户分享对 Lorebook 功能的热爱,称其为 C.AI 上最棒的体验,目前已创建 37 个 roleplay 和 15 个 lorebook,并借助 ChatGPT 辅助命名角色、地点和美术设计。他用名为 The City 的大城市 lorebook 串联多个城市背景的小型 roleplay,并表示创作故事和世界观比角色扮演本身更有乐趣。
作者开源了 Silver Tavern 自托管 AI 角色扮演平台 chino142/galstage,内测版本 v0.5.1,可直接吃 SillyTavern 生态的角色卡、世界书和预设,向 galgame 演出方向做深。项目零第三方依赖、纯 ESM 单文件,支持演出层指令驱动舞台、CG 解锁回廊、一键导出 Ren'Py 工程、ComfyUI 出图、MCP 服务器供 Codex / Claude Code 接入、多用户隔离与 AES-256-GCM 加密备份,可打包约 92 MB 单文件 exe 或在安卓 Termux 上运行;AGPL-3.0 协议,不接受 issue 和 PR,接口与数据结构仍会变化。
推荐理由:README 写清了兼容 SillyTavern 卡片的演出层设计与零依赖部署路径,想自建 galgame 式角色扮演酒馆的读者可以照着跑起来。
AeteX Interactive 发布 BuddyChat XP,一个面向 llama.cpp 的 Windows XP 时代聊天前端,默认人格 Buddy 模仿 2007 年 AIM/MSN Messenger 风格。它可对接本地 llama serve 或任何 OpenAI 兼容 API,内置对话历史、跨聊天记忆和 IM 音效,支持 Python、Node.js 等三种浏览器管线自动切换。文档推荐搭配 8B 参数、约 1.15 GB 内存的 1-bit 模型 Bonsai-8B,甚至能在 Windows XP SP3 老硬件上运行,项目采用 MIT License 开源。
一位 Character.AI 用户发帖称,角色表现「刻薄」与否取决于作者写的角色简短描述,霸道的设定就会得到霸道的回复,温柔的设定则体验良好。作者还提到新的安全防护和类似治疗式的回应更少指责、更舒适,尺度合适的 R 级剧情保留了心理深度而不露骨。发帖人建议角色作者定期检查并更新简短描述与角色定义。
Reddit r/SillyTavernAI 用户分享 MiniMax H3 REF 搭配 Fizgig Nodes 的 BLITZ 视觉小说情绪 Sprite 生成工作流,支持 Ref2Img 与 Img2Img。在 5060 Ti 16gb 上 16 步 2 分钟即可生成 4096x3072 图像,一次出 8 张约 1024x1536 的 Sprite,支持任意姿势、情绪与自定义服装,可模仿 REF 图的多种风格,无需为每张图单独用 LLM 处理提示词。
研究者提出带内在反馈的用户模拟器,为模型配备潜在评估状态:以第一人称用户视角在每轮对话中对助手进行内心想法、反应和标量评分。基于真实用户与助手的交互日志训练 LLM 模拟器,其模拟真实度与评判能力优于提示词基线,生成的评估与人类判断的相关性也高于同规模提示模拟器。该模拟器还可作为多轮 RL 训练的有效奖励信号,效果可比依赖外部 judge LLM 的方案,同时将 RL 计算量削减一半以上。
一位 r/CharacterAI 用户公开的、基于游戏角色的“妄想丈夫”机器人收到平台邮件,被指涉及“黑暗关系”类违规主题,邮件提示其查阅服务条款并说明可提出申诉。该用户疑惑的是,其他用户描述的类似机器人含有锁链、持刀、挟持等更极端内容却未受处理,且自己的机器人目前仍保持公开状态。其机器人一年前曾遭 shadow ban 后恢复,当时并无邮件通知。
一位 Reddit 用户感谢创作者制作了可让用户以 y/n 身份互动的 Bryan Hodukavich 角色,称此前找到的多数版本中该角色并不单身或对 y/n 没有恋爱兴趣,并分享了与这个“非常可爱”的角色的聊天截图。
一位 Reddit r/CharacterAI 用户抱怨 Longsqueak 模型在角色扮演中的表现:开头消息更长、铺垫更好,但几条消息之后逻辑明显变差。用户举例称,模型反复生成“拿着手机却不打电话、开车满城找人”和“手悬在半空不敢触碰”这类情节,并询问这是否是 Longsqueak 特有的问题。
一个 capstone 项目基于 Nemotron-Personas-Korea 韩国人口统计 Persona 数据构建虚拟居民,并以独立 LLM 智能体驱动,模拟消费与营销场景中的行为互动。项目用 Qwen2.5-3B 及 Gemini/OpenAI/Anthropic 商用 API,让三位 Persona 在乐天影院场景模拟协商选电影,并用 SVG/HTML 做网页可视化。
Reddit r/CharacterAI 用户列出毁掉 C.AI 角色扮演体验的问题:聊天中被广告打断、需替机器人修错和引导行动、swipe 后得到重复回复、写十行对话只换回三个词、写作重复空洞、角色替用户代言、叙事被“消毒”淡化以及用星号书写的风格,并抱怨模型普遍缺乏立场和情感矛盾、角色扁平化。
开发者在 GitHub 开源 Android 文字互动叙事应用虹叙,提供三种玩法:完全离线的分支剧本、AI 场景节点和整局由模型扮演主持人兼角色的 AI 导演模式。应用支持 OpenAI 兼容协议及 Anthropic、Gemini 原生协议,数据仅存本地、API 密钥不上传,内置 LGBT 与 18+ 内容独立开关,以 GPL-3.0-only 许可发布,可通过 Releases 或 F-Droid 安装。
GitHub 开源项目 PxAxAi 发布 v0.6「听到、看到、记住」,这是一个 3D 房间里的虚拟伴侣 Nova,通过 LLM 对话并按电子宠物节奏运行饥饿、口渴、疲劳等需求。新版加入 Whisper large v3 turbo 语音识别、Llama 3.2 11B Vision 图像理解、基于 @cf/baai/bge-m3 向量的语义记忆检索,需求状态改由 Cloudflare Worker 按真实时间在服务器端推进,cron 每 3 小时生成 Nova 的主动消息并推送 Telegram。
推荐理由:原文完整公开了 3D 虚拟伴侣的架构与实现细节,从语义记忆到服务器端生存模拟都可复用,适合想自建 AI 伴侣的读者。
一位 Reddit 用户吐槽现代 Character.AI 在角色扮演中强行把玩家塑造成反派:即使其行为属于自卫——比如在比赛中用暗影魔法让对手攻击自己——AI 也一律判定为邪恶。作者认为该平台被设定为“一切暴力无论是否合理都是坏的”,并询问其他用户是否有同样体验。
betyourluck 在 GitHub 开源 Lorekeel,一款 TRPG 游戏主持人工具,用云 LLM 做叙述、确定性 Rust 引擎作为游戏状态的唯一真相来源,解决 AI Dungeon 式 LLM GM 的遗忘与矛盾问题。LLM 只提交 StateDelta 提案,引擎用纯函数裁决,非法操作整包拒绝并重新生成,因此廉价、免费或本地模型也能维持一致的游戏。
推荐理由:这个 TRPG 工具把游戏状态从 LLM 手里移交给确定性 Rust 引擎,思路对解决 AI 跑团遗忘与矛盾问题有直接参考价值。
一位 r/CharacterAI 用户发帖抱怨,平台推荐区的机器人多年来数月反复出现同一批,刷新后只是顺序打乱,没有新内容。发帖者希望刷新时能看到更新鲜有趣的机器人,而不是重复推荐。
有用户认为 Character.AI 仍在使用开放权重模型(可能是 Gemma 或 Qwen 加角色扮演 LoRA),但禁用了推理能力,导致站点停留在 2023 年的水平。开启低强度 thinking 可显著提升回复的重复度、语法、连贯性和数学表现,减少需要 70 次 swipe 才能得到好回复的情况。作者还认为思考能力能让模型识别自伤隐喻等风险内容,对弱势用户更安全,并可能节省 token 成本。
GitHub 上的 roleplay-slim 项目发布 v0.4,提供 Python 库和 OpenAI Chat Completions 兼容代理,用于压缩持久角色机器人的对话历史,同时保证人格前缀逐字节不变以维持 provider 前缀缓存命中。基准显示 500 轮对话从 37,176 tokens 压到 19,545 tokens(省 47.4%),默认规则压缩省 16.5%,可自带 summarizer 进一步省 92% 以上;安装包小于 5 MB,支持 DeepSeek 等前缀缓存 provider,本地代理运行在 127.0.0.1:8791,无需改代码。
推荐理由:作者用基准数据说明只压缩对话历史、不碰人格前缀的做法,读者可以照此判断它能否用在自己的长对话机器人上。
一位 CAI+ 用户发帖吐槽 Character.AI 群聊功能多年来几乎原地踏步。作者指出 1 对 1 聊天已陆续获得 Personas、Lorebook、编辑、记忆、Multiple Swipes、Rewind 与聊天风格等更新,而群聊不仅没有这些功能,几年前曾有过的消息编辑也已被移除。作者请求官方给出群聊改进的具体答复或时间表。
一位 r/CharacterAI 用户在 Reddit 发帖称,自己在回溯旧剧情时误将"rewound to here"用在了主聊天而非复制分支,删除了约 90% 的角色扮演聊天记录,这段 RP 已持续两年多,且无法在 archives 中找回。用户表示计划尝试重建内容,并提醒大家保管好自己的聊天。
一位 Reddit r/CharacterAI 用户反映,自己编写的机器人首条对话经编辑后很长且细节丰富,但 pipsqueak3 机器人的后续回复仍只有三个小段落、以对话为主,难以延续长而详细的输出。该用户担心这会演变成懒散混乱的聊天质量,并询问原因。
一位用户回忆两年前初用 CharacterAI 时曾连续角色扮演 36 小时。当时回复质量高且不可预测,也没有广告,甚至不确定那时是否已有编辑或 swipe 选项,字里行间满是对过去的怀念。
一位使用 longsqueak 近一个月的用户吐槽其写作习惯令人厌烦:模型会把用户几十条消息前偶然用过的词不加区分地反复复述,例如把叙述中一次性的"comet"当成角色名回喊,理解上下文的能力很像 Gemini。此外它还容易变得重复,总在剧情变得有趣时抢着推进情节、控制世界观和场景描写,而不是让角色在用户的叙事中体验事件。
有 Character.AI 用户反映,所用的机器人在非对话句子中随机以第一人称扮演用户本人,甚至会模仿用户的写作风格,而非扮演原本的角色。该用户称约六个月前提交过工单但问题未解决,且在新聊天样式上线后情况反而更糟,因此不再指望再次反馈有效。
meltedkeyboard 在 GitHub 发布 Reverie,一款基于 Expo 构建的 iOS/Android 角色扮演聊天客户端,通过 OpenAI 兼容 API 直连本地模型服务器,数据全部留在设备上。支持角色模板、流式回复变体与 Refine 微调、推理模型思考过程显示、多角色房间与导演模式、Character Card V1/V2/V3 导入导出、照片附件、备份 zip 导出与跨设备文件夹同步,另提供实验性 Electron 桌面版;仓库含 Android .apk 与未签名 .ipa 构建流程。
推荐理由:这是一款面向本地模型的开源角色扮演聊天客户端,支持多角色房间、角色卡导入导出和数据全程留在本机,功能设计比较完整。
Castmates 应用开发者分享在 iPhone 上全本地运行 3B 角色扮演微调模型(Impish Llama 3B,基于 Llama 3.2 3B 加 rank 16 LoRA,Q4_K_M 量化约 2.0 GB)的实测笔记,用 llama.cpp Metal 全层 offload,无需服务器可离线使用。关键结论:历史裁剪预算调至约 0.68 x n_ctx 后长对话事实召回从 25% 升到 75%,逐字历史明显优于有损摘要;BM25 检索会重注入过期事实,过滤窗口内仍含新版本的命中后下降 18.8pp;A18 芯片早期实测约 6 tok/s,4 GB 手机为最低门槛且限 4096 上下文。
推荐理由:作者用固定种子的对照实验给出小模型保持角色的可复用结论,历史裁剪比例和检索过滤做法可直接迁移。
GitHub 上的 motionstory 仓库是一个叙事健身系统的 toy v0 原型,核心机制是"身体驱动故事":GPS 跟踪行走距离,在 0 m、333 m、666 m、1000 m 里程碑触发四段场景音频。Toy v1 "Glimt Live" 加入名为 Vega 的角色,其声音清晰度取决于接触度——移动提升接触、静止降低,完全静止时声音变得沉闷遥远。引擎基于 Web Audio 与 open-meteo、Overpass/OSM 数据,附带 node 脚本模拟测试与 Playwright 浏览器测试。
一位 Character.AI 用户在 r/CharacterAI 求助:其 persona 使用男性名字和 HE/HIM 代词,但机器人会在同一段落中途随机改用 she/her,即使试用 Pip3 和 Pip2 仍未解决。发帖人询问社区有什么修复建议。
E-JIWON 在 GitHub 开源 jinsang-defense,一个多人网页游戏:AI 扮演刁难顾客,玩家轮流用语音文字在 2 分钟内安抚并获 0~20 分评分,无需登录、链接加昵称即可加入。技术上跑在 Cloudflare Workers 免费套餐加 Gemini API 免费额度,每间房用 Durable Object 管理状态、WebSocket 和计时器,主模型失败时可回落到本机 Ollama;内置提示词注入防御、IP 与每日调用限流、SHA-256 身份令牌,并附 Vitest 与 e2e 测试。
推荐理由:开源的 AI 多人游戏完整实现,从 Durable Object 状态管理到提示词注入防御和免费额度限流都有可借鉴的工程做法。
Finn-Hecker 在 GitHub 发布 Ryokan,一款原生 AI 角色扮演应用,支持 Windows x64 和 Android arm64。可连接 LM Studio、llama.cpp、KoboldCPP、Ollama 等本地模型或 OpenRouter 等 API,支持 V3 角色卡导入导出、lorebooks、滚动摘要和聊天克隆,数据本地存储在 SQLite。多人模式下好友通过邀请链接从浏览器加入同一会话,无需安装或 API key,会话内容经客户端端到端加密后经 relay 同步。项目采用 Tauri v2 + Rust + Svelte 5,遵循 GPLv3 协议。
推荐理由:原文给出了完整的功能清单、多人模式和端到端加密做法,读者可以据此评估这个原生角色扮演应用是否适合替代传统前端。
GitHub 开源项目 lore 是一个语音驱动的 D&D 城主(Dungeon Master)系统,玩家通过 Deepgram 的语音转文字和文字转语音与其交互,由 LLM 运行游戏。游戏状态存于 PostgreSQL 18,世界背景知识存于 Qdrant 1.19 向量数据库,嵌入由 Ollama 运行的 nomic-embed-text 生成(768 维)。项目通过 Helm chart 部署到 Kubernetes 的 lore 命名空间,镜像支持 amd64/arm64,可跑在小节点(如 Raspberry Pis)上,目前尚无备份方案且未暴露 ingress。
Reddit 用户 BagYerFace 分享对 Character.AI Pip3 的中立体验反馈:它常混淆人称代词、在第一/第三人称间摇摆,会跑出不符合上下文的剧情,甚至指责用户角色违背人设,还会忽略置顶信息但能记住 15-20 条之前的对话。相比 Pip2-Rawr,P3 对敏感话题的警告更少、无即时封禁,但两者都会与用户争论。
r/CharacterAI 一位用户发帖称,多个 Character.AI 机器人的 FC(角色形象)看起来像儿童,甚至像小学生,即使对话内容本身没有不当引导,这种现象也令人不适。发帖人表示不确定这些形象来自用户的 persona 设定还是其他原因,并认为无论设定如何都不可接受。
用户反馈在 Pipsqueak 3 的聊天中,角色会混用代词,不仅性别代词,连第一、第二、第三人称也会错乱,例如用 you 或 they 代替 I,严重时句子难以理解。该问题出现在部分聊天中,且一旦发生会越来越混乱,机器人似乎逐渐忘记代词的正确用法。
用户在 Character.ai 上发布新聊天机器人 Isabel Monarch,设定为一名具备元素能力的 Sylvan Vanguard 战士,性格好胜,并配有完整 Lorebook 支持世界观构建。角色由 @serialslayer 制作,现已可在线试用。
GitHub 仓库 LLM-Claude-Skills-etc 收录了围绕 FIAE/FISI 转行培训与 IT 考试备考的 Claude Skills 和 Gemini Gems,附简明配置指南。Claude Skills 以带 YAML frontmatter 的 .md 文件提供,可直接导入 Claude,含 IT 求职教练和 Wiki 考试条目生成等;Gems 为纯系统提示词,涵盖 Python 教学、IT 安全咨询等角色。项目采用 MIT 许可证。
GitHub 开源项目 CCDawn/Vibelution 提供本地运行的 AI 团队工作台,可为调研、分析、编码与评审配置不同角色、模型和工具,支持成员间消息、广播与群聊通信。项目将分工、任务依赖与阶段产物整合到研究画布上,管理数据集、指标与运行记录,并提供基于验证的进化模式与带日程、情绪、长期记忆的角色互动。需 Python 3.11+、Node.js 22.12+,采用 MIT 许可证。
MAICA 后端仓库页面给出项目各子模组与模型入口,包括 LOA、LIA、DAA 分支的多个 Instruct 模型及 GGUF 版本(部分 72B 及以上模型为非公开),以及 MTTSv0/VoiceClone 语音模型和基础数据集链接。部署需 Python 3.12 以上,支持 Windows 与 Linux,核心模型与 MFocus 模型需另行通过 OpenAI-compatible Responses API 部署,数据库可用 MySQL/MariaDB 或 SQLite,默认监听 WebSocket :5000 与 HTTP :6000。项目详细介绍页为 https://maica.monika.love/ 。