[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-fagenorn--handcrafted-persona-engine":3,"tool-fagenorn--handcrafted-persona-engine":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":76,"owner_location":76,"owner_email":79,"owner_twitter":75,"owner_website":76,"owner_url":80,"languages":81,"stars":94,"forks":95,"last_commit_at":96,"license":76,"difficulty_score":97,"env_os":98,"env_gpu":99,"env_ram":100,"env_deps":101,"category_tags":113,"github_topics":114,"view_count":23,"oss_zip_url":76,"oss_zip_packed_at":76,"status":16,"created_at":121,"updated_at":122,"faqs":123,"releases":144},2066,"fagenorn\u002Fhandcrafted-persona-engine","handcrafted-persona-engine","An AI-powered interactive avatar engine using Live2D, LLM, ASR, TTS, and RVC. Ideal for VTubing, streaming, and virtual assistant applications.","handcrafted-persona-engine 是一款功能全面的 AI 交互式虚拟形象引擎，旨在让数字角色“活”起来。它巧妙融合了 Live2D 实时动画、大语言模型（LLM）、语音识别（ASR）、语音合成（TTS）以及可选的实时变声克隆（RVC）技术，能够听懂用户语音、基于设定的人格进行思考，并以自然的嗓音和生动的表情做出回应。\n\n这款工具主要解决了传统虚拟主播或助手开发中技术栈分散、集成难度高的问题。过去，开发者需要分别处理动画驱动、对话逻辑和语音模块，而 handcrafted-persona-engine 将这些环节打通，提供了一站式的解决方案，显著降低了构建高互动性数字人的门槛。\n\n它非常适合 VTuber、游戏主播、独立开发者以及希望打造个性化虚拟助手的设计师使用。无论是用于直播互动还是作为智能客服原型，都能快速落地。其独特亮点在于对 Live2D 模型的深度支持，可通过 Spout 技术无缝对接 OBS 等推流软件；同时，项目特别强调了人格化交互，提供了专门微调的 LLM 模型模板，也能通过灵活的提示词配置适配主流大模型，确保角色言行高度符合预设人设。","\u003Cdiv align=\"center\">\n  \u003Ch1>\n    ✨ Persona Engine \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_0b1ae999272a.webp\" width=\"30px\" alt=\"Dancing Mascot\"> ✨\n  \u003C\u002Fh1>\n\n  \u003Cp>\u003Ci>Unleash your digital characters with the magic of AI-driven voice, animation, and personality!\u003C\u002Fi>\u003C\u002Fp>\n\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Freleases\u002Flatest\" target=\"_blank\">\u003Cimg alt=\"GitHub Downloads (all assets, all releases)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Ftotal?style=for-the-badge&logo=github\">\u003C\u002Fa>\n  &nbsp;&nbsp; \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fp3CXEyFtrA\" target=\"_blank\">\u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1347649495646601419?style=for-the-badge&logo=discord&logoColor=white&label=Discord&color=5865F2\">\u003C\u002Fa>\n  &nbsp;&nbsp; \u003Ca href=\"https:\u002F\u002Fx.com\u002Ffagenorn\" target=\"_blank\">\u003Cimg alt=\"X (formerly Twitter) Follow\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Ffagenorn?style=for-the-badge&logo=x\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n  ---\n\n  \u003Cp>\n    \u003Cb>Persona Engine\u003C\u002Fb> is your all-in-one toolkit for creating captivating, interactive avatars! It masterfully combines:\n    \u003Cbr>\n    🎨 \u003Cb>Live2D:\u003C\u002Fb> For expressive, real-time character animation.\n    \u003Cbr>\n    🧠 \u003Cb>Large Language Models (LLMs):\u003C\u002Fb> Giving your character a unique voice and personality.\n    \u003Cbr>\n    🎤 \u003Cb>Automatic Speech Recognition (ASR):\u003C\u002Fb> To understand voice commands and conversation.\n    \u003Cbr>\n    🗣️ \u003Cb>Text-to-Speech (TTS):\u003C\u002Fb> Enabling your character to speak naturally.\n    \u003Cbr>\n    🎭 \u003Cb>Real-time Voice Cloning (RVC - Optional):\u003C\u002Fb> To mimic specific voice characteristics.\n    \u003Cbr>\n    \u003Cbr>\n    Perfectly suited for \u003Cb>VTubing 🎬\u003C\u002Fb>, dynamic \u003Cb>streaming 🎮\u003C\u002Fb>, and innovative \u003Cb>virtual assistant applications 🤖\u003C\u002Fb>.\n    \u003Cbr>\n    \u003Ci>Let's bring your character to life like never before!\u003C\u002Fi> ✨\n  \u003C\u002Fp>\n\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_6369e1b24ca2.png\" alt=\"Persona Engine\" width=\"650\">\n\n  \u003Ch2>💖 See it in Action! 💖\u003C\u002Fh2>\n  \u003Cp>Witness the Persona Engine creating digital magic:\u003C\u002Fp>\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=4V2DgI7OtHE\" target=\"_blank\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_0f34873bee20.png\" alt=\"Persona Engine Demo Video\" width=\"600\">\u003C\u002Fa>\n  \u003Cp>\u003Ci>(Click the image above to watch the demo!)\u003C\u002Fi>\u003C\u002Fp>\n  \u003Cbr>\n\n  \u003Cp>And here's another little glimpse into what the friendly engine can do:\u003C\u002Fp>\n  \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8c486a9f-db2c-4486-8e20-0b1e336e476c\">\u003C\u002Fvideo>\n  \u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n## 📜 Table of Contents\n\n* [🌸 Overview: What's Inside?](#overview)\n* [🚀 Getting Started: Installation Guide](#installation-guide)\n* [✨ Features Galore!](#features)\n* [⚙️ Architecture \u002F How it Works](#architecture)\n* [💡 Potential Use Cases](#use-cases)\n* [🤝 Contributing](#contributing)\n* [🎭 Live2D Integration Guide](.\u002FLive2D.md)\n* [💬 Join Our Community!](#community)\n* [❓ Support & Contact](#support)\n\n## \u003Ca id=\"overview\">\u003C\u002Fa>🌸 Overview: What's Inside?\n\nPersona Engine listens to your voice 🎤, thinks using powerful AI language models 🧠 (guided by a personality you define!), speaks back with a synthesized voice 🔊 (which can optionally be cloned using RVC!), and animates a Live2D avatar 🎭 accordingly.\n\nIt integrates seamlessly into streaming software like OBS Studio using Spout for high-quality visual output. The included \"Aria\" model is specially rigged for optimal performance, but you can integrate your own Live2D models (see the [Live2D Integration Guide](.\u002FLive2D.md)).\n\n> [!IMPORTANT]  \n> Persona Engine achieves the most natural and in-character interactions when used with a **specially fine-tuned Large Language Model (LLM)**. This model is trained to understand the engine's specific communication format.\n>\n> While you *can* use standard OpenAI-compatible models (e.g., from Ollama, Groq, OpenAI), it requires careful **prompt engineering** within the `personality.txt` file. We provide a template (`personality_example.txt`) in the repository to guide you.\n>\n> **Detailed instructions for configuring `personality.txt` for standard models are crucial and can be found in the [Installation Guide](.\u002FINSTALLATION.md#configure-personality-txt---important).**\n>\n> 👉 Want to try the fine-tuned model or see a live demo? Hop into our [Discord](#community)! 😊\n\n\u003Cdiv align=\"center\">\n  \u003Ch3>Screenshots!\u003C\u002Fh3>\n  \u003Cimg src=\"https:\u002F\u002Fi.imgur.com\u002FiQq2rxP.jpeg\" alt=\"Persona Engine integrated with a Gmail interface concept\" width=\"800\">\n  \u003Cbr>\u003Ci>Look how helpful it is as a desktop friend! 😊\u003C\u002Fi>\n  \u003Cbr>\u003Cbr>\n  \u003Cimg src=\"https:\u002F\u002Fi.imgur.com\u002FWOLMe2T.jpeg\" alt=\"Persona Engine acting as an AI Assistant\" width=\"800\">\n  \u003Cbr>\u003Ci>Peek inside the engine's cozy control room! ✨\u003C\u002Fi>\n  \u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n## \u003Ca id=\"installation-guide\">\u003C\u002Fa>🚀 Getting Started: Installation Guide\n\n\n➡️ **Please follow the detailed [Installation and Setup Guide](.\u002FINSTALLATION.md) to install prerequisites, download models, configure, and run the engine.** ⬅️\n\n**Key Requirements Covered:**\n* **System:** **Mandatory NVIDIA GPU with CUDA support is required** for core features (ASR, TTS, RVC).\n* **Software:** .NET Runtime, espeak-ng.\n* **AI Models:** Downloading Whisper ASR models.\n* **Live2D:** Setting up your Live2D model (using Aria or your own).\n* **(Optional) RVC:** Real-time Voice Cloning setup.\n* **LLM:** Configuring access to your chosen LLM (API keys, endpoints).\n* **Streaming:** Setting up Spout output for OBS\u002Fother software.\n* **Configuration:** Understanding `appsettings.json`.\n* **Troubleshooting:** Common issues and solutions.\n\n## \u003Ca id=\"features\">\u003C\u002Fa>✨ Features Galore!\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_a3f04a5effe2.png\" width=\"150\" alt=\"Mascot with Wand\">\n\u003C\u002Fdiv>\n\n* 🎭 **Live2D Avatar Integration:**\n    * Loads and renders Live2D models (`.model3.json`).\n    * Includes the specially rigged \"Aria\" model.\n    * Supports emotion-driven animations (`[EMOTION:name]`) and VBridger-standard lip-sync parameters.\n    * Dedicated services for **Emotion**, **Idle**, and **Blinking** animations.\n    * **See the detailed [Live2D Integration & Rigging Guide](.\u002FLive2D.md) for custom model requirements!**\n\n* 🧠 **AI-Driven Conversation:**\n    * Connects to OpenAI-compatible Large Language Model (`LLM`) APIs (local or cloud).\n    * Guided by your custom `personality.txt` file.\n    * Features **improved conversation context** and **session management** for more robust interactions.\n    * Optimized for the optional special fine-tuned model (see [Overview](#overview)).\n\n* 🗣️ **Voice Interaction (Requires NVIDIA `GPU`):**\n    * Listens via microphone (using `NAudio`\u002F`PortAudio`).\n    * Detects speech segments using Silero `VAD`.\n    * Understands speech using Whisper `ASR` (via `Whisper.NET`).\n    * Includes dedicated **Barge-In Detection** to handle user interruptions more gracefully.\n    * Uses a small, fast Whisper model for interruption detection and a larger, more accurate model for transcription.\n\n* 🔊 **Advanced Text-to-Speech (`TTS`) (Requires NVIDIA `GPU`):**\n    * Sophisticated pipeline: Text Normalization -> Sentence Segmentation -> Phonemization -> `ONNX` Synthesis.\n    * Brings text to life using custom `kokoro` voice models.\n    * Uses `espeak-ng` as a fallback for unknown words\u002Fsymbols.\n\n* 👤 **Optional Real-time Voice Cloning (`RVC`) (Requires NVIDIA `GPU`):**\n    * Integrates `RVC` `ONNX` models.\n    * Modifies the `TTS` voice output in real-time to sound like a specific target voice.\n    * Can be disabled for performance.\n\n* 📜 **Customizable Subtitles:**\n    * Displays spoken text with configurable styling options via the `UI`.\n\n* 💬 **Control `UI` & Chat Viewer:**\n    * Dedicated `UI` window for monitoring engine status.\n    * Viewing latency metrics (LLM, TTS, Audio)\n    * Live adjustment of `TTS` parameters (pitch, rate) and Roulette Wheel settings.\n    * View and edit the conversation history.\n\n* 👀 **Screen Awareness (Experimental):**\n    * Optional Vision module allows the AI to \"see\" and read text from specified application windows.\n\n* 🎡 **Interactive Roulette Wheel (Experimental):**\n    * An optional, configurable on-screen roulette wheel for interactive fun.\n\n* 📺 **Streaming Output (`Spout`):**\n    * Sends visuals (Avatar, Subtitles, Roulette Wheel) directly to OBS Studio or other `Spout`-compatible software.\n    * Uses separate, configurable `Spout` streams (no window capture needed!).\n\n* 🎶 **Audio Output:**\n    * Plays generated speech clearly via `PortAudio`.\n\n* ⚙️ **Configuration:**\n    * Primary setup via `appsettings.json` (details in [Installation Guide](.\u002FINSTALLATION.md#configuration-appsettingsjson)).\n    * Real-time adjustments for some settings via the Control `UI`.\n\n* 🤬 **Profanity Filtering:**\n    * Basic keyword list + optional Machine Learning (`ML`)-based filtering for `LLM` responses.\n\n## \u003Ca id=\"architecture\">\u003C\u002Fa>⚙️ Architecture \u002F How it Works\n\nPersona Engine operates in a continuous loop, bringing your character to life through these steps:\n\n1.  **Listen:** 🎤\n    * A microphone captures audio.\n    * A Voice Activity Detector (VAD) identifies speech segments.\n\n2.  **Understand:** 👂\n    * A fast Whisper model detects potential user interruptions.\n    * Once speech ends, a more accurate Whisper model transcribes the full utterance.\n\n3.  **Contextualize (Optional):** 👀\n    * If enabled, the Vision module captures text content from specified application windows.\n\n4.  **Think:** 🧠\n    * Transcribed text, conversation history, optional screen context, and rules from `personality.txt` are sent to the configured Large Language Model (LLM).\n\n5.  **Respond:** 💬\n    * The LLM generates a text response.\n    * This response may include emotion tags (e.g., `[EMOTION:😊]`) or commands.\n\n6.  **Filter (Optional):** 🤬\n    * The response is checked against profanity filters.\n\n7.  **Speak:** 🔊\n    * The Text-to-Speech (TTS) system converts the filtered text into audio.\n    * It uses a `kokoro` voice model primarily.\n    * It falls back to `espeak-ng` for unknown elements.\n\n8.  **Clone (Optional):** 👤\n    * If Real-time Voice Cloning (RVC) is enabled, it modifies the TTS audio in real-time.\n    * This uses an ONNX model to match the target voice profile.\n\n9.  **Animate:** 🎭\n    * Phonemes extracted during TTS drive lip-sync parameters (VBridger standard).\n    * Emotion tags in the LLM response trigger corresponding Live2D expressions or motions.\n    * Idle animations play when the character is not speaking to maintain a natural look.\n    * **(See [Live2D Integration & Rigging Guide](.\u002FLive2D.md) for details!)**\n\n10. **Display:**\n    * 📜 Subtitles are generated from the spoken text.\n    * 📺 The animated avatar, subtitles, and optional Roulette Wheel are sent via dedicated Spout streams to OBS or other software.\n    * 🎶 The synthesized (and optionally cloned) audio is played through the selected output device.\n\n11. **Loop:**\n    * The engine returns to the listening state, ready for the next interaction.\n\n\u003Cdiv align=\"center\">\n\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_d1ae311573d0.png\" width=\"500\" alt=\"Diagram\">\n\u003Cbr\u002F>\n\u003Cbr\u002F>\n\u003C\u002Fdiv>\n\n## \u003Ca id=\"use-cases\">\u003C\u002Fa>💡 Potential Use Cases: Imagine the Fun!\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_281cbe3edf06.png\" width=\"150\" alt=\"Mascot with Lightbulb\">\n\u003C\u002Fdiv>\n\n* 🎬 **VTubing & Live Streaming:** Create an AI co-host, an interactive character responding to chat, or even a fully AI-driven VTuber persona.\n* 🤖 **Virtual Assistant:** Build a personalized, animated desktop companion that talks back.\n* 🏪 **Interactive Kiosks:** Develop engaging virtual guides for museums, trade shows, retail environments, or information points.\n* 🎓 **Educational Tools:** Design an AI language practice partner, an interactive historical figure Q&A bot, or a dynamic tutor.\n* 🎮 **Gaming:** Implement more dynamic and conversational Non-Player Characters (NPCs) or companion characters in games.\n* 💬 **Character Chatbots:** Allow users to have immersive conversations with their favorite fictional characters brought to life.\n\n## \u003Ca id=\"contributing\">\u003C\u002Fa>🤝 Contributing\n\nContributions are highly welcome! If you have improvements, bug fixes, or new features in mind, please follow these steps:\n\n1.  **Discuss (Optional but Recommended):** For major changes, please open a [GitHub Issue](https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues) first to discuss your ideas.\n2.  **Fork:** Fork the repository to your own GitHub account.\n3.  **Branch:** Create a new feature branch for your changes (`git checkout -b feature\u002FYourAmazingFeature`).\n4.  **Code:** Make your changes. Please try to adhere to the existing coding style and add comments where necessary.\n5.  **Commit:** Commit your changes with clear messages (`git commit -m 'Add some AmazingFeature'`).\n6.  **Push:** Push your branch to your fork (`git push origin feature\u002FYourAmazingFeature`).\n7.  **Pull Request:** Open a Pull Request (PR) back to the `main` branch of the original repository. Describe your changes clearly in the PR.\n\nYour help in making Persona Engine better is greatly appreciated! 😊\n\n## \u003Ca id=\"community\">\u003C\u002Fa>💬 Join Our Community!\n\n\u003Cdiv align=\"center\">\n\u003Cp>\nNeed help getting started? Have questions or brilliant ideas? 💡 Want to see a live demo, test the special fine-tuned model, or chat directly with a Persona Engine character? Having trouble converting RVC models or rigging your own Live2D model? Come say hi on Discord! 👋\n\u003C\u002Fp>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fp3CXEyFtrA\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_a2fbf715795d.png\" alt=\"Join Discord Img\"\n  width=\"400\"\n  \u002F>\u003C\u002Fa>\n  \u003Cbr>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fp3CXEyFtrA\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1347649495646601419?label=Join%20Discord&logo=discord&style=for-the-badge\" alt=\"Join Discord Badge\" \u002F>\n\u003C\u002Fa>\n\u003Cbr>\n\u003Cbr>\n\u003Cp>You can also report bugs or request features via \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues\" target=\"_blank\">GitHub Issues\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n## \u003Ca id=\"support\">\u003C\u002Fa>❓ Support & Contact\n\n* **Primary Support & Community:** Please join our [Discord Server](#community) for help, discussion, and demos.\n* **Bug Reports & Feature Requests:** Please use [GitHub Issues](https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues).\n* **Direct Contact:** You can also reach out via [Twitter\u002FX](https:\u002F\u002Fx.com\u002Ffagenorn).\n\n-----\n\n> [!TIP]\n> *Remember to consult the [Live2D Integration & Rigging Guide](.\u002FLive2D.md) for details on preparing custom avatars.*\n> *For detailed setup steps, please refer to the [Installation and Setup Guide](.\u002FINSTALLATION.md).*\n","\u003Cdiv align=\"center\">\n  \u003Ch1>\n    ✨ 人格引擎 \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_0b1ae999272a.webp\" width=\"30px\" alt=\"跳舞的吉祥物\"> ✨\n  \u003C\u002Fh1>\n\n  \u003Cp>\u003Ci>用AI驱动的语音、动画和个性，释放你的数字角色潜能！\u003C\u002Fi>\u003C\u002Fp>\n\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Freleases\u002Flatest\" target=\"_blank\">\u003Cimg alt=\"GitHub 下载量（所有资产、所有版本）\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Ftotal?style=for-the-badge&logo=github\">\u003C\u002Fa>\n  &nbsp;&nbsp; \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fp3CXEyFtrA\" target=\"_blank\">\u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1347649495646601419?style=for-the-badge&logo=discord&logoColor=white&label=Discord&color=5865F2\">\u003C\u002Fa>\n  &nbsp;&nbsp; \u003Ca href=\"https:\u002F\u002Fx.com\u002Ffagenorn\" target=\"_blank\">\u003Cimg alt=\"X（原Twitter）关注\" src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Ffagenorn?style=for-the-badge&logo=x\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n  ---\n\n  \u003Cp>\n    \u003Cb>Persona Engine\u003C\u002Fb> 是你打造引人入胜、可交互虚拟形象的一站式工具包！它巧妙地融合了：\n    \u003Cbr>\n    🎨 \u003Cb>Live2D：\u003C\u002Fb> 实现富有表现力的实时角色动画。\n    \u003Cbr>\n    🧠 \u003Cb>大型语言模型（LLMs）：\u003C\u002Fb> 赋予你的角色独特的语音与个性。\n    \u003Cbr>\n    🎤 \u003Cb>自动语音识别（ASR）：\u003C\u002Fb> 理解语音指令与对话。\n    \u003Cbr>\n    🗣️ \u003Cb>文本转语音（TTS）：\u003C\u002Fb> 让你的角色自然发声。\n    \u003Cbr>\n    🎭 \u003Cb>实时语音克隆（RVC，可选）：\u003C\u002Fb> 模仿特定的语音特征。\n    \u003Cbr>\n    \u003Cbr>\n    非常适合\u003Cb>Vtuber 🎬\u003C\u002Fb>、动态\u003Cb>直播 🎮\u003C\u002Fb>以及创新\u003Cb>虚拟助手应用 🤖\u003C\u002Fb>。\n    \u003Cbr>\n    \u003Ci>让我们一起将你的角色栩栩如生地呈现出来吧！\u003C\u002Fi> ✨\n  \u003C\u002Fp>\n\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_6369e1b24ca2.png\" alt=\"Persona Engine\" width=\"650\">\n\n  \u003Ch2>💖 亲眼见证它的神奇之处！ 💖\u003C\u002Fh2>\n  \u003Cp>来看看 Persona Engine 如何创造数字魔法：\u003C\u002Fp>\n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=4V2DgI7OtHE\" target=\"_blank\"> \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_0f34873bee20.png\" alt=\"Persona Engine 演示视频\" width=\"600\">\u003C\u002Fa>\n  \u003Cp>\u003Ci>（点击上方图片观看演示！）\u003C\u002Fi>\u003C\u002Fp>\n  \u003Cbr>\n\n  \u003Cp>再来欣赏一段小片段，看看这位友好的引擎还能做什么：\u003C\u002Fp>\n  \u003Cvideo src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8c486a9f-db2c-4486-8e20-0b1e336e476c\">\u003C\u002Fvideo>\n  \u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n## 📜 目录\n\n* [🌸 概述：里面有什么？](#overview)\n* [🚀 入门指南：安装说明](#installation-guide)\n* [✨ 丰富功能！](#features)\n* [⚙️ 架构 \u002F 工作原理](#architecture)\n* [💡 潜在应用场景](#use-cases)\n* [🤝 贡献](#contributing)\n* [🎭 Live2D 集成指南](.\u002FLive2D.md)\n* [💬 加入我们的社区！](#community)\n* [❓ 支持与联系](#support)\n\n## \u003Ca id=\"overview\">\u003C\u002Fa>🌸 概述：里面有什么？\n\nPersona Engine 可以聆听你的声音 🎤，借助强大的 AI 语言模型 🧠 进行思考（由你定义的性格引导！），并通过合成语音 🔊 回应（还可选择使用 RVC 进行语音克隆！），同时相应地驱动 Live2D 角色动画 🎭。\n\n它通过 Spout 无缝集成到 OBS Studio 等直播软件中，实现高质量的视觉输出。随附的“Aria”模型经过专门适配，以确保最佳性能，但你也可以集成自己的 Live2D 模型（请参阅 [Live2D 集成指南](.\u002FLive2D.md)）。\n\n> [!重要提示]  \n> 当 Persona Engine 与 **经过特别微调的大型语言模型（LLM）** 一起使用时，才能实现最自然、最贴合角色的互动。该模型经过训练，能够理解引擎特有的交流格式。\n>\n> 尽管你 *可以* 使用标准的 OpenAI 兼容模型（例如来自 Ollama、Groq 或 OpenAI 的模型），但这需要你在 `personality.txt` 文件中进行细致的 **提示工程**。我们在仓库中提供了一个模板文件 (`personality_example.txt`) 来指导你。\n>\n> **关于如何为标准模型配置 `personality.txt` 的详细说明至关重要，请参阅 [安装指南](.\u002FINSTALLATION.md#configure-personality-txt---important)。**\n>\n> 👉 想试用微调后的模型或观看现场演示吗？快来加入我们的 [Discord](#community) 吧！😊\n\n\u003Cdiv align=\"center\">\n  \u003Ch3>截图展示！\u003C\u002Fh3>\n  \u003Cimg src=\"https:\u002F\u002Fi.imgur.com\u002FiQq2rxP.jpeg\" alt=\"Persona Engine 与 Gmail 界面概念集成\" width=\"800\">\n  \u003Cbr>\u003Ci>看它作为桌面好友有多贴心吧！😊\u003C\u002Fi>\n  \u003Cbr>\u003Cbr>\n  \u003Cimg src=\"https:\u002F\u002Fi.imgur.com\u002FWOLMe2T.jpeg\" alt=\"Persona Engine 扮演 AI 助手\" width=\"800\">\n  \u003Cbr>\u003Ci>快来看看引擎内部舒适的控制室吧！✨\u003C\u002Fi>\n  \u003Cbr>\u003Cbr>\n\u003C\u002Fdiv>\n\n## \u003Ca id=\"installation-guide\">\u003C\u002Fa>🚀 入门指南：安装说明\n\n\n➡️ **请按照详细的 [安装与设置指南](.\u002FINSTALLATION.md)，完成前置条件的安装、模型下载、配置及引擎运行。** ⬅️\n\n**涵盖的关键要求：**\n* **系统：** 核心功能（ASR、TTS、RVC）**必须配备支持 CUDA 的 NVIDIA 显卡**。\n* **软件：** .NET 运行时、espeak-ng。\n* **AI 模型：** 下载 Whisper ASR 模型。\n* **Live2D：** 设置你的 Live2D 模型（使用 Aria 或自定义模型）。\n* **（可选）RVC：** 实现实时语音克隆的设置。\n* **LLM：** 配置对你所选 LLM 的访问权限（API 密钥、端点）。\n* **直播：** 设置 Spout 输出，以便与 OBS 等软件配合使用。\n* **配置：** 理解 `appsettings.json` 文件。\n* **故障排除：** 常见问题及解决方案。\n\n## \u003Ca id=\"features\">\u003C\u002Fa>✨ 丰富功能！\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_a3f04a5effe2.png\" width=\"150\" alt=\"手持魔杖的吉祥物\">\n\u003C\u002Fdiv>\n\n* 🎭 **Live2D 头像集成：**\n    * 加载并渲染 Live2D 模型（`.model3.json`）。\n    * 内置特别绑定的“Aria”模型。\n    * 支持基于情绪的动画（`[EMOTION:name]`）和 VBridger 标准的口型同步参数。\n    * 提供专门的情绪、空闲和眨眼动画服务。\n    * **请参阅详细的 [Live2D 集成与绑定指南](.\u002FLive2D.md)，了解自定义模型的要求！**\n\n* 🧠 **AI 驱动的对话：**\n    * 连接到兼容 OpenAI 的大型语言模型（LLM）API（本地或云端）。\n    * 受您的自定义 `personality.txt` 文件指导。\n    * 具有**改进的对话上下文**和**会话管理**，使交互更加稳健。\n    * 针对可选的特殊微调模型进行了优化（见[概述](#overview)）。\n\n* 🗣️ **语音交互（需要 NVIDIA `GPU`）：**\n    * 通过麦克风监听（使用 `NAudio`\u002F`PortAudio`）。\n    * 使用 Silero `VAD` 检测语音片段。\n    * 使用 Whisper `ASR` 理解语音（通过 `Whisper.NET`）。\n    * 包含专门的**打断检测**功能，以更优雅地处理用户打断。\n    * 使用小型快速的 Whisper 模型进行打断检测，而使用更大更准确的模型进行转录。\n\n* 🔊 **高级文本到语音合成（`TTS`，需要 NVIDIA `GPU`）：**\n    * 复杂的流程：文本规范化 -> 句子分割 -> 音素化 -> `ONNX` 合成。\n    * 使用自定义的 `kokoro` 语音模型将文本变为生动的声音。\n    * 对于未知单词或符号，会回退到 `espeak-ng`。\n\n* 👤 **可选的实时语音克隆（`RVC`，需要 NVIDIA `GPU`）：**\n    * 集成 `RVC` `ONNX` 模型。\n    * 实时修改 `TTS` 语音输出，使其听起来像特定的目标声音。\n    * 为提升性能，可选择关闭此功能。\n\n* 📜 **可定制字幕：**\n    * 通过 `UI` 显示口语文本，并提供可配置的样式选项。\n\n* 💬 **控制 `UI` 和聊天查看器：**\n    * 专用的 `UI` 窗口用于监控引擎状态。\n    * 查看延迟指标（LLM、TTS、音频）。\n    * 实时调整 `TTS` 参数（音高、语速）以及轮盘赌设置。\n    * 查看并编辑对话历史。\n\n* 👀 **屏幕感知（实验性）：**\n    * 可选的视觉模块允许 AI“看到”并读取指定应用程序窗口中的文本。\n\n* 🎡 **交互式轮盘赌（实验性）：**\n    * 一个可配置的屏幕上的轮盘赌，用于互动娱乐。\n\n* 📺 **流媒体输出（`Spout`）：**\n    * 将视觉内容（头像、字幕、轮盘赌）直接发送到 OBS Studio 或其他兼容 `Spout` 的软件。\n    * 使用独立且可配置的 `Spout` 流，无需捕获窗口！\n\n* 🎶 **音频输出：**\n    * 通过 `PortAudio` 清晰播放生成的语音。\n\n* ⚙️ **配置：**\n    * 主要通过 `appsettings.json` 进行设置（详情请参阅[安装指南](.\u002FINSTALLATION.md#configuration-appsettingsjson)）。\n    * 部分设置可通过控制 `UI` 进行实时调整。\n\n* 🤬 **脏话过滤：**\n    * 基本关键词列表 + 可选的基于机器学习（`ML`）的过滤功能，用于 LLM 回答。\n\n## \u003Ca id=\"architecture\">\u003C\u002Fa>⚙️ 架构 \u002F 工作原理\n\nPersona Engine 在一个连续循环中运行，通过以下步骤让您的角色栩栩如生：\n\n1.  **聆听：** 🎤\n    * 麦克风捕捉音频。\n    * 语音活动检测器（VAD）识别语音片段。\n\n2.  **理解：** 👂\n    * 一个快速的 Whisper 模型检测潜在的用户打断。\n    * 一旦语音结束，更准确的 Whisper 模型会转录完整的发言内容。\n\n3.  **情境化（可选）：** 👀\n    * 如果启用，视觉模块会从指定的应用程序窗口中捕获文本内容。\n\n4.  **思考：** 🧠\n    * 转录后的文本、对话历史、可选的屏幕上下文以及 `personality.txt` 中的规则会被发送到配置好的大型语言模型（LLM）。\n\n5.  **回应：** 💬\n    * LLM 生成一段文本回复。\n    * 该回复可能包含情绪标签（例如 `[EMOTION:😊]`）或指令。\n\n6.  **过滤（可选）：** 🤬\n    * 回复会经过脏话过滤器检查。\n\n7.  **说话：** 🔊\n    * 文本到语音合成系统（TTS）将过滤后的文本转换成音频。\n    * 主要使用 `kokoro` 语音模型。\n    * 对于未知内容，则回退到 `espeak-ng`。\n\n8.  **克隆（可选）：** 👤\n    * 如果启用了实时语音克隆（RVC），它会实时修改 TTS 音频。\n    * 这一过程使用 ONNX 模型来匹配目标语音特征。\n\n9.  **动画：** 🎭\n    * TTS 过程中提取的音素驱动口型同步参数（VBridger 标准）。\n    * LLM 回复中的情绪标签会触发相应的 Live2D 表情或动作。\n    * 当角色不说话时，会播放空闲动画以保持自然外观。\n    * **（详情请参阅 [Live2D 集成与绑定指南](.\u002FLive2D.md)！）**\n\n10. **显示：**\n    * 📜 根据口语文本生成字幕。\n    * 📺 动画头像、字幕以及可选的轮盘赌内容会通过专用的 Spout 流发送到 OBS 或其他软件。\n    * 🎶 合成的（以及可选克隆的）音频会通过选定的输出设备播放。\n\n11. **循环：**\n    * 引擎返回到监听状态，准备迎接下一次交互。\n\n\u003Cdiv align=\"center\">\n\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_d1ae311573d0.png\" width=\"500\" alt=\"示意图\">\n\u003Cbr\u002F>\n\u003Cbr\u002F>\n\u003C\u002Fdiv>\n\n## \u003Ca id=\"use-cases\">\u003C\u002Fa>💡 潜在应用场景：尽情发挥创意吧！\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_281cbe3edf06.png\" width=\"150\" alt=\"头顶灯泡的吉祥物\">\n\u003C\u002Fdiv>\n\n* 🎬 **VTuber 与直播：** 创建一个 AI 合作主持人、一个能响应聊天的互动角色，甚至是一个完全由 AI 驱动的 VTuber 角色。\n* 🤖 **虚拟助手：** 打造一个个性化的、会说话的桌面伴侣。\n* 🏪 **互动信息亭：** 开发引人入胜的虚拟导览员，适用于博物馆、展会、零售环境或信息咨询点。\n* 🎓 **教育工具：** 设计一个 AI 语言练习伙伴、一个互动的历史人物问答机器人，或者一位动态的辅导老师。\n* 🎮 **游戏：** 在游戏中实现更具动态性和对话性的非玩家角色（NPC）或伙伴角色。\n* 💬 **角色聊天机器人：** 让用户与他们喜爱的虚构角色进行沉浸式的对话，让这些角色真正“活”起来。\n\n## \u003Ca id=\"contributing\">\u003C\u002Fa>🤝 贡献\n\n我们非常欢迎你的贡献！如果你有改进建议、Bug 修复或新功能的想法，请按照以下步骤操作：\n\n1. **讨论（可选但推荐）：** 对于重大更改，请先在 [GitHub Issues](https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues) 上提出讨论。\n2. **Fork：** 将仓库 Fork 到你自己的 GitHub 账号。\n3. **分支：** 为你的更改创建一个新的功能分支（`git checkout -b feature\u002FYourAmazingFeature`）。\n4. **代码：** 进行修改。请尽量遵循现有的代码风格，并在必要时添加注释。\n5. **提交：** 使用清晰的提交信息提交你的更改（`git commit -m '添加一些AmazingFeature'`）。\n6. **推送：** 将你的分支推送到你 Fork 的仓库中（`git push origin feature\u002FYourAmazingFeature`）。\n7. **Pull Request：** 向原仓库的 `main` 分支发起 Pull Request。在 PR 中清楚地描述你的更改。\n\n非常感谢你帮助我们让 Persona Engine 变得更好！😊\n\n## \u003Ca id=\"community\">\u003C\u002Fa>💬 加入我们的社区！\n\n\u003Cdiv align=\"center\">\n\u003Cp>\n刚开始使用遇到困难吗？有问题或者绝妙的想法吗？💡 想看实时演示、试用特别微调过的模型，或是直接与 Persona Engine 中的角色聊天吗？在转换 RVC 模型或搭建自己的 Live2D 模型时遇到麻烦了吗？来 Discord 上打个招呼吧！👋\n\u003C\u002Fp>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fp3CXEyFtrA\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_readme_a2fbf715795d.png\" alt=\"加入 Discord 图片\"\n  width=\"400\"\n  \u002F>\u003C\u002Fa>\n  \u003Cbr>\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fp3CXEyFtrA\" target=\"_blank\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1347649495646601419?label=Join%20Discord&logo=discord&style=for-the-badge\" alt=\"加入 Discord 徽章\" \u002F>\n\u003C\u002Fa>\n\u003Cbr>\n\u003Cbr>\n\u003Cp>你也可以通过 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues\" target=\"_blank\">GitHub Issues\u003C\u002Fa> 报告 Bug 或请求功能。\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n## \u003Ca id=\"support\">\u003C\u002Fa>❓ 支持与联系\n\n* **主要支持与社区：** 请加入我们的 [Discord 服务器](#community)，获取帮助、参与讨论并观看演示。\n* **Bug 报告与功能请求：** 请使用 [GitHub Issues](https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues)。\n* **直接联系：** 你也可以通过 [Twitter\u002FX](https:\u002F\u002Fx.com\u002Ffagenorn) 联系我们。\n\n-----\n\n> [!TIP]\n> *请务必查阅 [Live2D 集成与绑定指南](.\u002FLive2D.md)，了解如何准备自定义头像。*\n> *有关详细的设置步骤，请参阅 [安装与设置指南](.\u002FINSTALLATION.md)。*","# handcrafted-persona-engine 快速上手指南\n\n**Persona Engine** 是一个一体化 toolkit，用于创建具有 AI 驱动语音、动画和个性的交互式虚拟角色。它结合了 Live2D 动画、大语言模型 (LLM)、自动语音识别 (ASR) 和文本转语音 (TTS)，非常适合 VTuber、直播互动及虚拟助手应用。\n\n## 🌸 环境准备\n\n在开始之前，请确保您的系统满足以下硬性要求：\n\n### 1. 系统要求\n*   **操作系统**: Windows (推荐) 或 Linux。\n*   **GPU (必需)**: 必须配备支持 **CUDA** 的 **NVIDIA 显卡**。核心功能（ASR, TTS, RVC）依赖 GPU 加速。\n*   **内存**: 建议 16GB 或以上。\n\n### 2. 前置依赖软件\n*   **.NET Runtime**: 安装最新版本的 .NET 运行时环境。\n*   **espeak-ng**: 用于 TTS 的发音引擎 fallback。\n    *   Windows: 下载并安装 [espeak-ng installer](https:\u002F\u002Fgithub.com\u002Fespeak-ng\u002Fespeak-ng\u002Freleases)。\n    *   Linux: `sudo apt-get install espeak-ng`\n*   **OBS Studio (可选)**: 如果需要推流或使用 Spout 输出画面，请安装 OBS Studio 并确保安装了 **Spout2** 插件。\n\n### 3. AI 模型与配置\n*   **LLM 访问权限**: 准备好 OpenAI 兼容的 API Key（如 OpenAI, Groq, 或本地 Ollama 服务地址）。\n*   **Live2D 模型**: 项目自带 \"Aria\" 模型，也可使用自定义 `.model3.json` 模型。\n\n---\n\n## 🚀 安装步骤\n\n### 1. 获取源码\n从 GitHub 下载最新发布的版本或克隆仓库：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine.git\ncd handcrafted-persona-engine\n```\n\n*注：国内用户若下载缓慢，可使用镜像源加速：*\n```bash\ngit clone https:\u002F\u002Fghp.ci\u002Fhttps:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine.git\ncd handcrafted-persona-engine\n```\n\n或者直接前往 [Releases 页面](https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Freleases\u002Flatest) 下载预编译的压缩包并解压。\n\n### 2. 下载 ASR 模型\n引擎需要 Whisper 模型进行语音识别。首次运行时通常会自动下载，若需手动放置，请将 Whisper 模型文件放入指定的 `models` 目录（具体路径参考 `appsettings.json` 配置）。\n\n### 3. 配置文件设置\n复制并编辑主配置文件 `appsettings.json`：\n\n```bash\ncp appsettings.json.example appsettings.json\n# 使用编辑器打开 appsettings.json 进行如下关键配置\n```\n\n**关键配置项说明：**\n*   **LLM 配置**: 填入你的 `ApiKey` 和 `Endpoint`。\n    ```json\n    \"Llm\": {\n      \"Provider\": \"OpenAI\", \n      \"ApiKey\": \"YOUR_API_KEY_HERE\",\n      \"Model\": \"gpt-4o-mini\" \n    }\n    ```\n*   **人格设定**: 编辑 `personality.txt` 文件。\n    *   **重要**: 如果使用标准大模型（非微调版），必须在此文件中精心编写 Prompt，定义角色的行为准则和输出格式（特别是情感标签 `[EMOTION:name]`）。参考仓库中的 `personality_example.txt`。\n*   **Spout 输出**: 如果需要使用 OBS，确保 `Spout` 相关选项启用。\n\n### 4. 运行引擎\n在项目根目录下运行程序：\n\n```bash\ndotnet run\n```\n\n如果是下载的预编译包，直接运行对应的 `.exe` (Windows) 或可执行文件。\n\n---\n\n## ✨ 基本使用\n\n启动成功后，您将看到控制 UI 窗口，并按以下流程与角色互动：\n\n### 1. 启动与监控\n*   程序启动后，会加载 Live2D 模型（默认为 Aria）。\n*   在 **Control UI** 中，您可以实时监控 LLM 延迟、TTS 状态和音频电平。\n*   确保麦克风权限已开启，引擎会通过 `Silero VAD` 自动检测语音活动。\n\n### 2. 与角色对话\n*   **说话**: 对着麦克风说话。引擎会自动识别语音结束，将其转录为文本。\n*   **思考**: 文本被发送至 LLM，结合 `personality.txt` 中的人格设定生成回复。\n*   **反馈**: \n    *   **视觉**: 角色会根据回复内容做出表情（如 `[EMOTION:happy]`）和口型同步动画。\n    *   **听觉**: 通过 TTS (Kokoro 模型) 播放语音，若开启了 RVC，声音会被克隆为特定音色。\n    *   **推流**: 画面和字幕会通过 Spout 自动发送到 OBS（需在 OBS 中添加 \"Spout2 Capture\" 源）。\n\n### 3. 简单示例场景\n假设您想创建一个简单的桌面陪伴助手：\n1.  修改 `personality.txt`，设定角色为一个“热情友好的桌面小助手”。\n2.  运行 `dotnet run`。\n3.  对着麦克风说：“你好，今天天气怎么样？”\n4.  观察屏幕上的 Live2D 角色眨眼、微笑，并听到它用合成的声音回答您，同时屏幕上显示字幕。\n\n### 4. 进阶调整\n*   **更换模型**: 将您的 Live2D 模型文件放入指定文件夹，并在配置中指向新的 `.model3.json` 路径（详见 `Live2D.md`）。\n*   **开启变声 (RVC)**: 在 `appsettings.json` 中启用 RVC 模块并加载对应的 ONNX 模型，即可让角色拥有特定的声音特征。\n*   **屏幕感知**: 启用 Vision 模块，让 AI 能够“看到”并读取您指定窗口中的文字内容。\n\n> **提示**: 为了获得最佳体验，强烈建议加入项目的 Discord 社区获取微调后的 LLM 模型推荐及更多配置模板。","独立游戏开发者小林正在为一款奇幻冒险游戏打造一位能实时与玩家对话、拥有独特性格的 NPC 向导，希望它能像真人主播一样通过语音和表情回应玩家。\n\n### 没有 handcrafted-persona-engine 时\n- **交互割裂**：需要分别搭建语音识别、大语言模型回复、语音合成和动画驱动四个独立模块，代码耦合度极高，调试困难。\n- **表现僵硬**：传统的 NPC 只能播放预设动画和固定台词，无法根据玩家千变万化的提问实时生成自然的口型和面部表情。\n- **人设易崩**：通用大模型缺乏角色专属的性格约束，回答往往像冷冰冰的机器人，难以维持“傲娇精灵”的特定语气。\n- **开发周期长**：整合 Live2D 模型与 AI 后端需要数周时间，且难以实现低延迟的流式互动，严重影响测试迭代效率。\n\n### 使用 handcrafted-persona-engine 后\n- **一站式集成**：直接调用集成了 ASR、LLM、TTS 和 RVC 的引擎，通过配置文件即可打通“听 - 想 - 说 - 演”全流程，大幅降低开发门槛。\n- **生动演绎**：Live2D 模型能根据 AI 生成的语音实时驱动口型与表情，让 NPC 在讲述剧情时眼神灵动，仿佛真有灵魂。\n- **性格鲜明**：只需在 `personality.txt` 中写入角色设定，结合微调后的模型，NPC 便能始终用符合“傲娇精灵”人设的口吻与玩家插科打诨。\n- **即插即用**：支持通过 Spout 无缝推流至 OBS 或游戏引擎，小林在两天内就完成了从原型到实机演示的部署，实现了真正的实时互动。\n\nhandcrafted-persona-engine 将繁琐的多模态 AI 整合为单一解决方案，让开发者能专注于角色灵魂的塑造而非底层技术的拼凑。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffagenorn_handcrafted-persona-engine_6369e1b2.png","fagenorn",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffagenorn_db02ef3a.jpg","Garlic Dog","anisanissakkaf@gmail.com","https:\u002F\u002Fgithub.com\u002Ffagenorn",[82,86,90],{"name":83,"color":84,"percentage":85},"C#","#178600",97.1,{"name":87,"color":88,"percentage":89},"Python","#3572A5",2.4,{"name":91,"color":92,"percentage":93},"Rust","#dea584",0.5,1026,118,"2026-04-05T19:43:29",4,"Windows","必需 NVIDIA GPU (支持 CUDA)，用于核心功能 (ASR, TTS, RVC)。具体型号和显存大小未说明，但需支持 ONNX 推理及 Whisper\u002FKokoro\u002FRVC 模型运行。","未说明",{"notes":102,"python":103,"dependencies":104},"1. 该项目主要基于 .NET 运行时，而非纯 Python 环境。2. 必须安装 espeak-ng 作为 TTS 的回退引擎。3. 核心 AI 功能 (语音识别、合成、变声) 强依赖 NVIDIA GPU 和 CUDA。4. 视觉输出通过 Spout 协议直接传输到 OBS Studio 或其他兼容软件，无需窗口捕获。5. 建议配合经过微调的 LLM 以获得最佳角色互动效果，若使用标准模型需在 personality.txt 中进行复杂的提示词工程。6. 包含名为 'Aria' 的预设 Live2D 模型，也支持导入自定义模型。","未说明 (基于 .NET Runtime 构建，非纯 Python 项目)",[105,106,107,108,109,110,111,112],".NET Runtime","espeak-ng","Whisper.NET (ASR)","kokoro (TTS 模型)","RVC ONNX 模型 (可选)","NAudio","PortAudio","Spout (用于 OBS 推流)",[26,14,15,13],[115,116,117,118,119,120],"ai","ai-vtuber","ai-waifu","chatbot","live2d","vtuber","2026-03-27T02:49:30.150509","2026-04-06T08:45:35.181607",[124,129,134,139],{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},9403,"是否支持将语音识别（STT）和语音合成（TTS）外包给远程服务器？","目前不支持。该项目的 STT 和 TTS 模块经过深度耦合优化，旨在最大限度地降低延迟。与通常流式输出的大语言模型不同，这里的 TTS 需要完全控制以最小化首次发声前的停顿，因此不适合流式传输或远程调用。不过，整个设置（从开始到结束）均可在本地计算机上运行，无需外部 API。对于大语言模型（LLM）部分，如果显存不足，可以选择使用 API，但它同样支持完美的本地运行。","https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues\u002F8",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},9404,"在 Windows 上首次设置时，关于 CUDA 和 cuDNN 有哪些关键的依赖注意事项？","应用程序需要安装 CUDA 12.1 或 12.2 运行时，且必须安装 cuDNN。重要提示：NVIDIA 提供的 .exe 安装程序无法正常工作，用户必须下载 cuDNN 的 tarball（压缩包）版本。推荐的安装步骤如下：\n1. 安装 CUDA 12.2（建议使用本地 exe 安装程序并安装到默认路径）。\n2. 下载适用于 CUDA 12.2 的 cuDNN v9 tar 文件。\n3. 解压 tar 文件，将其中的 `cuda\\bin\\*` 复制到 CUDA 安装目录的 `bin\\` 文件夹，将 `cuda\\include\\*` 复制到 `include\\` 文件夹（默认路径通常为 `C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.2\\`）。","https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues\u002F1",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},9405,"README 中的演示视频链接显示 404 错误怎么办？","该问题是由于演示视频尚未上传导致的。维护者已收到反馈并完成了视频上传，同时更新了 README 中的链接，现在应该可以正常访问了。","https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues\u002F2",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},9406,"如何启用俄语或其他语言支持？","根据现有的 Issue 记录，目前有用户询问如何启用俄语，但截至该问题关闭时，维护者尚未提供具体的配置方法或回复。建议关注项目后续的更新或直接在项目中提交新的 Issue 以获取最新的多语言支持进展。","https:\u002F\u002Fgithub.com\u002Ffagenorn\u002Fhandcrafted-persona-engine\u002Fissues\u002F3",[145,150,155,159],{"id":146,"version":147,"summary_zh":148,"released_at":149},116500,"v2.0.0","# Patch Notes - April 19, 2025 ✨ So Much New Stuff! ✨\r\n\r\nHello everyone! I've been a super busy bee 🐝, and I'm thrilled to bring you this update! It includes some really big behind-the-scenes changes I made to make everything run smoother, plus some sparkly new features and fixes. Let's dive in!\r\n\r\n## 🚀 Mega Makeover: Shiny New Architecture! (#4)\r\n\r\nI've given the core way conversations are handled a *major* glow-up! ✨ It's now built around a clever state machine and uses nifty event channels for communication.\r\n\r\n**Why the change?** Honestly, the old way was getting a bit tangled! Too much was happening in one place, making it tricky for me to manage, update, and keep things running happily side-by-side.\r\n\r\n**What's new?**\r\n\r\n* **Specialized Helpers!** Instead of one overworked manager, there's now a system of specialized components (like Input Adapters, a Transcription Service, an Utterance Aggregator, and more!) that chat with each other using events. 💌\r\n* **Benefits Galore:**\r\n    * **State Management Zen:** Keeping track of the conversation state is now neatly handled by the `ConversationOrchestrator`. Phew! 🙏\r\n    * **Smooth Operations:** Components handle their async tasks gracefully, and events make coordination a breeze.\r\n    * **Interrupt Power!** Handling interruptions (barge-in) and cancellations is much cleaner now.\r\n    * **Ready for the Future:** Adding new ways to interact (like text input or cool function calls) will be much easier for me! 🚀\r\n\r\n## ✨ Sparkly New Features!\r\n\r\n* **Memory Magic:** Introducing `ConversationContext` to remember all the chat details and turns, `ConversationSession` to manage the whole chat lifecycle like a pro, and the `ConversationOrchestrator` to juggle multiple chats at once! (07a0b3d)\r\n* **Speed Tracker:** I'm now keeping an eye on how fast the LLM, TTS, and audio bits are working! ⏱️ (040c9f6)\r\n* **Mic Check, 1, 2!** 🎤\r\n    * You can now configure your microphone right from the UI! (8b86527)\r\n    * Settings update on the fly! How cool is that? (b5bc87a)\r\n* **\"Excuse Me?\" - Barge-In Power!** Now you can interrupt the assistant much more smoothly, thanks to improved detection! (b97bfa9) Plus, you get new settings to control *exactly* when and how interruptions happen. Your chat, your rules! (e52d756)\r\n* **Audio Updates:**\r\n    * Added a `StopPlaybackAsync` button for audio streams. Handy! (ea2bfa5)\r\n    * Fixed the TTS Config Editor playback to work with the new system. Hooray! (270b857)\r\n* **ASR Goodies:** More options for Automatic Speech Recognition, including new Whisper settings! 🗣️ (bac3d91)\r\n* **Live2D Magic & Meet Aria!** 🎨💖\r\n    * Added services for Emotions and Idle\u002FBlinking animations for Live2D models! Get ready for more expressive characters! (0148ec4)\r\n    * Made `LAppModel` even smarter at understanding motion groups. (d9d0a2d)\r\n    * Built a whole system just for tracking emotions! (770b622)\r\n    * **🌟 Ta-da! Meet Aria! 🌟** To show off all these amazing new Live2D possibilities (like emotions and lip-sync!), I've included a **brand new, fully rigged demo model named Aria!** This little cutie (who's maybe just a *tad* smug and sarcastic 😉) was **drawn and rigged entirely by hand, from scratch**, by me, learning Live2D just for this! 🥰 It took a *ton* of effort and love, so please check her out and see the new features in action!\r\n* **Lip Sync Upgrade:** Added shiny new VBridger-based lip sync! (9e27050)\r\n* **Rendering Sparkle:**\r\n    * Render components now have priorities! (9e27050)\r\n    * Added support for rendering emojis in the GUI! 🎉🥳🎈 (15f67e5)\r\n\r\n## 🛠️ Tinkering & Tidying Up\r\n\r\n* **Mic Input Polish:** Made the microphone input code a bit simpler and tidier. ✨ (753ab69, 789ec27)\r\n* **Audio Player Lifecycle:** Made the audio player easier to manage behind the scenes. (89e2c12)\r\n* **Code Cleanup:** Removed some old viseme bits that weren't needed anymore. Spring cleaning! 🧹 (9e27050)\r\n* **Live2D Tweaks:**\r\n    * Updated motion priorities and added clearer comments. (d9d0a2d)\r\n    * Adjusted how models are loaded in the `Live2DManager`. (d9d0a2d)\r\n\r\n## 🐛 Bug Squashing!\r\n\r\n* **TTS Chit-Chat:** Fixed a funny bug where the TTS system would sometimes read speaker tags out loud. Oops! 🤭 (3b1f78e)\r\n* **Lost & Found Links:** Updated some links in the instructions so they actually go to the right place! (bff6851)\r\n\r\n## 📚 Story Time: Documentation Updates\r\n\r\n* **README Refresh:** Gave the main README file a nice makeover. (b4fc703)\r\n* **Live2D Guide:** Added a guide to help with Live2D rigging! 🎨 (b4fc703)\r\n* **Clearer Instructions:** Updated links in the usage instructions for less confusion. (bff6851)\r\n\r\n---\r\n\r\nI hope you love all the changes and new features! Especially give a warm welcome to Aria! Let me know what you think! 💖","2025-04-19T21:39:31",{"id":151,"version":152,"summary_zh":153,"released_at":154},116501,"spout_receiver","A simple spout receiver .exe instead of having to setup the whole OBS + Spout plugin","2025-04-17T20:33:30",{"id":156,"version":157,"summary_zh":76,"released_at":158},116502,"v1.0.0","2025-03-28T22:23:46",{"id":160,"version":161,"summary_zh":162,"released_at":163},116503,"whisper_models","### Whisper Speech Recognition Models\r\n\r\n**High-Performance Model (e.g., `ggml-large-v3-turbo.bin`):**\r\n\r\n* Models like `large-v3` or the optimized `large-v3-turbo` offer high accuracy for speech recognition.\r\n* However, larger models require significant computational resources (CPU, RAM, VRAM).\r\n* This resource demand can lead to higher latency (slower processing times). The `large-v3-turbo` variant is a distilled version of `large-v3`, designed to be faster with a minor trade-off in accuracy.\r\n\r\n**Improving Latency with Alternative Models:**\r\n\r\n* If lower latency (faster processing) is a priority, especially on less powerful hardware, consider using smaller or quantized Whisper models.\r\n* These models trade some accuracy for reduced size and faster inference speed.\r\n* Common sizes include: `tiny`, `base`, `small`, `medium`. Quantized versions (e.g., `q5_0`, `q8_0`) further reduce resource usage.\r\n\r\n**Where to Find Models:**\r\n\r\nYou can download various pre-converted Whisper models in the `ggml` format from Hugging Face repositories:\r\n\r\n1.  [https:\u002F\u002Fhuggingface.co\u002Fsandrohanea\u002Fwhisper.net\u002Ftree\u002Fmain](https:\u002F\u002Fhuggingface.co\u002Fsandrohanea\u002Fwhisper.net\u002Ftree\u002Fmain)\r\n2.  [https:\u002F\u002Fhuggingface.co\u002Fggerganov\u002Fwhisper.cpp\u002Ftree\u002Fmain](https:\u002F\u002Fhuggingface.co\u002Fggerganov\u002Fwhisper.cpp\u002Ftree\u002Fmain)\r\n\r\n> [!WARNING]\r\n> If you download an alternative model from the Hugging Face links provided (i.e., any model *other* than the default one provided below, such as `ggml-base.bin`, `ggml-small.bin`, or a quantized version):\r\n> * You **must** rename the downloaded file exactly to: `ggml-large-v3-turbo.bin`\r\n>\r\n> This renaming step is crucial because the engine is configured to load only a file with this exact name. Failing to rename the alternative model file will likely result in the application being unable to find and load it.\r\n\r\n\r\n\r\n\r\n\r\n\r\n","2025-03-28T22:07:20"]