| # 调研与思考记录 |
|
|
| ## 参考对象 |
|
|
| ### 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 |
| |
| |