[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-77814":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":11,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":8,"pushedAt":8,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":14,"starSnapshotCount":14,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},77814,"AIRP_ClaudeCode","Damages9\u002FAIRP_ClaudeCode","Damages9",null,"HTML",134,10,117,1,0,9,17,27,3.12,false,"master",true,[],"2026-06-12 02:03:44","\u003Cdiv align=\"center\">\n\n# 话本RP — Claude Code 直驱模式\n\n**Claude Code 作为 AI 叙事引擎，直驱角色扮演。**\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.x-3776AB?style=for-the-badge&logo=python&logoColor=white)](https:\u002F\u002Fwww.python.org\u002F)\n[![Claude Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude%20Code-编排引擎-d97706?style=for-the-badge&logo=anthropic&logoColor=white)](https:\u002F\u002Fclaude.ai\u002Fcode)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow?style=for-the-badge)](LICENSE)\n[![Status](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStatus-Active-brightgreen?style=for-the-badge)]()\n\n\u003C\u002Fdiv>\n\n---\n\n## 🙏 致谢与前言\n\n### 致谢\n\n感谢 **[梁文峰（梁圣）](https:\u002F\u002Fwww.deepseek.com)** 开源并大幅降价的 **DeepSeek-V4-Pro**。1M 上下文窗口、相对低廉的价格、稳定且强大的注意力机制——没有这个模型，这个项目不可能跑起来。\n\n感谢社区 **Logan** 提出的原始 idea。我只不过在他的想法之上，试着动手做了一下。\n\n### 关于本项目\n\n**话本RP 不是 SillyTavern 的替代品。** SillyTavern 是一个成熟、全面的角色扮演前端，本项目无意与之竞争。这是一个**甜品级练手项目**，核心思路——**力大砖飞**：直接把模型当 RP 引擎用，靠原始能力硬推叙事。\n\n### 维护声明\n\n作者现实生活繁忙，**不保证按时更新**。但会定时查看 Issue 和 Pull Request，有好思路会不定期更新。欢迎提想法、报 bug、交 PR。\n\n---\n\n## 📖 目录\n\n- [致谢与前言](#-致谢与前言)\n- [简介](#-简介)\n- [核心特性](#-核心特性)\n- [快速开始](#-快速开始)\n- [目录结构](#-目录结构)\n- [技术栈](#-技术栈)\n- [文风配置](#-文风配置)\n- [数据流](#-数据流)\n- [常见问题](#-常见问题)\n- [参考文档](#-参考文档)\n\n---\n\n## 💡 简介\n\n**话本RP** 是一个以 Claude Code 为编排引擎、Python 标准库为后端的角色扮演系统。\n\n你不需要写 prompt — Claude Code 本身就是 RP 引擎。它读取角色卡、管理对话历史、按选定文风生成叙事，并通过 Web 前端与用户互动。\n\n> 将 Claude Code 的代码分析和工具调用能力，转化为 AI 叙事创作的编排层。\n\n---\n\n## ✨ 核心特性\n\n**角色与世界观**\n- **PNG 角色卡直读** — 拖入 SillyTavern 角色卡，自动解析嵌入数据\n- **世界书全量导入** — 遍历全部条目，原样保留作者设定，按类型路由到 memory\u002F\n- **多 JSON 合并** — 搭配多个世界书文件，按条目 ID 去重合并\n\n**叙事控制**\n- **文风配置** — Markdown 格式，六维度分析，前端下拉切换，AI 可自学新文风\n- **灵活设置** — NSFW 档位 \u002F 人称 \u002F 字数控制 \u002F 防抢话 \u002F 背景 NPC \u002F 夜间模式\n- **强制字数门禁** — 生成后统计中文字数，不足 80% 自动重试（最多 3 次）\n\n**智能导演**\n- **MVU 变量系统** — JSONPatch 五种操作，日上限 + 阶段门禁，模板宏实时引用\n- **卡结构驱动** — 自动检测阶段人设与事件库，按作者意图推进剧情\n- **后台 NPC 活性** — 每轮 ≥2 个未出场角色更新，三级决策（静默\u002F提及\u002F进场）\n- **世界书双通道** — 变量变更 + 用户输入关键词自动匹配，AI 按需检索\n\n**交互体验**\n- **重roll & 回退** — 一键重生成最后回复，或回退任意历史轮次\n- **异步交付** — 回复达标后优先送前端，记忆更新后台完成\n- **Token 统计** — DeepSeek 真实计数，顶栏实时显示本轮 \u002F 累计\n- **用户姓名同步** — 前端填写后全文 `{{user}}` 即时替换\n- **夜间模式** — 一键切换暗色主题，偏好持久化\n\n**工程化**\n- **三大管线** — 导入 \u002F 回合 \u002F 清理，AI 注意力卸载\n- **酒馆兼容层** — 本地 jQuery\u002Flodash\u002Ftoastr，独立正则引擎，ST API 兼容\n\n### 🧠 跨会话记忆\n\n卡片文件夹下的 `memory\u002F` 目录持久化全部叙事状态，**关闭后明日接着玩**：\n\n| 文件 | 作用 | 更新 |\n|------|------|------|\n| `memory\u002Fproject.md` | 剧情进度、伏笔、NPC 状态、下阶段方向 | 每轮 |\n| `memory\u002Freference.md` | 世界观规则、角色设定、关键地点 | 导入时 |\n| `memory\u002Ffeedback.md` | 用户偏好（文风\u002F节奏\u002FNSFW 边界） | 偶尔 |\n| `memory\u002Fuser.md` | 用户角色当前状态 | 低频 |\n| `memory\u002Fstory_plan.md` | 长远剧情规划分析 | 每 8 轮 |\n\n### 📖 剧情规划\n\n每 8 轮自动加载 [STORY.md](STORY.md) 叙事理论框架，分析价值转换、布克模式定位、伏笔审计、情感波浪线等维度，写入 `memory\u002Fstory_plan.md`。框架服务于故事而非约束故事。用户也可随时说「分析下故事走向」手动触发。\n\n---\n\n## 🚀 快速开始\n\n> ⚠️ **重要：请使用 PowerShell 运行本项目，不要使用 cmd（命令提示符）。**\n> \n> 本项目大量使用 PowerShell 命令进行进程管理、端口清理等操作。cmd 无法执行这些命令，会导致启动失败或端口占用。在文件夹地址栏输入 `powershell` 回车即可打开 PowerShell。\n\n### 5 分钟从零开始\n\n如果你是第一次用，按顺序走这 5 步：\n\n**① 准备 3 样东西**\n\n| 你需要 | 怎么获取 |\n|--------|---------|\n| **Python 3.x** | [python.org](https:\u002F\u002Fwww.python.org\u002F) 下载安装（安装时勾选\"Add Python to PATH\"） |\n| **DeepSeek API Key** | [platform.deepseek.com](https:\u002F\u002Fplatform.deepseek.com\u002F) 注册，在 API Keys 页面创建 |\n| **一张角色卡** | `.png` 格式的 SillyTavern 角色卡（可以从社区下载，也可以自己用酒馆导出） |\n\n**② 跑配置脚本（就这一次）**\n\n双击项目根目录的 `setup-deepseek-claude.bat`，按提示输入你的 DeepSeek API Key。脚本会自动安装 Claude Code、写入环境变量。\n\n**③ 放卡片**\n\n在项目根目录新建一个文件夹（随便起名，比如 `我的角色`），把角色卡 PNG 拖进去。\n\n```\n话本RP\u002F\n├── 我的角色\u002F          ← 新建这个文件夹\n│   └── 角色卡.png     ← 把卡片放进来\n├── skills\u002F            ← 这些不用管\n└── CLAUDE.md\n```\n\n**④ 启动**\n\n在 `我的角色` 文件夹内打开 **PowerShell** 终端（地址栏输入 `powershell` 回车），输入 `claude` 启动后，在对话中输入：\n\n```\n\u002Frp\n```\n\nClaude Code 会自动完成：清理残留进程 → 启动服务器 → 解析角色卡\u002F世界书 → 写入记忆 → 生成开场叙事。老卡会自动读取之前的聊天记录和记忆接着剧情继续。\n\n**⑤ 打开浏览器**\n\n访问 **http:\u002F\u002Flocalhost:8765**，在输入框打字，点提交。AI 会在几秒到几十秒内生成回复。\n\n**之后怎么继续玩？** 关闭 Claude Code 后，下次在同一个文件夹重新 `claude`，输入 `\u002Frp` 即可——系统会自动读取之前的聊天记录和记忆，接着剧情继续。换卡片就新建一个文件夹，重复步骤 ③-④。\n\n---\n\n### 环境配置（一键脚本）\n\n项目根目录提供了两个配置脚本，自动完成 Node.js \u002F Git 检查、Claude Code 安装、DeepSeek API 环境变量写入（注册表持久化）、PowerShell Profile 备份：\n\n| 文件 | 说明 |\n|------|------|\n| `setup-deepseek-claude.bat` | 双击运行，自动提权启动 PowerShell 执行配置 |\n| `setup-deepseek-claude.ps1` | 核心脚本，右键「使用 PowerShell 运行」也可直接启动 |\n\n运行后按提示输入 DeepSeek API Key 即可。\n\n\u003Cdetails>\n\u003Csummary>📋 脚本写入的环境变量（仅供参考）\u003C\u002Fsummary>\n\n```\nANTHROPIC_BASE_URL            = https:\u002F\u002Fapi.deepseek.com\u002Fanthropic\nANTHROPIC_MODEL               = deepseek-v4-pro[1m]\nANTHROPIC_DEFAULT_OPUS_MODEL  = deepseek-v4-pro[1m]\nANTHROPIC_DEFAULT_SONNET_MODEL= deepseek-v4-pro[1m]\nANTHROPIC_DEFAULT_HAIKU_MODEL = deepseek-v4-flash\nCLAUDE_CODE_SUBAGENT_MODEL    = deepseek-v4-flash\nCLAUDE_CODE_EFFORT_LEVEL      = max\n```\n\n\u003C\u002Fdetails>\n\n### 运行模式：一卡一文件夹\n\n本项目的运行方式是：**在项目根目录下为每张角色卡（或每部小说）单独建立一个文件夹**，放入素材后，在该文件夹内启动 Claude Code。\n\n```\n{ROOT}\u002F\n├── skills\u002F                     # 引擎代码（所有卡片共享）\n├── CLAUDE.md                   # 引擎规则（所有卡片共享）\n├── 我的角色\u002F                   # 卡片文件夹（一个文件夹 = 一张卡）\n│   ├── 角色卡.png              #   角色卡 PNG（可搭配世界书 .json \u002F 小说 .txt）\n│   ├── chat_log.json           #   聊天记录（自动生成）\n│   └── memory\u002F                 #   跨会话记忆（自动管理）\n```\n\nClaude Code 启动时会自动扫描**当前文件夹**下的素材：\n- `.png` → 解析 SillyTavern 角色卡（tEXt\u002Fchara chunk）\n- `.json` → 读取世界书\n- `.txt` → 视为小说文本，提取世界观和角色\n\n### 使用场景\n\n除 `\u002Frp` 一键启动外，也可用自然语言精确控制：\n\n#### 🎭 角色卡 RP\n> 「读取这张角色卡，开始 RP」\n\n#### 🖊️ 小说炼化文风\n> 「完整阅读 `小说.txt`，总结其文风，命名为 `XX风格`」\n\nAI 自动分析遣词\u002F句式\u002F段落\u002F节奏等六个维度，写入 `skills\u002Fstyles\u002Fprofiles\u002F`。刷新前端即可选择。\n\n#### 📖 进入小说世界 RP\n> 「读取 `小说.txt`，我要扮演 __（主角\u002F配角\u002F自定义角色）__，时间点是 __。以该时间点写开场。」\n\n自定义角色需写出身份、外貌、性格、背景等设定。\n\n### 关闭\n\n直接退出 Claude Code（`\u002Fquit` 或关闭终端窗口），系统会自动释放端口。无需手动 `taskkill`。\n\n\u003Cdetails>\n\u003Csummary>🔧 手动启动桥接服务器（通常不需要，start_server.py 已自动处理）\u003C\u002Fsummary>\n\n```powershell\npython skills\u002Fstart_server.py .\n```\n\n服务默认监听 `127.0.0.1:8765`，MVU 服务监听 `127.0.0.1:8766`。\n\n\u003C\u002Fdetails>\n\n---\n\n## 📂 目录结构\n\n```\n{ROOT}\u002F\n├── setup-deepseek-claude.bat     # ⚙️ 环境一键配置（双击运行）\n├── setup-deepseek-claude.ps1     # ⚙️ 环境配置核心脚本\n├── CLAUDE.md                     # 🧠 系统编排核心（规则\u002F权限\u002F流程）\n├── README.md                     # 📄 本文件\n├── extract-png-card.md           # 📘 PNG chunk 角色卡解析参考\n├── live-status.md                # 📙 实时状态面板参考\n├── STORY.md                       # 📖 叙事理论框架（剧情规划技能）\n├── .gitignore\n├── .claude\u002F                      # Claude Code 配置（纳入版本控制）\n│   ├── settings.local.json       # 本地权限白名单\n│   └── skills\u002Frp.md              # \u002Frp 自定义启动命令\n└── skills\u002F                       # 后端与前端\n    ├── server.py                 # 🌐 HTTP 桥接服务器（端口 8765）\n    ├── handler.py                # 🔧 回合管理（解析\u002F追加\u002F重建\u002F回退\u002FMVU变量\u002FMVU变量校验）\n    ├── import_card.py            # 📥 卡片素材解析（PNG\u002FJSON\u002FTXT → memory\u002F）\n    ├── import_prepare.py         # 📋 导入管线（清理→解析→会话初始化→上下文汇总）\n    ├── start_server.py           # 🚀 服务器启动器（自动检查+清理+轮询就绪）\n    ├── mvu_engine.py             # ⚙️ MVU 变量引擎（JSONPatch 解析\u002F执行）\n    ├── mvu_check.py              # ✅ MVU 变量交叉检查\n    ├── mvu_server.js             # 🔗 MVU 变量服务（Zod schema 校验）\n    ├── match_worldbook.py        # 🔍 世界书关键词匹配\n    ├── write_memory.py           # 📝 剧情记忆更新\n    ├── round_prepare.py          # 📥 回合预处理管线（收集上下文→写入 round_context.txt）\n    ├── round_deliver.py          # 📤 回合后处理管线（质检→交付→记忆→剧情规划触发）\n    └── styles\u002F                   # 前端与运行时\n        ├── index.html            # 🖥️ 主前端界面（SPA）\n        ├── _st_shims.js          # 🔗 SillyTavern API 兼容层\n        ├── _regex_engine.js      # 🧩 酒馆兼容正则引擎\n        ├── content.html          # 📝 叙事内容模板\n        ├── status.html           # 📊 实时状态面板\n        ├── settings.json         # ⚙️ 当前设置\n        ├── openings.json         # 🎬 开场白数据\n        ├── lib\u002F                  # 📦 本地 JS 库（jQuery\u002Flodash\u002Ftoastr）\n        └── profiles\u002F             # 🖊️ 文风配置\n            ├── 北棱特调.md       #   文学化\u002F陌生化遣词\n            └── 轻松活泼.md       #   简洁明快\u002F口语化\n```\n\n> 运行时自动生成的文件（`content.js`、`state.js`、`input.txt`、`.card_path`、`round_context.txt`、`import_context.txt`、`.pending` 等）已加入 `.gitignore`。\n\n---\n\n## 🛠️ 技术栈\n\n\u003Cdiv align=\"center\">\n\n| 层 | 技术 | 说明 |\n|:---:|------|------|\n| 🧠 **AI 编排** | Claude Code | 读取 CLAUDE.md 规则，调用工具链执行 |\n| 🌐 **后端** | Python `http.server` | 标准库，零外部依赖 |\n| 🖥️ **前端** | 原生 HTML\u002FCSS\u002FJS | 无框架，动态 `\u003Cscript>` 注入实现无闪烁更新 |\n| 📦 **数据** | JSON + Markdown + JS | 聊天记录\u002F设置用 JSON，文风用 MD，状态用 JS |\n| 🃏 **角色卡** | SillyTavern PNG | `tEXt\u002Fchara` chunk → base64 → JSON |\n\n\u003C\u002Fdiv>\n\n---\n\n## 🖊️ 文风配置\n\n文风文件是 Markdown 格式，存放在 `skills\u002Fstyles\u002Fprofiles\u002F`，包含六个标准维度：\n\n| 维度 | 说明 |\n|------|------|\n| **核心特征** | 调性定位、句式倾向 |\n| **句子模式** | 常用句型结构、修辞手法 |\n| **词汇偏好** | 偏好用词范围、避免使用的词汇 |\n| **禁用规则** | 禁止出现的表达模式 |\n| **段落结构** | 段落密度、过渡方式、信息密度 |\n| **节奏控制** | 叙事张弛模式、场景切换速度 |\n\n### 📌 内置预设\n\n| 风格 | 调性 | 适合场景 |\n|------|------|----------|\n| **北棱特调** | 文学化、陌生化遣词、丰富修辞 | 文学性强、氛围浓厚的叙事 |\n| **轻松活泼** | 口语化、短句为主、节奏明快 | 日常、轻松、对话为主的场景 |\n\n### 🆕 创建新文风\n\n在对话中粘贴小说文本，或将txt文件放入项目目录中后在后台提交给ClaudeCode（或提供作者名让 AI 联网搜索），然后说：\n\n> 「分析这段文风，命名为 XX 风格」\n\nAI 会自动分析六个维度并写入 `profiles\u002F`。刷新前端即可在下拉框中选择新风格。\n\n---\n\n## 🔄 数据流\n\n```mermaid\ngraph LR\n    A[浏览器输入] -->|POST 提交| B[server.py]\n    B -->|写入 input.txt| C[.pending 标记]\n    C -->|长轮询 wait_pending| D[Claude Code]\n    D -->|round_prepare.py 收集上下文| D2[世界书索引+匹配+注入]\n    D2 -->|写入 round_context.txt| D3[MVU 变量清单+路径树]\n    D3 -->|AI 读上下文+生成叙事| E[生成叙事+MVU 命令]\n    E -->|写入 response.txt| F[round_deliver.py 质检]\n    F -->|达标| G[handler.py 交付前端]\n    G -->|重建 content.js| H[前端即时刷新]\n    G -->|异步后台| I[更新 memory]\n    I -->|每8轮| J[剧情规划分析]\n    F -->|不足80% 重试| E\n```\n\n### 说人话版：你打一个字，背后发生了什么？\n\n```\n你在浏览器输入 \"你好\" → 点提交\n            ↓\nserver.py 收到，写标记文件\n            ↓\nClaude Code 通过长轮询立即感知，开始干活：\n  ✦ round_prepare.py 收集全部上下文（输入\u002F记忆\u002F世界书匹配\u002F变量路径）\n  ✦ AI 读取汇总上下文，走五步思考流程\n  ✦ 按你选的文风写叙事回复 + 更新变量\n  ✦ round_deliver.py 质检字数→交付前端→更新记忆\n            ↓\n你看到 AI 的回复出现在浏览器里 ✨\n```\n\n整个过程快则几秒，慢则几十秒（取决于回复长度和复杂度）。\n\n---\n\n## 🆘 常见问题\n\n### 浏览器打不开 http:\u002F\u002Flocalhost:8765？\n\n1. 确认 Claude Code 正在运行（终端窗口没关）\n2. 检查是否用的 `http:\u002F\u002F` 而不是 `https:\u002F\u002F`\n3. 如果端口被占用：重启 Claude Code 即可——`import_prepare.py` 和 `start_server.py` 会自动清理残留进程并重新绑定端口\n\n### 回复一直没出现？\n\n1. 确认你真的点了\"提交\"按钮（输入框下面那个）\n2. 等待 30-60 秒——AI 生成需要时间，尤其是长回复\n3. 如果超过 2 分钟还没反应，在 Claude Code 终端看看有没有报错\n\n### 我没有角色卡，能试用吗？\n\n可以。随便放一张 PNG 图片（甚至一张截图）到新建文件夹里，系统会尝试解析。或者放一个 `.txt` 小说文件，AI 会从小说提取世界观和角色。没有卡也能玩——但效果不如正经角色卡好。\n\n### 怎么换一张卡片玩？\n\n关闭当前 Claude Code 会话（`Ctrl+C` 或直接关终端）。新建一个文件夹，放入新卡片，`cd` 进去重新 `claude`。每张卡的数据完全隔离，互不影响。\n\n> 注意：不要同时开着多个 Claude Code 实例——它们会抢同一个 8765 端口。\n\n### 怎么备份我的进度？\n\n你卡片文件夹里的 `chat_log.json`（完整聊天记录）和 `memory\u002F` 目录（剧情记忆）就是全部进度。复制整个卡片文件夹到别处即可备份。想恢复时复制回来。\n\n### 回复质量不好怎么办？\n\n- 换一个文风：前端顶栏下拉框切换，立即生效\n- 调整 NSFW 档位：设置面板里改\n- 字数太少\u002F太多：设置面板调整 `wordCount`\n- 重roll 当前回复：前端点 🔄 按钮\n\n### Python 报错 \"No module named xxx\"？\n\n本项目只用了 Python 标准库，不应该出现这个错误。如果出现了，说明你可能在错误的工作目录。确认终端当前在项目根目录（能看到 `skills\u002F` 文件夹）。\n\n---\n\n## 📚 参考文档\n\n| 文件 | 内容 |\n|------|------|\n| [`CLAUDE.md`](CLAUDE.md) | 系统编排规则、权限预授权、硬性门禁、文风分析指令 |\n| [`STORY.md`](STORY.md) | 叙事理论框架——布克\u002F麦基\u002F坎贝尔\u002F救猫咪\u002F皮尔逊蒸馏 |\n| [`extract-png-card.md`](extract-png-card.md) | SillyTavern PNG 角色卡 chunk 解析方法 |\n| [`live-status.md`](live-status.md) | 实时状态面板的 HTML\u002FJS 设计说明 |\n\n---\n\n## 📖 术语表\n\n| 术语 | 全称 | 一句话解释 |\n|------|------|-----------|\n| **RP** | Role-Playing | 角色扮演——你扮演一个角色，AI 扮演其他角色和世界 |\n| **NSFW** | Not Safe For Work | 成人内容。本项目支持三个档位：舒缓 \u002F 直白 \u002F 关闭 |\n| **NPC** | Non-Player Character | 非玩家角色——AI 控制的配角、路人、反派 |\n| **MVU** | MagVarUpdate | 酒馆的变量更新系统，用 JSONPatch 格式管理角色数值变化 |\n| **JSONPatch** | — | 一种描述 JSON 数据修改的标准格式（replace\u002Fadd\u002Fremove 等操作） |\n| **PNG chunk** | — | PNG 图片里隐藏的数据块。SillyTavern 角色卡把角色设定藏在 `tEXt\u002Fchara` 块里 |\n| **memory\u002F** | — | 卡片文件夹下的记忆目录。存剧情进度、世界观、用户偏好，关了明天还能接着玩 |\n| **重roll** | Re-roll | 删除 AI 最后一轮回复，用同样的用户输入重新生成一次 |\n\n---\n\n\u003Cdiv align=\"center\">\n\n**⚡ 将 Claude Code 的分析能力，转化为 AI 叙事的创作力 ⚡**\n\n\u003C\u002Fdiv>\n","话本RP是一个以Claude Code为编排引擎、Python标准库为后端的角色扮演系统。它通过直接利用Claude Code的代码分析和工具调用能力，实现了自动解析角色卡、管理对话历史及按选定文风生成叙事的功能，并支持与Web前端互动。项目特色包括PNG角色卡直读、多JSON合并的世界书导入机制、灵活的文风配置选项以及智能导演功能，如MVU变量系统和后台NPC活性管理等。此外，还提供了重roll & 回退、异步交付、Token统计等功能增强用户体验。此项目适合对AI驱动的故事创作或角色扮演游戏感兴趣的开发者探索实践。",2,"2026-06-11 03:56:05","CREATED_QUERY"]