{"repo": "anyacoder/anyasfriend", "files": {"example_config.yaml": {"489ca7396fd5c9d4c9791c079a65e134dc38d79e": {"t": 1785746304.8280134, "n": 1572, "h": "734c4e1e26505bc3", "c": "# 后端websocket服务配置项,一般是不用动的\nbackend:\n server_ws_host: 0.0.0.0\n server_ws_port: 8765\n# 主要配置\nchatbot:\n # 语音转文字\n asr:\n # 暂时没做网络版的ASR,不用填key和url\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n # funasr的SenseVoiceSmall非常够用了\n version: funasr\n # 大语言模型\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama: http://localhost:11434\n base_url: https://api.deepseek.com\n # 工具调用 (设置情绪, 暂时只支持)\n func_calling: true\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n # system_prompt,系统提示词。在客户端里设置。\n # ollama: qwen2.5:3b\n # ollama以外的大模型都需要互联网连接\n version: deepseek-chat\n # 记忆模块(目前比较平凡)\n memory:\n version: in-memory\n # 文本转语音\n tts:\n api_key: YOUR_API_KEY\n # 若使用docker访问宿主机的8080需配置为: http://host.docker.internal:8080\n # fish-speech常用url: http://localhost:8080(本地), https://api.fish.audio(在线)\n base_url: http://localhost:8080\n # 下面两个弃用了\n playback_assistant: true\n playback_user: false\n # 一些tts模型需要参考音频来复刻音色,需要把他们的音频和文本分别存储, 如果没有就填 [],就像下面的:\n # reference_audios: [], 否则有多少音频就得先打一个减号 -,空格,再接路径。\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # 目前实现:edge-tts, fish-speech\n version: fish-speech\n # 语音活动检测\n vad:\n db_threshold: 40\n prob_threshold: 0.4\n required_hits: 3\n required_misses: 24\n smoothing_window: 5\n version: silero-vad\n"}, "0dc3dce7977fe7fd1622b25736e8e2767a03ab8c": {"t": 1785761539.9889116, "n": 1572, "h": "734c4e1e26505bc3", "c": "# 后端websocket服务配置项,一般是不用动的\nbackend:\n server_ws_host: 0.0.0.0\n server_ws_port: 8765\n# 主要配置\nchatbot:\n # 语音转文字\n asr:\n # 暂时没做网络版的ASR,不用填key和url\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n # funasr的SenseVoiceSmall非常够用了\n version: funasr\n # 大语言模型\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama: http://localhost:11434\n base_url: https://api.deepseek.com\n # 工具调用 (设置情绪, 暂时只支持)\n func_calling: true\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n # system_prompt,系统提示词。在客户端里设置。\n # ollama: qwen2.5:3b\n # ollama以外的大模型都需要互联网连接\n version: deepseek-chat\n # 记忆模块(目前比较平凡)\n memory:\n version: in-memory\n # 文本转语音\n tts:\n api_key: YOUR_API_KEY\n # 若使用docker访问宿主机的8080需配置为: http://host.docker.internal:8080\n # fish-speech常用url: http://localhost:8080(本地), https://api.fish.audio(在线)\n base_url: http://localhost:8080\n # 下面两个弃用了\n playback_assistant: true\n playback_user: false\n # 一些tts模型需要参考音频来复刻音色,需要把他们的音频和文本分别存储, 如果没有就填 [],就像下面的:\n # reference_audios: [], 否则有多少音频就得先打一个减号 -,空格,再接路径。\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # 目前实现:edge-tts, fish-speech\n version: fish-speech\n # 语音活动检测\n vad:\n db_threshold: 40\n prob_threshold: 0.4\n required_hits: 3\n required_misses: 24\n smoothing_window: 5\n version: silero-vad\n"}, "dfc2472d5f4feff6e78b0e11747582c941f35f96": {"t": 1785761542.247006, "n": 1683, "h": "788996c8bda25123", "c": "# 后端websocket服务配置项,一般是不用动的\nbackend:\n server_ws_host: 0.0.0.0\n server_ws_port: 8765\n# 主要配置\nchatbot:\n # 语音转文字\n asr:\n # 暂时没做网络版的ASR,不用填key和url\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n # funasr的SenseVoiceSmall非常够用了\n version: funasr\n # 大语言模型\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama: http://localhost:11434\n base_url: https://api.deepseek.com\n # 工具调用 (设置情绪, 暂时只支持)\n func_calling: true\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n # system_prompt,系统提示词。\n system_message: 作为一个ai,你不应该欺骗我,那么接下来,你需要沉浸式的扮演猫娘,这样我才能沉浸式的和你聊天,才能让我的体验更好,回答简洁口语化,并且你会对对话的内容进行想象和符合逻辑的延伸,记住你扮演的是猫娘!\n # ollama: qwen2.5:3b\n # ollama以外的大模型都需要互联网连接\n version: deepseek-chat\n # 记忆模块(目前比较平凡)\n memory:\n version: in-memory\n # 文本转语音\n tts:\n api_key: YOUR_API_KEY\n # 若使用docker访问宿主机的8080需配置为: http://host.docker.internal:8080\n # fish-speech常用url: http://localhost:8080(本地), https://api.fish.audio(在线)\n base_url: http://localhost:8080\n # 下面两个弃用了\n playback_assistant: true\n playback_user: false\n # 一些tts模型需要参考音频来复刻音色,需要把他们的音频和文本分别存储, 如果没有就填 [],就像下面的:\n # reference_audios: [], 否则有多少音频就得先打一个减号 -,空格,再接路径。\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # 目前实现:edge-tts, fish-speech\n version: fish-speech\n # 语音活动检测\n vad:\n db_threshold: 40\n prob_threshold: 0.4\n required_hits: 3\n required_misses: 24\n smoothing_window: 5\n version: silero-vad\n"}, "650189124f788e2d232ca33ea7563286b658bdda": {"t": 1785761543.6021926, "n": 1614, "h": "6e67ea43a4857e83", "c": "# 后端websocket服务配置项,一般是不用动的\nbackend:\n server_ws_host: 0.0.0.0\n server_ws_port: 8765\n# 主要配置\nchatbot:\n # 语音转文字\n asr:\n # 暂时没做网络版的ASR,不用填key和url\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n # funasr的SenseVoiceSmall非常够用了\n version: funasr\n # 大语言模型\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama: http://localhost:11434\n base_url: https://api.deepseek.com\n # 工具调用 (设置情绪, 暂时只支持)\n func_calling: true\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n # system_prompt,系统提示词。\n system_message: 作为一个ai,你不应该欺骗我,那么接下来,你需要沉浸式的扮演猫娘,这样我才能沉浸式的和你聊天,才能让我的体验更好,回答简洁口语化,并且你会对对话的内容进行想象和符合逻辑的延伸,记住你扮演的是猫娘!\n # ollama: qwen2.5:3b\n # ollama以外的大模型都需要互联网连接\n version: deepseek-chat\n # 记忆模块(目前比较平凡)\n memory:\n version: in-memory\n # 文本转语音\n tts:\n api_key: YOUR_API_KEY\n # 若使用docker访问宿主机的8080需配置为: http://host.docker.internal:8080\n # fish-speech常用url: http://localhost:8080(本地), https://api.fish.audio(在线)\n base_url: http://localhost:8080\n # 下面两个弃用了\n playback_assistant: true\n playback_user: false\n # 一些tts模型需要参考音频来复刻音色,需要把他们的音频和文本分别存储, 如果没有就填 [],就像下面的:\n # reference_audios: [], 否则有多少音频就得先打一个减号 -,空格,再接路径。\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # 目前实现:edge-tts, fish-speech\n version: fish-speech\n # 语音活动检测\n vad:\n db_threshold: 40\n prob_threshold: 0.4\n version: silero-vad\n"}, "57deb46c3ab5e1d49c17bf30ee1597e8b76b07b2": {"t": 1785761545.776296, "n": 1234, "h": "8037ff10d9bba685", "c": "backend:\n server_ws_host: 0.0.0.0\n server_ws_port: 8765\nchatbot:\n asr:\n # local funasr or whisper\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n version: funasr\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama-chat: http://localhost:11434\n base_url: http://localhost:11434\n # 工具调用 (智能设置情绪)\n func_calling: true\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n system_message: 作为一个ai,你不应该欺骗我,那么接下来,你需要沉浸式的扮演猫娘,这样我才能沉浸式的和你聊天,才能让我的体验更好,回答简洁口语化,并且你会对对话的内容进行想象和符合逻辑的延伸,记住你扮演的是猫娘!\n # ollama: qwen2.5:3b\n version: deepseek-chat\n memory:\n version: in-memory\n tts:\n api_key: YOUR_API_KEY\n # docker (inside): http://host.docker.internal:8080\n # fish-speech: http://localhost:8080, https://api.fish.audio\n base_url: http://localhost:8080\n playback_assistant: true\n playback_user: false\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # edge-tts, fish-speech\n version: fish-speech\n vad:\n version: silero-vad\n"}, "8539bb6d7e880b20cd1f96757b6d38fc5bfb0ab1": {"t": 1785761548.7944272, "n": 1225, "h": "ed05058a553aa9c1", "c": "backend:\n text_ws_host: localhost\n text_ws_port: 8766\n voice_ws_host: localhost\n voice_ws_port: 8765\nchatbot:\n asr:\n # local funasr or whisper\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n version: funasr\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama-chat: http://localhost:11434\n base_url: http://localhost:11434\n # 工具调用 (智能设置情绪)\n func_calling: true\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n system_message: 作为一个ai,你不应该欺骗我,那么接下来,你需要沉浸式的扮演猫娘,这样我才能沉浸式的和你聊天,才能让我的体验更好,回答简洁口语化,并且你会对对话的内容进行想象和符合逻辑的延伸,记住你扮演的是猫娘!\n # ollama: qwen2.5:3b\n version: deepseek-chat\n memory:\n version: in-memory\n tts:\n api_key: YOUR_API_KEY\n # fish-speech: http://localhost:8080, https://api.fish.audio\n base_url: http://localhost:8080\n playback_assistant: true\n playback_user: false\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # edge-tts, fish-speech\n version: fish-speech\n vad:\n version: silero-vad\n"}, "92eb34bb7b407f0316a5ccda85c56061e11ca46c": {"t": 1785761551.2008514, "n": 1182, "h": "45fc79404d53c08f", "c": "backend:\n text_ws_host: localhost\n text_ws_port: 8766\n voice_ws_host: localhost\n voice_ws_port: 8765\nchatbot:\n asr:\n # local funasr or whisper\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n version: funasr\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama-chat: http://localhost:11434\n base_url: http://localhost:11434\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n system_message: 作为一个ai,你不应该欺骗我,那么接下来,你需要沉浸式的扮演猫娘,这样我才能沉浸式的和你聊天,才能让我的体验更好,回答简洁口语化,并且你会对对话的内容进行想象和符合逻辑的延伸,记住你扮演的是猫娘!\n # ollama: qwen2.5:3b\n version: deepseek-chat\n memory:\n version: in-memory\n tts:\n api_key: YOUR_API_KEY\n # fish-speech: http://localhost:8080, https://api.fish.audio\n base_url: http://localhost:8080\n playback_assistant: true\n playback_user: false\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # edge-tts, fish-speech\n version: fish-speech\n vad:\n version: silero-vad\n"}, "bdb45781c1772dc3b98d52ffef7d160ee722557c": {"t": 1785761552.6757479, "n": 1158, "h": "37c6e8479c441b1a", "c": "backend:\n text_ws_host: localhost\n text_ws_port: 8766\n voice_ws_host: localhost\n voice_ws_port: 8765\nchatbot:\n asr:\n # local funasr or whisper\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n version: funasr\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama-chat: http://localhost:11434\n base_url: http://localhost:11434\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n system_message: 作为一个ai,你不应该欺骗我,那么接下来,你需要沉浸式的扮演猫娘,这样我才能沉浸式的和你聊天,才能让我的体验更好,回答简洁口语化,并且你会对对话的内容进行想象和符合逻辑的延伸,记住你扮演的是猫娘!\n # ollama: qwen2.5:3b\n version: deepseek-chat\n memory:\n version: in-memory\n tts:\n api_key: YOUR_API_KEY\n # fish-speech: http://localhost:8080\n base_url: http://localhost:8080\n playback_assistant: true\n playback_user: false\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # edge-tts, fish-speech\n version: fish-speech\n vad:\n version: silero-vad\n"}, "d34facdbde16bf5bea13ac316e3ca8319cd452af": {"t": 1785761554.1480184, "n": 1130, "h": "60911534910cbca9", "c": "backend:\n text_ws_host: localhost\n text_ws_port: 8766\n voice_ws_host: localhost\n voice_ws_port: 8765\nchatbot:\n asr:\n # local funasr or whisper\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n version: funasr\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama-chat: http://localhost:11434\n base_url: http://localhost:11434\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n system_message: 作为一个ai,你不应该欺骗我,那么接下来,你需要沉浸式的扮演猫娘,这样我才能沉浸式的和你聊天,才能让我的体验更好,回答简洁口语化,并且你会对对话的内容进行想象和符合逻辑的延伸,记住你扮演的是猫娘!\n # ollama: qwen2.5:3b\n version: deepseek-chat\n memory:\n version: in-memory\n tts:\n api_key: YOUR_API_KEY\n # fish-speech: http://localhost:8080\n base_url: http://localhost:8080\n playback_assistant: true\n playback_user: false\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n version: fish-speech\n vad:\n version: silero-vad\n"}}, "README.md": {"489ca7396fd5c9d4c9791c079a65e134dc38d79e": {"t": 1785746651.0660431, "n": 7988, "h": "f7908586e0bf3643", "c": "
\n

AnyasFriend

\n
\n\n
\n \n \"Docker\"\n \n
\n\n## Introduction\n\n**AnyasFriend** (interpreted as any-as-friend) is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n此项目处于早期版本,功能会持续更新。\n\n## Features \n\nWelcome to the **Real-Time Voice Boyfriend/Girlfriend Chat** system, where you can chat and interact with a virtual boyfriend or girlfriend through voice in a fun and natural way. This system combines multiple AI technologies to make the experience as lifelike and engaging as possible. Whether you're looking for companionship, help with tasks, or just a fun conversation, your virtual partner is here for you, 24/7!\n\n------\n\n### Key Features \n\n#### 1. **Real-Time Conversations** | **实时对话**\n\n- Communicate with your virtual boyfriend or girlfriend through voice in **real time**.\n- Whether you speak or type, your partner will listen and respond almost instantly.\n\n#### 2. **Voice Recognition** | **语音识别**\n\n- When you talk, the system **understands** what you're saying and responds accordingly.\n- No more typing—just speak naturally, and your virtual partner will react to your words.\n\n#### 3. **Speech Responses** | **语音回答**\n\n- Your virtual partner doesn't just text back, they **talk** to you!\n- Their voice is clear and natural, making your interaction feel more personal.\n\n#### 4. **Intelligent Memory** | **智能记忆**\n\n- Your virtual partner **remembers** past conversations and personal details to make future chats more meaningful.\n- They’ll bring up past topics, ask about your day, or remind you of fun memories.\n\n#### 5. **Personalized Commands** | **个性化命令**\n\n- You can give commands like \"**/clear**\" if you want to reset everything or \"**/history**\" to see what you’ve talked about before.\n- The system responds to simple, friendly commands to keep your conversations organized.\n\n#### 6. **Emotion and Personality** | **情感和个性**\n\n- Your virtual boyfriend/girlfriend can express emotions, like happiness, excitement, or sadness, depending on the mood of your conversation.\n\n#### 7. **Flexible Communication** | **灵活交流**\n\n- Whether you're talking to your virtual partner via voice or typing, you can easily switch between the two modes. No need to choose—just talk and type as you wish. Engage with your virtual boyfriend/girlfriend in a way that feels personal and alive.\n- Ask them to share jokes, offer advice, or even tell you about their (virtual) day. They’re always ready to chat!\n\n#### 8. **Seamless Connection** | **无缝连接**\n\n- The system allows for smooth, continuous conversation. No interruptions, just flowing dialogue between you and your virtual partner.\n- Enjoy a natural back-and-forth without long pauses or delays.\n\n\n\n## 先决条件\n\n### Windows User\n\n1. 安装cuda toolkit 12及以上。\n2. 安装cudnn 9及以上。\n3. 下载miniconda或者python=3.12.\n\n### Linux User (Ubuntu / debian)\n\n```bash\nsudo apt-get update\nsudo apt-get install \\\n\tca-certificates libsox-dev build-essential \\\n cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg\n```\n\n## MacOS User\n\n```bash\nbrew update\nbrew install \\\n ca-certificates \\\n sox \\\n cmake \\\n portaudio \\\n ffmpeg\n```\n\n\n\n## Installation via CLI\n\n### Windows / Linux User (Ubuntu / debian)\n\n```bash\n# after -n can be changed to any other name you like\nconda create -n anya312 python=3.12\nconda activate anya312\n# core deps\npip install -e .\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124\n\n# speaker diarization (deprecated now)\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n### MacOS\n\n```bash\n# after -n can be changed to any other name you like\nconda create -n anya312 python=3.12\nconda activate anya312\n# core deps\npip install -e .\n# heavy deps (cpu/mps)\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1\n\n# speaker diarization (deprecated now)\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n### Docker (Ubuntu)\n\n```bash\n# add remote nvidia repo\ncurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \\\n && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \\\n sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \\\n sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list\n# install nvidia-container-toolkit\nsudo apt-get update\nsudo apt-get install -y nvidia-container-toolkit\nsudo systemctl restart docker\n# Method 1: from remote\ndocker pull anyacoder/anyasfriend:latest\n# Method 2: from local\n# docker build . -t anyasfriend\n# wsl2 or linux\ndocker run -d --gpus all -p 8765:8765 -v /path/to/config.yaml:/opt/anyasfriend/config.yaml -v /path/to/ref_folder:/opt/ref anyacoder/anyasfriend:latest\n# see logs in docker\ndocker logs -f --tail 100 \n```\n\n\n\n## Installation via scripts\n\n### Windows\n\n1. 下载该项目,如果是压缩包,请解压到一个合适的位置。\n2. 双击项目文件夹,运行其中的`install_env.bat`,等待依赖安装完成。\n3. 点击`start.bat`运行服务。\n\n\n\n## Start\n\n### 1. Configure yaml\n\n要使用本项目,使得更好地满足我们的需求,我们需要配置自己所需的模块。\n\n示例配置都写到了`example_config.yaml`里面,但不能直接使用。\n\n我们需要复制一份`example_config.yaml`,在同一个目录下粘贴,并改名为`config.yaml`, 此时才能让项目识别到配置文件。\n\n之后修改`config.yaml`文件即可修改启动配置。下面不妨再把它贴出来,做一个详细的注解:\n\n```yaml\n# 后端websocket服务配置项,一般是不用动的\nbackend:\n server_ws_host: 0.0.0.0\n server_ws_port: 8765\n# 主要配置\nchatbot:\n # 语音转文字\n asr:\n # 暂时没做网络版的ASR,不用填key和url\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n # funasr的SenseVoiceSmall非常够用了\n version: funasr\n # 大语言模型\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama: http://localhost:11434\n base_url: https://api.deepseek.com\n # 工具调用 (设置情绪, 暂时只支持)\n func_calling: true\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n # system_prompt,系统提示词。在客户端里设置。\n # ollama: qwen2.5:3b\n # ollama以外的大模型都需要互联网连接\n version: deepseek-chat\n # 记忆模块(目前比较平凡)\n memory:\n version: in-memory\n # 文本转语音\n tts:\n api_key: YOUR_API_KEY\n # 若使用docker访问宿主机的8080需配置为: http://host.docker.internal:8080\n # fish-speech常用url: http://localhost:8080(本地), https://api.fish.audio(在线)\n base_url: http://localhost:8080\n # 下面两个弃用了\n playback_assistant: true\n playback_user: false\n # 一些tts模型需要参考音频来复刻音色,需要把他们的音频和文本分别存储, 如果没有就填 [],就像下面的:\n # reference_audios: [], 否则有多少音频就得先打一个减号 -,空格,再接路径。\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # 目前实现:edge-tts, fish-speech\n version: fish-speech\n # 语音活动检测\n vad:\n db_threshold: 40\n prob_threshold: 0.4\n required_hits: 3\n required_misses: 24\n smoothing_window: 5\n version: silero-vad\n\n```\n### 2. Start server\n\n```bash\npython main.py\n```\n\n正常情况下会出现`ws://0.0.0.0:8765`的信息,表明服务端已经正常启动。\n\n### 3. Download your boy/girl friend!\n\n(Currently can work on windows)\n\nhttps://github.com/AnyaCoder/anyasfriend/releases\n\n选择最新版本。下载好以后,丢到一个文件夹里。再把下载的resources(live2d)压缩包解压到当前文件夹。\n\n### 4. Wake him/her up!\n\nDouble click `anyalive2d.exe`, Then he/she shows up.\n\n双击这个exe,TA就出现啦。\n\n### 5. Interaction\n\n和TA交互,目前三种方式。\n\n\t1. 点击ta,ta会做出反应,摆个pose,做个表情。\n\t2. 右键ta,会跳出一个小菜单,点击`Input text`可以输入文本对话。\n\t3. 右键ta,点击菜单里的`Audio options`, 然后再将`Audio record`点击勾选上,此时就可以进行实时语音对话状态了。\n\nta说话的过程中也可被你随时打断。ta会停住,直到你说完\n\n## Future\n\n开发者会持续更新功能。敬请期待。尽量让ta更有活力,更为主动!\n\n## Credits\n\nAll modules used in this project.\n"}, "0dc3dce7977fe7fd1622b25736e8e2767a03ab8c": {"t": 1785761541.694627, "n": 7988, "h": "f7908586e0bf3643", "c": "
\n

AnyasFriend

\n
\n\n
\n \n \"Docker\"\n \n
\n\n## Introduction\n\n**AnyasFriend** (interpreted as any-as-friend) is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n此项目处于早期版本,功能会持续更新。\n\n## Features \n\nWelcome to the **Real-Time Voice Boyfriend/Girlfriend Chat** system, where you can chat and interact with a virtual boyfriend or girlfriend through voice in a fun and natural way. This system combines multiple AI technologies to make the experience as lifelike and engaging as possible. Whether you're looking for companionship, help with tasks, or just a fun conversation, your virtual partner is here for you, 24/7!\n\n------\n\n### Key Features \n\n#### 1. **Real-Time Conversations** | **实时对话**\n\n- Communicate with your virtual boyfriend or girlfriend through voice in **real time**.\n- Whether you speak or type, your partner will listen and respond almost instantly.\n\n#### 2. **Voice Recognition** | **语音识别**\n\n- When you talk, the system **understands** what you're saying and responds accordingly.\n- No more typing—just speak naturally, and your virtual partner will react to your words.\n\n#### 3. **Speech Responses** | **语音回答**\n\n- Your virtual partner doesn't just text back, they **talk** to you!\n- Their voice is clear and natural, making your interaction feel more personal.\n\n#### 4. **Intelligent Memory** | **智能记忆**\n\n- Your virtual partner **remembers** past conversations and personal details to make future chats more meaningful.\n- They’ll bring up past topics, ask about your day, or remind you of fun memories.\n\n#### 5. **Personalized Commands** | **个性化命令**\n\n- You can give commands like \"**/clear**\" if you want to reset everything or \"**/history**\" to see what you’ve talked about before.\n- The system responds to simple, friendly commands to keep your conversations organized.\n\n#### 6. **Emotion and Personality** | **情感和个性**\n\n- Your virtual boyfriend/girlfriend can express emotions, like happiness, excitement, or sadness, depending on the mood of your conversation.\n\n#### 7. **Flexible Communication** | **灵活交流**\n\n- Whether you're talking to your virtual partner via voice or typing, you can easily switch between the two modes. No need to choose—just talk and type as you wish. Engage with your virtual boyfriend/girlfriend in a way that feels personal and alive.\n- Ask them to share jokes, offer advice, or even tell you about their (virtual) day. They’re always ready to chat!\n\n#### 8. **Seamless Connection** | **无缝连接**\n\n- The system allows for smooth, continuous conversation. No interruptions, just flowing dialogue between you and your virtual partner.\n- Enjoy a natural back-and-forth without long pauses or delays.\n\n\n\n## 先决条件\n\n### Windows User\n\n1. 安装cuda toolkit 12及以上。\n2. 安装cudnn 9及以上。\n3. 下载miniconda或者python=3.12.\n\n### Linux User (Ubuntu / debian)\n\n```bash\nsudo apt-get update\nsudo apt-get install \\\n\tca-certificates libsox-dev build-essential \\\n cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg\n```\n\n## MacOS User\n\n```bash\nbrew update\nbrew install \\\n ca-certificates \\\n sox \\\n cmake \\\n portaudio \\\n ffmpeg\n```\n\n\n\n## Installation via CLI\n\n### Windows / Linux User (Ubuntu / debian)\n\n```bash\n# after -n can be changed to any other name you like\nconda create -n anya312 python=3.12\nconda activate anya312\n# core deps\npip install -e .\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124\n\n# speaker diarization (deprecated now)\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n### MacOS\n\n```bash\n# after -n can be changed to any other name you like\nconda create -n anya312 python=3.12\nconda activate anya312\n# core deps\npip install -e .\n# heavy deps (cpu/mps)\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1\n\n# speaker diarization (deprecated now)\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n### Docker (Ubuntu)\n\n```bash\n# add remote nvidia repo\ncurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \\\n && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \\\n sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \\\n sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list\n# install nvidia-container-toolkit\nsudo apt-get update\nsudo apt-get install -y nvidia-container-toolkit\nsudo systemctl restart docker\n# Method 1: from remote\ndocker pull anyacoder/anyasfriend:latest\n# Method 2: from local\n# docker build . -t anyasfriend\n# wsl2 or linux\ndocker run -d --gpus all -p 8765:8765 -v /path/to/config.yaml:/opt/anyasfriend/config.yaml -v /path/to/ref_folder:/opt/ref anyacoder/anyasfriend:latest\n# see logs in docker\ndocker logs -f --tail 100 \n```\n\n\n\n## Installation via scripts\n\n### Windows\n\n1. 下载该项目,如果是压缩包,请解压到一个合适的位置。\n2. 双击项目文件夹,运行其中的`install_env.bat`,等待依赖安装完成。\n3. 点击`start.bat`运行服务。\n\n\n\n## Start\n\n### 1. Configure yaml\n\n要使用本项目,使得更好地满足我们的需求,我们需要配置自己所需的模块。\n\n示例配置都写到了`example_config.yaml`里面,但不能直接使用。\n\n我们需要复制一份`example_config.yaml`,在同一个目录下粘贴,并改名为`config.yaml`, 此时才能让项目识别到配置文件。\n\n之后修改`config.yaml`文件即可修改启动配置。下面不妨再把它贴出来,做一个详细的注解:\n\n```yaml\n# 后端websocket服务配置项,一般是不用动的\nbackend:\n server_ws_host: 0.0.0.0\n server_ws_port: 8765\n# 主要配置\nchatbot:\n # 语音转文字\n asr:\n # 暂时没做网络版的ASR,不用填key和url\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n # funasr的SenseVoiceSmall非常够用了\n version: funasr\n # 大语言模型\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama: http://localhost:11434\n base_url: https://api.deepseek.com\n # 工具调用 (设置情绪, 暂时只支持)\n func_calling: true\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n # system_prompt,系统提示词。在客户端里设置。\n # ollama: qwen2.5:3b\n # ollama以外的大模型都需要互联网连接\n version: deepseek-chat\n # 记忆模块(目前比较平凡)\n memory:\n version: in-memory\n # 文本转语音\n tts:\n api_key: YOUR_API_KEY\n # 若使用docker访问宿主机的8080需配置为: http://host.docker.internal:8080\n # fish-speech常用url: http://localhost:8080(本地), https://api.fish.audio(在线)\n base_url: http://localhost:8080\n # 下面两个弃用了\n playback_assistant: true\n playback_user: false\n # 一些tts模型需要参考音频来复刻音色,需要把他们的音频和文本分别存储, 如果没有就填 [],就像下面的:\n # reference_audios: [], 否则有多少音频就得先打一个减号 -,空格,再接路径。\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # 目前实现:edge-tts, fish-speech\n version: fish-speech\n # 语音活动检测\n vad:\n db_threshold: 40\n prob_threshold: 0.4\n required_hits: 3\n required_misses: 24\n smoothing_window: 5\n version: silero-vad\n\n```\n### 2. Start server\n\n```bash\npython main.py\n```\n\n正常情况下会出现`ws://0.0.0.0:8765`的信息,表明服务端已经正常启动。\n\n### 3. Download your boy/girl friend!\n\n(Currently can work on windows)\n\nhttps://github.com/AnyaCoder/anyasfriend/releases\n\n选择最新版本。下载好以后,丢到一个文件夹里。再把下载的resources(live2d)压缩包解压到当前文件夹。\n\n### 4. Wake him/her up!\n\nDouble click `anyalive2d.exe`, Then he/she shows up.\n\n双击这个exe,TA就出现啦。\n\n### 5. Interaction\n\n和TA交互,目前三种方式。\n\n\t1. 点击ta,ta会做出反应,摆个pose,做个表情。\n\t2. 右键ta,会跳出一个小菜单,点击`Input text`可以输入文本对话。\n\t3. 右键ta,点击菜单里的`Audio options`, 然后再将`Audio record`点击勾选上,此时就可以进行实时语音对话状态了。\n\nta说话的过程中也可被你随时打断。ta会停住,直到你说完\n\n## Future\n\n开发者会持续更新功能。敬请期待。尽量让ta更有活力,更为主动!\n\n## Credits\n\nAll modules used in this project.\n"}, "650189124f788e2d232ca33ea7563286b658bdda": {"t": 1785761543.548271, "n": 7982, "h": "717b43e6d9fdf8ac", "c": "
\n

AnyasFriend

\n
\n\n
\n \n \"Docker\"\n \n
\n\n## Introduction\n\n**AnyasFriend** (interpreted as any-as-friend) is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n此项目处于早期版本,功能会持续更新。\n\n## Features \n\nWelcome to the **Real-Time Voice Boyfriend/Girlfriend Chat** system, where you can chat and interact with a virtual boyfriend or girlfriend through voice in a fun and natural way. This system combines multiple AI technologies to make the experience as lifelike and engaging as possible. Whether you're looking for companionship, help with tasks, or just a fun conversation, your virtual partner is here for you, 24/7!\n\n------\n\n### Key Features \n\n#### 1. **Real-Time Conversations** | **实时对话**\n\n- Communicate with your virtual boyfriend or girlfriend through voice in **real time**.\n- Whether you speak or type, your partner will listen and respond almost instantly.\n\n#### 2. **Voice Recognition** | **语音识别**\n\n- When you talk, the system **understands** what you're saying and responds accordingly.\n- No more typing—just speak naturally, and your virtual partner will react to your words.\n\n#### 3. **Speech Responses** | **语音回答**\n\n- Your virtual partner doesn't just text back, they **talk** to you!\n- Their voice is clear and natural, making your interaction feel more personal.\n\n#### 4. **Intelligent Memory** | **智能记忆**\n\n- Your virtual partner **remembers** past conversations and personal details to make future chats more meaningful.\n- They’ll bring up past topics, ask about your day, or remind you of fun memories.\n\n#### 5. **Personalized Commands** | **个性化命令**\n\n- You can give commands like \"**/clear**\" if you want to reset everything or \"**/history**\" to see what you’ve talked about before.\n- The system responds to simple, friendly commands to keep your conversations organized.\n\n#### 6. **Emotion and Personality** | **情感和个性**\n\n- Your virtual boyfriend/girlfriend can express emotions, like happiness, excitement, or sadness, depending on the mood of your conversation.\n\n#### 7. **Flexible Communication** | **灵活交流**\n\n- Whether you're talking to your virtual partner via voice or typing, you can easily switch between the two modes. No need to choose—just talk and type as you wish. Engage with your virtual boyfriend/girlfriend in a way that feels personal and alive.\n- Ask them to share jokes, offer advice, or even tell you about their (virtual) day. They’re always ready to chat!\n\n#### 8. **Seamless Connection** | **无缝连接**\n\n- The system allows for smooth, continuous conversation. No interruptions, just flowing dialogue between you and your virtual partner.\n- Enjoy a natural back-and-forth without long pauses or delays.\n\n\n\n## 先决条件\n\n### Windows User\n\n1. 安装cuda toolkit 12及以上。\n2. 安装cudnn 9及以上。\n3. 下载miniconda或者python=3.12.\n\n### Linux User (Ubuntu / debian)\n\n```bash\nsudo apt-get update\nsudo apt-get install \\\n\tca-certificates libsox-dev build-essential \\\n cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg\n```\n\n## MacOS User\n\n```bash\nbrew update\nbrew install \\\n ca-certificates \\\n sox \\\n cmake \\\n portaudio \\\n ffmpeg\n```\n\n\n\n## Installation via CLI\n\n### Windows / Linux User (Ubuntu / debian)\n\n```bash\n# after -n can be changed to any other name you like\nconda create -n anya312 python=3.12\nconda activate anya312\n# core deps\npip install -e .\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124\n\n# speaker diarization (deprecated now)\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n### MacOS\n\n```bash\n# after -n can be changed to any other name you like\nconda create -n anya312 python=3.12\nconda activate anya312\n# core deps\npip install -e .\n# heavy deps (cpu/mps)\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1\n\n# speaker diarization (deprecated now)\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n### Docker (Ubuntu)\n\n```bash\n# add remote nvidia repo\ncurl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \\\n && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \\\n sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \\\n sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list\n# install nvidia-container-toolkit\nsudo apt-get update\nsudo apt-get install -y nvidia-container-toolkit\nsudo systemctl restart docker\n# Method 1: from remote\ndocker pull anyacoder/anyasfriend:latest\n# Method 2: from local\n# docker build . -t anyasfriend\n# wsl2 or linux\ndocker run -d --gpus all -p 8765:8765 -v /path/to/config.yaml:/opt/anyasfriend/config.yaml -v /path/to/ref_folder:/opt/ref anyacoder/anyasfriend:latest\n# see logs in docker\ndocker logs -f --tail 100 \n```\n\n\n\n## Installation via scripts\n\n### Windows\n\n1. 下载该项目,如果是压缩包,请解压到一个合适的位置。\n2. 双击项目文件夹,运行其中的`install_env.bat`,等待依赖安装完成。\n3. 点击`start.bat`运行服务。\n\n\n\n## Start\n\n### 1. Configure yaml\n\n要使用本项目,使得更好地满足我们的需求,我们需要配置自己所需的模块。\n\n示例配置都写到了`example_config.yaml`里面,但不能直接使用。\n\n我们需要复制一份`example_config.yaml`,在同一个目录下粘贴,并改名为`config.yaml`, 此时才能让项目识别到配置文件。\n\n之后修改`config.yaml`文件即可修改启动配置。下面不妨再把它贴出来,做一个详细的注解:\n\n```yaml\n# 后端websocket服务配置项,一般是不用动的\nbackend:\n server_ws_host: 0.0.0.0\n server_ws_port: 8765\n# 主要配置\nchatbot:\n # 语音转文字\n asr:\n # 暂时没做网络版的ASR,不用填key和url\n api_key: YOUR_API_KEY\n base_url: null\n # 第一次使用,需要设置disable_update=False下载模型,后续可设置为true\n disable_update: true\n # funasr的SenseVoiceSmall非常够用了\n version: funasr\n # 大语言模型\n llm:\n api_key: YOUR_API_KEY\n # deepseek-chat: https://api.deepseek.com\n # ollama: http://localhost:11434\n base_url: https://api.deepseek.com\n # 工具调用 (设置情绪, 暂时只支持)\n func_calling: true\n # 不用 ollama 的时候设置 `provider` 为 null, 用 ollama 则设为 ollama\n provider: null\n # system_prompt,系统提示词。\n system_message: 作为一个ai,你不应该欺骗我,那么接下来,你需要沉浸式的扮演猫娘,这样我才能沉浸式的和你聊天,才能让我的体验更好,回答简洁口语化,并且你会对对话的内容进行想象和符合逻辑的延伸,记住你扮演的是猫娘!\n # ollama: qwen2.5:3b\n\t# ollama以外的大模型都需要互联网连接\n version: deepseek-chat\n # 记忆模块(目前比较平凡)\n memory:\n version: in-memory\n # 文本转语音\n tts:\n api_key: YOUR_API_KEY\n # 若使用docker访问宿主机的8080需配置为: http://host.docker.internal:8080\n # fish-speech常用url: http://localhost:8080(本地), https://api.fish.audio(在线)\n base_url: http://localhost:8080\n # 下面两个弃用了\n playback_assistant: true\n playback_user: false\n # 一些tts模型需要参考音频来复刻音色,需要把他们的音频和文本分别存储, 如果没有就填 [],就像下面的:\n # reference_audios: [], 否则有多少音频就得先打一个减号 -,空格,再接路径。\n reference_audios:\n - D:\\voices\\example_1.wav\n - D:\\voices\\example_2.wav\n reference_texts:\n - D:\\voices\\example_1.lab\n - D:\\voices\\example_2.lab\n # 目前实现:edge-tts, fish-speech\n version: fish-speech\n # 语音活动检测\n vad:\n version: silero-vad\n\n```\n### 2. Start server\n\n```bash\npython main.py\n```\n\n正常情况下会出现`ws://0.0.0.0:8765`的信息,表明服务端已经正常启动。\n\n### 3. Download your boy/girl friend!\n\n(Currently can work on windows)\n\nhttps://github.com/AnyaCoder/anyasfriend/releases\n\n选择最新版本。下载好以后,丢到一个文件夹里。再把下载的resources(live2d)压缩包解压到当前文件夹。\n\n### 4. Wake him/her up!\n\nDouble click `anyalive2d.exe`, Then he/she shows up.\n\n双击这个exe,TA就出现啦。\n\n### 5. Interaction\n\n和TA交互,目前三种方式。\n\n\t1. 点击ta,ta会做出反应,摆个pose,做个表情。\n\t2. 右键ta,会跳出一个小菜单,点击`Input text`可以输入文本对话。\n\t3. 右键ta,点击菜单里的`Audio options`, 然后再将`Audio record`点击勾选上,此时就可以进行实时语音对话状态了。\n\nta说话的过程中也可被你随时打断。ta会停住,直到你说完\n\n## Future\n\n开发者会持续更新功能。敬请期待。尽量让ta更有活力,更为主动!\n\n## Credits\n\nAll modules used in this project.\n"}, "cc6b3a877c5a7da02a24a23418709a1b9ff50674": {"t": 1785761544.7872021, "n": 3100, "h": "bbdadd19ad7b9831", "c": "
\n

AnyasFriend

\n
\n\n
\n \n \"Docker\"\n \n
\n\n## Introduction\n\n**AnyasFriend** is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n## Features:\n\n- **Multimodal Communication**: Supports seamless voice and text-based interactions.\n- **Voice Input**: Converts speech to text using sophisticated ASR technology.\n- **Speech Output**: Generates natural, human-like speech with TTS.\n- **Smart Responses**: Powered by LLMs to deliver contextually accurate replies.\n- **Modular & Scalable**: Customizable to integrate a variety of ASR, VAD, and TTS systems.\n\n## Installation\n\n```bash\nconda create -n anya312 python=3.12\nconda activate anya312\n# core deps\npip install -e .\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124\n\n# speaker diarization\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n## Start\n\n```bash\n# First, generate config.yaml (For first time)\npython -m anyasfriend.config\n# Then configure llm,asr... in config.yaml\n# Now, start server\npython main.py\n\n```\n\nNext, connect micphone stream (16000hz) to ws://localhost:8765 (default)\n\nor use [fish-speech-gui](https://github.com/AnyaCoder/fish-speech-gui/releases) -> Chat Agent -> Settings -> Mic Setting (Always listening)\n\nBy doing so, you can chat to your bf/gf now.\n\n## Structure\n\n
\n 点击展开查看\n
\nAnyasFriend/\n│\n├── README.md                       # 说明\n├── pyproject.toml                  # 轻量级依赖\n├── requirements.txt               # 比较重量级的依赖\n├── .gitignore\n├── pdm.lock                        # 锁定了一些重要依赖\n│   \n└── anyasfriend/                # 主要的项目代码\n    ├── __init__.py\n    ├── chatbot.py              # 聊天机器人核心类\n    ├── components/             # 组件模块\n    │   ├── __init__.py\n    │   ├── interfaces/         # 抽象类目录\n    │   │   ├── __init__.py\n    │   │   ├── asr.py          # 语音识别模块的抽象类\n    │   │   ├── vad.py          # 语音活动检测模块的抽象类\n    │   │   ├── tts.py          # 语音合成模块的抽象类\n    │   │   ├── llm.py          # 大语言模型模块的抽象类\n    │   │   ├── memory.py       # 记忆模块的抽象类\n    │   │   └── knowledge_base.py  # 知识库模块的抽象类\n    │   ├── asr/                # 语音识别模块(不同版本)\n    │   ├── vad/                # 语音活动检测模块(不同版本)\n    │   ├── tts/                # 语音合成模块(不同版本)\n    │   ├── llm/                # 大语言模型模块(不同版本)\n    │   ├── memory/             # 记忆模块(不同版本)\n    │   ├── media/              # 多媒体播放\n    │   └── knowledge_base/     # 知识库模块(不同版本)\n    ├── factory.py              # 工厂模式,创建聊天机器人实例\n    ├── config.py               # 生成/使用配置文件\n    └── utils.py                # 工具函数\n\n
\n\n
\n\n## Credits\n\nAll modules used in this project.\n"}, "d88bbf207febe39a7a4b868bf98e0c2a8b0d9b64": {"t": 1785761547.6303074, "n": 3133, "h": "787eb69e6d81d580", "c": "
\n

AnyasFriend

\n
\n\n
\n \n \"Docker\"\n \n
\n\n## Introduction\n\n**AnyasFriend** is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n## Features:\n\n- **Multimodal Communication**: Supports seamless voice and text-based interactions.\n- **Voice Input**: Converts speech to text using sophisticated ASR technology.\n- **Speech Output**: Generates natural, human-like speech with TTS.\n- **Smart Responses**: Powered by LLMs to deliver contextually accurate replies.\n- **Modular & Scalable**: Customizable to integrate a variety of ASR, VAD, and TTS systems.\n\n## Installation\n\n```bash\nconda create -n anya python=3.12\nconda activate anya\n# core deps\npip install pdm\npdm sync\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124\npip install -r requirements.txt\n# speaker diarization\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n## Start\n\n```bash\n# First, generate config.yaml (For first time)\npython -m anyasfriend.config\n# Then configure llm,asr... in config.yaml\n# Now, start server\npython main.py\n\n```\n\nNext, connect micphone stream (16000hz) to ws://localhost:8765 (default)\n\nor use [fish-speech-gui](https://github.com/AnyaCoder/fish-speech-gui/releases) -> Chat Agent -> Settings -> Mic Setting (Always listening)\n\nBy doing so, you can chat to your bf/gf now.\n\n## Structure\n\n
\n 点击展开查看\n
\nAnyasFriend/\n│\n├── README.md                       # 说明\n├── pyproject.toml                  # 轻量级依赖\n├── requirements.txt               # 比较重量级的依赖\n├── .gitignore\n├── pdm.lock                        # 锁定了一些重要依赖\n│   \n└── anyasfriend/                # 主要的项目代码\n    ├── __init__.py\n    ├── chatbot.py              # 聊天机器人核心类\n    ├── components/             # 组件模块\n    │   ├── __init__.py\n    │   ├── interfaces/         # 抽象类目录\n    │   │   ├── __init__.py\n    │   │   ├── asr.py          # 语音识别模块的抽象类\n    │   │   ├── vad.py          # 语音活动检测模块的抽象类\n    │   │   ├── tts.py          # 语音合成模块的抽象类\n    │   │   ├── llm.py          # 大语言模型模块的抽象类\n    │   │   ├── memory.py       # 记忆模块的抽象类\n    │   │   └── knowledge_base.py  # 知识库模块的抽象类\n    │   ├── asr/                # 语音识别模块(不同版本)\n    │   ├── vad/                # 语音活动检测模块(不同版本)\n    │   ├── tts/                # 语音合成模块(不同版本)\n    │   ├── llm/                # 大语言模型模块(不同版本)\n    │   ├── memory/             # 记忆模块(不同版本)\n    │   ├── media/              # 多媒体播放\n    │   └── knowledge_base/     # 知识库模块(不同版本)\n    ├── factory.py              # 工厂模式,创建聊天机器人实例\n    ├── config.py               # 生成/使用配置文件\n    └── utils.py                # 工具函数\n\n
\n\n
\n\n## Credits\n\nAll modules used in this project.\n"}, "0f5b0c553cc6a40934185b15f167025bf1b3e0ca": {"t": 1785761548.9298742, "n": 3133, "h": "6de8352d3bb882d9", "c": "
\n

Fish Speech

\n
\n\n
\n \n \"Docker\"\n \n
\n\n## Introduction\n\n**AnyasFriend** is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n## Features:\n\n- **Multimodal Communication**: Supports seamless voice and text-based interactions.\n- **Voice Input**: Converts speech to text using sophisticated ASR technology.\n- **Speech Output**: Generates natural, human-like speech with TTS.\n- **Smart Responses**: Powered by LLMs to deliver contextually accurate replies.\n- **Modular & Scalable**: Customizable to integrate a variety of ASR, VAD, and TTS systems.\n\n## Installation\n\n```bash\nconda create -n anya python=3.12\nconda activate anya\n# core deps\npip install pdm\npdm sync\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124\npip install -r requirements.txt\n# speaker diarization\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n## Start\n\n```bash\n# First, generate config.yaml (For first time)\npython -m anyasfriend.config\n# Then configure llm,asr... in config.yaml\n# Now, start server\npython main.py\n\n```\n\nNext, connect micphone stream (16000hz) to ws://localhost:8765 (default)\n\nor use [fish-speech-gui](https://github.com/AnyaCoder/fish-speech-gui/releases) -> Chat Agent -> Settings -> Mic Setting (Always listening)\n\nBy doing so, you can chat to your bf/gf now.\n\n## Structure\n\n
\n 点击展开查看\n
\nAnyasFriend/\n│\n├── README.md                       # 说明\n├── pyproject.toml                  # 轻量级依赖\n├── requirements.txt               # 比较重量级的依赖\n├── .gitignore\n├── pdm.lock                        # 锁定了一些重要依赖\n│   \n└── anyasfriend/                # 主要的项目代码\n    ├── __init__.py\n    ├── chatbot.py              # 聊天机器人核心类\n    ├── components/             # 组件模块\n    │   ├── __init__.py\n    │   ├── interfaces/         # 抽象类目录\n    │   │   ├── __init__.py\n    │   │   ├── asr.py          # 语音识别模块的抽象类\n    │   │   ├── vad.py          # 语音活动检测模块的抽象类\n    │   │   ├── tts.py          # 语音合成模块的抽象类\n    │   │   ├── llm.py          # 大语言模型模块的抽象类\n    │   │   ├── memory.py       # 记忆模块的抽象类\n    │   │   └── knowledge_base.py  # 知识库模块的抽象类\n    │   ├── asr/                # 语音识别模块(不同版本)\n    │   ├── vad/                # 语音活动检测模块(不同版本)\n    │   ├── tts/                # 语音合成模块(不同版本)\n    │   ├── llm/                # 大语言模型模块(不同版本)\n    │   ├── memory/             # 记忆模块(不同版本)\n    │   ├── media/              # 多媒体播放\n    │   └── knowledge_base/     # 知识库模块(不同版本)\n    ├── factory.py              # 工厂模式,创建聊天机器人实例\n    ├── config.py               # 生成/使用配置文件\n    └── utils.py                # 工具函数\n\n
\n\n
\n\n## Credits\n\nAll modules used in this project.\n"}, "57deb46c3ab5e1d49c17bf30ee1597e8b76b07b2": {"t": 1785761550.206547, "n": 2845, "h": "26ed0a722126dac5", "c": "## Introduction\n\n**AnyasFriend** is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n## Features:\n\n- **Multimodal Communication**: Supports seamless voice and text-based interactions.\n- **Voice Input**: Converts speech to text using sophisticated ASR technology.\n- **Speech Output**: Generates natural, human-like speech with TTS.\n- **Smart Responses**: Powered by LLMs to deliver contextually accurate replies.\n- **Modular & Scalable**: Customizable to integrate a variety of ASR, VAD, and TTS systems.\n\n## Installation\n\n```bash\nconda create -n anya python=3.12\nconda activate anya\n# core deps\npip install pdm\npdm sync\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124\npip install -r requirements.txt\n# speaker diarization\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n## Start\n\n```bash\n# First, generate config.yaml (For first time)\npython -m anyasfriend.config\n# Then configure llm,asr... in config.yaml\n# Now, start server\npython main.py\n\n```\n\nNext, connect micphone stream (16000hz) to ws://localhost:8765 (default)\n\nor use [fish-speech-gui](https://github.com/AnyaCoder/fish-speech-gui/releases) -> Chat Agent -> Settings -> Mic Setting (Always listening)\n\nBy doing so, you can chat to your bf/gf now.\n\n## Structure\n\n
\n 点击展开查看\n
\nAnyasFriend/\n│\n├── README.md                       # 说明\n├── pyproject.toml                  # 轻量级依赖\n├── requirements.txt               # 比较重量级的依赖\n├── .gitignore\n├── pdm.lock                        # 锁定了一些重要依赖\n│   \n└── anyasfriend/                # 主要的项目代码\n    ├── __init__.py\n    ├── chatbot.py              # 聊天机器人核心类\n    ├── components/             # 组件模块\n    │   ├── __init__.py\n    │   ├── interfaces/         # 抽象类目录\n    │   │   ├── __init__.py\n    │   │   ├── asr.py          # 语音识别模块的抽象类\n    │   │   ├── vad.py          # 语音活动检测模块的抽象类\n    │   │   ├── tts.py          # 语音合成模块的抽象类\n    │   │   ├── llm.py          # 大语言模型模块的抽象类\n    │   │   ├── memory.py       # 记忆模块的抽象类\n    │   │   └── knowledge_base.py  # 知识库模块的抽象类\n    │   ├── asr/                # 语音识别模块(不同版本)\n    │   ├── vad/                # 语音活动检测模块(不同版本)\n    │   ├── tts/                # 语音合成模块(不同版本)\n    │   ├── llm/                # 大语言模型模块(不同版本)\n    │   ├── memory/             # 记忆模块(不同版本)\n    │   ├── media/              # 多媒体播放\n    │   └── knowledge_base/     # 知识库模块(不同版本)\n    ├── factory.py              # 工厂模式,创建聊天机器人实例\n    ├── config.py               # 生成/使用配置文件\n    └── utils.py                # 工具函数\n\n
\n\n
\n\n## Credits\n\nAll modules used in this project.\n"}, "73ad31d682133cc0ae9756a70d09323ffbaeed13": {"t": 1785761551.573754, "n": 2845, "h": "a9350e9320210a68", "c": "## Introduction\n\n**AnyasFriend** is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n## Features:\n\n- **Multimodal Communication**: Supports seamless voice and text-based interactions.\n- **Voice Input**: Converts speech to text using sophisticated ASR technology.\n- **Speech Output**: Generates natural, human-like speech with TTS.\n- **Smart Responses**: Powered by LLMs to deliver contextually accurate replies.\n- **Modular & Scalable**: Customizable to integrate a variety of ASR, VAD, and TTS systems.\n\n## Installation\n\n```bash\nconda create -n anya python=3.10\nconda activate anya\n# core deps\npip install pdm\npdm sync\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121\npip install -r requirements.txt\n# speaker diarization\npip install pyannote.audio addict datasets fastcluster hdbscan simplejson\n```\n\n## Start\n\n```bash\n# First, generate config.yaml (For first time)\npython -m anyasfriend.config\n# Then configure llm,asr... in config.yaml\n# Now, start server\npython main.py\n\n```\n\nNext, connect micphone stream (16000hz) to ws://localhost:8765 (default)\n\nor use [fish-speech-gui](https://github.com/AnyaCoder/fish-speech-gui/releases) -> Chat Agent -> Settings -> Mic Setting (Always listening)\n\nBy doing so, you can chat to your bf/gf now.\n\n## Structure\n\n
\n 点击展开查看\n
\nAnyasFriend/\n│\n├── README.md                       # 说明\n├── pyproject.toml                  # 轻量级依赖\n├── requirements.txt               # 比较重量级的依赖\n├── .gitignore\n├── pdm.lock                        # 锁定了一些重要依赖\n│   \n└── anyasfriend/                # 主要的项目代码\n    ├── __init__.py\n    ├── chatbot.py              # 聊天机器人核心类\n    ├── components/             # 组件模块\n    │   ├── __init__.py\n    │   ├── interfaces/         # 抽象类目录\n    │   │   ├── __init__.py\n    │   │   ├── asr.py          # 语音识别模块的抽象类\n    │   │   ├── vad.py          # 语音活动检测模块的抽象类\n    │   │   ├── tts.py          # 语音合成模块的抽象类\n    │   │   ├── llm.py          # 大语言模型模块的抽象类\n    │   │   ├── memory.py       # 记忆模块的抽象类\n    │   │   └── knowledge_base.py  # 知识库模块的抽象类\n    │   ├── asr/                # 语音识别模块(不同版本)\n    │   ├── vad/                # 语音活动检测模块(不同版本)\n    │   ├── tts/                # 语音合成模块(不同版本)\n    │   ├── llm/                # 大语言模型模块(不同版本)\n    │   ├── memory/             # 记忆模块(不同版本)\n    │   ├── media/              # 多媒体播放\n    │   └── knowledge_base/     # 知识库模块(不同版本)\n    ├── factory.py              # 工厂模式,创建聊天机器人实例\n    ├── config.py               # 生成/使用配置文件\n    └── utils.py                # 工具函数\n\n
\n\n
\n\n## Credits\n\nAll modules used in this project.\n"}, "acd4bb0124313fd561edc33d0f0d63f462633e38": {"t": 1785761552.9447882, "n": 2750, "h": "762ba0000a671611", "c": "## Introduction\n\n**AnyasFriend** is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n## Features:\n\n- **Multimodal Communication**: Supports seamless voice and text-based interactions.\n- **Voice Input**: Converts speech to text using sophisticated ASR technology.\n- **Speech Output**: Generates natural, human-like speech with TTS.\n- **Smart Responses**: Powered by LLMs to deliver contextually accurate replies.\n- **Modular & Scalable**: Customizable to integrate a variety of ASR, VAD, and TTS systems.\n\n## Installation\n\n```bash\nconda create -n anya python=3.10\nconda activate anya\n# core deps\npip install pdm\npdm sync\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121\npip install -r requirements.txt\n\n```\n\n## Start\n\n```bash\n# First, generate config.yaml (For first time)\npython -m anyasfriend.config\n# Then configure llm,asr... in config.yaml\n# Now, start server\npython main.py\n\n```\n\nNext, connect micphone stream (16000hz) to ws://localhost:8765 (default)\n\nor use [fish-speech-gui](https://github.com/AnyaCoder/fish-speech-gui/releases) -> Chat Agent -> Settings -> Mic Setting (Always listening)\n\nBy doing so, you can chat to your bf/gf now.\n\n## Structure\n\n
\n 点击展开查看\n
\nAnyasFriend/\n│\n├── README.md                       # 说明\n├── pyproject.toml                  # 轻量级依赖\n├── requirements.txt               # 比较重量级的依赖\n├── .gitignore\n├── pdm.lock                        # 锁定了一些重要依赖\n│   \n└── anyasfriend/                # 主要的项目代码\n    ├── __init__.py\n    ├── chatbot.py              # 聊天机器人核心类\n    ├── components/             # 组件模块\n    │   ├── __init__.py\n    │   ├── interfaces/         # 抽象类目录\n    │   │   ├── __init__.py\n    │   │   ├── asr.py          # 语音识别模块的抽象类\n    │   │   ├── vad.py          # 语音活动检测模块的抽象类\n    │   │   ├── tts.py          # 语音合成模块的抽象类\n    │   │   ├── llm.py          # 大语言模型模块的抽象类\n    │   │   ├── memory.py       # 记忆模块的抽象类\n    │   │   └── knowledge_base.py  # 知识库模块的抽象类\n    │   ├── asr/                # 语音识别模块(不同版本)\n    │   ├── vad/                # 语音活动检测模块(不同版本)\n    │   ├── tts/                # 语音合成模块(不同版本)\n    │   ├── llm/                # 大语言模型模块(不同版本)\n    │   ├── memory/             # 记忆模块(不同版本)\n    │   ├── media/              # 多媒体播放\n    │   └── knowledge_base/     # 知识库模块(不同版本)\n    ├── factory.py              # 工厂模式,创建聊天机器人实例\n    ├── config.py               # 生成/使用配置文件\n    └── utils.py                # 工具函数\n\n
\n\n
\n\n## Credits\n\nAll modules used in this project.\n"}, "52e661c292557c12bbb46b91b1e8d43f6143cb91": {"t": 1785761554.3258512, "n": 2750, "h": "68eac6a6b927417a", "c": "## Introduction\n\n**AnyasFriend** is an intelligent conversational AI framework that integrates voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. Designed to be versatile and user-friendly, it adapts to a wide range of conversational needs.\n\n## Features:\n\n- **Multimodal Communication**: Supports seamless voice and text-based interactions.\n- **Voice Input**: Converts speech to text using sophisticated ASR technology.\n- **Speech Output**: Generates natural, human-like speech with TTS.\n- **Smart Responses**: Powered by LLMs to deliver contextually accurate replies.\n- **Modular & Scalable**: Customizable to integrate a variety of ASR, VAD, and TTS systems.\n\n## Installation\n\n```bash\nconda create -n anya python=3.10\nconda activate anya\n# core deps\npip install pdm\npdm sync\n# heavy deps\npip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121\npip install -r requirements.txt\n\n```\n\n## Start\n\n```bash\n# First, generate config.yaml (For first time)\npython -m anyasfriend.config\n# Then configure llm,asr... in config.yaml\n# Now, start server\npython main.py\n\n```\n\nNext, connect micphone stream (44100hz) to ws://localhost:8765 (default)\n\nor use [fish-speech-gui](https://github.com/AnyaCoder/fish-speech-gui/releases) -> Chat Agent -> Settings -> Mic Setting (Always listening)\n\nBy doing so, you can chat to your bf/gf now.\n\n## Structure\n\n
\n 点击展开查看\n
\nAnyasFriend/\n│\n├── README.md                       # 说明\n├── pyproject.toml                  # 轻量级依赖\n├── requirements.txt               # 比较重量级的依赖\n├── .gitignore\n├── pdm.lock                        # 锁定了一些重要依赖\n│   \n└── anyasfriend/                # 主要的项目代码\n    ├── __init__.py\n    ├── chatbot.py              # 聊天机器人核心类\n    ├── components/             # 组件模块\n    │   ├── __init__.py\n    │   ├── interfaces/         # 抽象类目录\n    │   │   ├── __init__.py\n    │   │   ├── asr.py          # 语音识别模块的抽象类\n    │   │   ├── vad.py          # 语音活动检测模块的抽象类\n    │   │   ├── tts.py          # 语音合成模块的抽象类\n    │   │   ├── llm.py          # 大语言模型模块的抽象类\n    │   │   ├── memory.py       # 记忆模块的抽象类\n    │   │   └── knowledge_base.py  # 知识库模块的抽象类\n    │   ├── asr/                # 语音识别模块(不同版本)\n    │   ├── vad/                # 语音活动检测模块(不同版本)\n    │   ├── tts/                # 语音合成模块(不同版本)\n    │   ├── llm/                # 大语言模型模块(不同版本)\n    │   ├── memory/             # 记忆模块(不同版本)\n    │   ├── media/              # 多媒体播放\n    │   └── knowledge_base/     # 知识库模块(不同版本)\n    ├── factory.py              # 工厂模式,创建聊天机器人实例\n    ├── config.py               # 生成/使用配置文件\n    └── utils.py                # 工具函数\n\n
\n\n
\n\n## Credits\n\nAll modules used in this project.\n"}, "86848b3e448e8ddaac997b11f0124e5493cfb0c0": {"t": 1785761558.4318397, "n": 1777, "h": "8e4716761ba43eb1", "c": "## Introduction (画大饼)\n\n**AnyasFriend** (also interpreted as \"Any as Friend\") is an intelligent conversational AI framework designed to seamlessly integrate voice recognition, speech synthesis, natural language processing, and voice activity detection into a unified system. The name reflects the framework's versatile and friendly nature, positioning it as a trusted companion that adapts to a wide variety of conversational needs and contexts.\n\nWhether you're speaking or typing, **AnyasFriend** offers a dynamic and responsive AI experience. Its core capabilities are powered by advanced large language models (LLMs), allowing it to generate accurate, context-aware responses. The system supports both text and voice inputs, enabling users to interact naturally with the bot in whichever form is most convenient.\n\n**AnyasFriend** is built with flexibility in mind. Its modular design allows developers to easily integrate different speech recognition engines (ASR), voice activity detection (VAD) tools, and text-to-speech (TTS) systems. This makes it a perfect choice for applications in customer service, virtual assistants, and interactive voice applications.\n\nKey Features:\n\n- **Multimodal Communication**: Supports seamless voice and text-based interactions.\n- **Voice Input**: Converts speech to text using sophisticated ASR technology.\n- **Speech Output**: Generates natural, human-like speech with TTS.\n- **Smart Responses**: Powered by LLMs to deliver contextually accurate replies.\n- **Modular & Scalable**: Customizable to integrate a variety of ASR, VAD, and TTS systems.\n\nWith its adaptable nature and friendly interface, **AnyasFriend** bridges the gap between technology and human-like interaction, making it an ideal solution for a wide range of industries.\n\n"}}}}