# 调研与思考记录 ## 参考对象 ### Amadeus 类虚拟人格 《Steins;Gate 0》里的 Amadeus 不是普通 chatbot。它的关键点是: - 角色人格来自某个人的记忆和人格数据。 - 用户通过手机式通讯界面与角色交流。 - 体验重点是“持续存在的人格容器”,而不是通用问答工具。 对本项目的启发: - UI 可以借鉴通讯窗口、视频通话窗口、角色状态灯。 - 角色需要身份、关系感、记忆边界和情绪连续性。 - 角色不应该每轮都像第一次见用户。 ### Open-LLM-VTuber Open-LLM-VTuber 是当前最接近本项目系统形态的参考。它把 LLM、ASR、TTS、视觉感知、Live2D avatar、情绪映射、角色自定义、聊天记录持久化等模块组织在一起。 可借鉴点: - 后端输出情绪,前端映射到 Live2D 表情。 - 支持摄像头、屏幕录制、截图,让 AI 角色获得视觉感知。 - 角色不是单 prompt,而是一组配置、模型、交互通道和表现层。 ### VTube Studio API VTube Studio 说明成熟 2.5D 角色系统通常不是“生成一段视频”,而是把外部信号映射到角色参数: - 通过 WebSocket 触发 hotkey。 - 控制模型、表情、动作。 - 输入 face tracking 数据。 - 修改部分 ArtMesh 颜色。 对本项目的启发:AI 输出应该是 `expression`、`motion`、`parameter` 这类控制事件,而不是一整段不可交互的视频。 ### pixi-live2d-display pixi-live2d-display 是 Web 端 Live2D 展示参考。它适合放在 `gr.HTML` 里作为浏览器端角色舞台方案。 适用场景: - 已有公开授权 Live2D 模型。 - 后端输出表情和动作事件。 - 前端把事件映射到 Live2D motion/expression/parameter。 ### AnimateAnyone / Hallo 这类项目证明单图驱动角色动画或音频驱动人像动画是可行方向,但它们更像后期增强模块: - 生成成本高。 - 延迟不适合第一版交互。 - 更适合生成短视频片段,不适合低延迟角色陪伴。 ## 内置角色策略 ### 本地探索角色 本地探索可以直接参考: - Amadeus / 牧濑红莉栖风格。 - 流萤风格。 - 其他你喜欢的游戏或动画角色。 目的不是公开复刻,而是快速评估角色还原感、语气、情绪输出和舞台表现。 ### 公开提交角色 公开 HF Space 建议原创化: - `Amadeus-like Memory Girl`:记忆人格、理性、研究员、通讯界面感。 - `Firefly-inspired Star Knight`:柔弱外表和战斗身份反差,科幻装甲,守护欲。 - `Lab Assistant`:偏理性吐槽型。 - `Mischief Mascot`:更轻松、有趣,适合 Thousand Token Wood。 原因:直接使用商业角色名、官方图像、官方声音、官方台词和完整剧情设定会带来 IP 风险。 ## 生图模块判断 生图应该是后台资产生成能力,而不是每轮对话都调用。 适合场景: - 内置角色头像、半身像、背景图生成。 - 用户点击“重绘角色”。 - 自定义角色创建时,把用户上传图或描述转成原创视觉资产。 推荐方向: - `FLUX.1-schnell`:速度快,许可证友好,适合快速生成角色图。 - `SDXL`:生态成熟,动漫风格资源多,适合后续做 LoRA / ControlNet / IP-Adapter。 - 角色一致性增强:后续再看 IP-Adapter、InstantID、PuLID、角色 LoRA。 不建议: - 每轮聊天都生图。 - 直接复刻商业角色图。 - 把生图作为主体验阻塞对话。 ## 摄像头与视觉模型判断 视觉模型可以成为差异点,但第一版要克制。 可做场景: 1. 角色看见你 用户用摄像头拍照或低频抽帧,VLM 判断用户是否在镜头前、大致情绪、场景氛围。角色以自身人格回应。 2. 角色看见物品 用户把书、玩偶、手办、饮料等拿给摄像头看,角色进行 persona 化评论。 3. 角色看见图片或截图 用户上传截图,角色不是做通用图像问答,而是用自己的身份和情绪解读。 MVP 建议:先做上传图片和手动拍照分析。实时流摄像头会增加队列、延迟和成本压力。 ## 参考资料 - Steins;Gate 0 / Amadeus 设定概览: https://en.wikipedia.org/wiki/Steins%3BGate_0 - Open-LLM-VTuber: https://github.com/Open-LLM-VTuber/Open-LLM-VTuber - VTube Studio API: https://github.com/DenchiSoft/VTubeStudio - pixi-live2d-display: https://github.com/guansss/pixi-live2d-display - Live2D 概念: https://en.wikipedia.org/wiki/Live2D - AnimateAnyone: https://github.com/HumanAIGC/AnimateAnyone - Hallo: https://github.com/fudan-generative-vision/hallo - Gradio Image / webcam: https://www.gradio.app/docs/gradio/image - Gradio streaming inputs: https://www.gradio.app/guides/streaming-inputs - Gradio streaming outputs: https://www.gradio.app/guides/streaming-outputs - Hugging Face Inference Providers: https://huggingface.co/docs/inference-providers/index - FLUX.1-schnell: https://huggingface.co/black-forest-labs/FLUX.1-schnell - SDXL: https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0