[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-yihong0618--xiaogpt":3,"tool-yihong0618--xiaogpt":64},[4,17,27,35,48,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},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 真正成长为懂上",144730,2,"2026-04-07T23:26:32",[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},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"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,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,"2026-04-06T11:09:19",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":23,"last_commit_at":54,"category_tags":55,"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",[14,26,13,15,46],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":23,"last_commit_at":62,"category_tags":63,"status":16},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",75097,"2026-04-07T22:51:14",[15,26,13,46],{"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":79,"owner_location":80,"owner_email":81,"owner_twitter":75,"owner_website":82,"owner_url":83,"languages":84,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":10,"env_os":97,"env_gpu":98,"env_ram":98,"env_deps":99,"category_tags":104,"github_topics":105,"view_count":10,"oss_zip_url":110,"oss_zip_packed_at":110,"status":16,"created_at":111,"updated_at":112,"faqs":113,"releases":154},5400,"yihong0618\u002Fxiaogpt","xiaogpt","Play ChatGPT and other LLM with Xiaomi AI Speaker","xiaogpt 是一款巧妙的开源工具，它能让小米小爱音箱“变身”为 ChatGPT、Gemini、通义千问等各大主流大模型的语音交互终端。通过该项目，用户只需对音箱说出以“帮我”开头的问题，音箱即可调用云端 AI 能力进行智能回答，并用自然流畅的语音反馈结果，从而突破原生音箱仅能执行固定指令的限制，实现真正的开放式人机对话。\n\n这一方案主要解决了传统智能音箱在复杂问答、创意生成及逻辑推理场景下能力不足的问题，让旧款硬件也能享受最前沿的 AI 服务。它特别适合喜爱折腾智能家居的极客、希望低成本体验大模型语音交互的开发者，以及想要为家庭增添智能乐趣的普通用户。\n\nxiaogpt 的技术亮点在于无需对音箱进行 Root 破解，仅需通过简单的命令行配置获取设备 DID 即可运行。它不仅支持多种大模型接口切换，还集成了 Edge、Azure、Fish Audio 等多种高质量 TTS（语音合成）引擎以提升听感，甚至支持基于 LangChain 的联网检索与数学运算。无论是通过 API 密钥还是账号密码，用户都能轻松部署，让家里的小爱同学瞬间拥有“最强大脑”。","# xiaogpt\n\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fxiaogpt?style=flat-square)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fxiaogpt)\n[![Docker Image Version (latest by date)](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fv\u002Fyihong0618\u002Fxiaogpt?color=%23086DCD&label=docker%20image)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fyihong0618\u002Fxiaogpt)\n\n\u003Chttps:\u002F\u002Fuser-images.githubusercontent.com\u002F15976103\u002F226803357-72f87a41-a15b-409e-94f5-e2d262eecd53.mp4>\n\nPlay ChatGPT and other LLM with Xiaomi AI Speaker\n\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyihong0618_xiaogpt_readme_71fc7a54c833.png)\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyihong0618_xiaogpt_readme_a70a5db188df.png)\n\n## 支持的 AI 类型\n\n- ChatGPT\n- New Bing\n- [ChatGLM](http:\u002F\u002Fopen.bigmodel.cn\u002F)\n- [Gemini](https:\u002F\u002Fmakersuite.google.com\u002Fapp\u002Fapikey)\n- [Doubao](https:\u002F\u002Fconsole.volcengine.com\u002Fiam\u002Fkeymanage\u002F)\n- [Moonshot](https:\u002F\u002Fplatform.moonshot.cn\u002Fdocs\u002Fapi\u002Fchat#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)\n- [01](https:\u002F\u002Fplatform.lingyiwanwu.com\u002Fapikeys)\n- [Llama3](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fquickstart)\n- [通义千问](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Fapi-details)\n\n## 获取小米音响 DID\n\n| 系统和 Shell   | Linux *sh                                      | Windows CMD 用户                        | Windows PowerShell 用户                         |\n| ------------- | ---------------------------------------------- | -------------------------------------- | ---------------------------------------------- |\n| 1、安装包     | `pip install miservice_fork`                   | `pip install miservice_fork`           | `pip install miservice_fork`                   |\n| 2、设置变量   | `export MI_USER=xxx` \u003Cbr> `export MI_PASS=xxx` | `set MI_USER=xxx`\u003Cbr>`set MI_PASS=xxx` | `$env:MI_USER=\"xxx\"` \u003Cbr> `$env:MI_PASS=\"xxx\"` |\n| 3、取得 MI_DID | `micli list`                                   | `micli list`                           | `micli list`                                   |\n| 4、设置 MI_DID | `export MI_DID=xxx`                            | `set MI_DID=xxx`                       | `$env:MI_DID=\"xxx\"`                            |\n\n- 注意不同 shell 对环境变量的处理是不同的，尤其是 powershell 赋值时，可能需要双引号来包括值。\n- 如果获取 did 报错时，请更换一下无线网络，有很大概率解决问题。\n\n## 一点原理\n\n[不用 root 使用小爱同学和 ChatGPT 交互折腾记](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fgitblog\u002Fissues\u002F258)\n\n## 准备\n\n1. ChatGPT id\n2. 小爱音响\n3. 能正常联网的环境或 proxy\n4. python3.8+\n\n## 使用\n\n- `pip install -U --force-reinstall xiaogpt[locked]`\n- 参考我 fork 的 [MiService](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002FMiService) 项目 README 并在本地 terminal 跑 `micli list` 拿到你音响的 DID 成功 **别忘了设置 export MI_DID=xxx** 这个 MI_DID 用\n- run `xiaogpt --hardware ${your_hardware} --use_chatgpt_api` hardware 你看小爱屁股上有型号，输入进来，如果在屁股上找不到或者型号不对，可以用 `micli mina` 找到型号\n- 跑起来之后就可以问小爱同学问题了，“帮我\"开头的问题，会发送一份给 ChatGPT 然后小爱同学用 tts 回答\n- 如果上面不可用，可以尝试用手机抓包，\u003Chttps:\u002F\u002Fuserprofile.mina.mi.com\u002Fdevice_profile\u002Fv2\u002Fconversation> 找到 cookie 利用 `--cookie '${cookie}'` cookie 别忘了用单引号包裹\n- 默认用目前 ubus, 如果你的设备不支持 ubus 可以使用 `--use_command` 来使用 command 来 tts\n- 使用 `--mute_xiaoai` 选项，可以快速停掉小爱的回答\n- 使用 `--account ${account} --password ${password}`\n- 如果有能力可以自行替换唤醒词，也可以去掉唤醒词\n- 使用 `--use_chatgpt_api` 的 api 那样可以更流畅的对话，速度特别快，达到了对话的体验，[openai api](https:\u002F\u002Fplatform.openai.com\u002Faccount\u002Fapi-keys), 命令 `--use_chatgpt_api`\n- 如果你遇到了墙需要用 Cloudflare Workers 替换 api_base 请使用 `--api_base ${url}` 来替换。 **请注意，此处你输入的 api 应该是'`https:\u002F\u002Fxxxx\u002Fv1`'的字样，域名需要用引号包裹**\n- `--use_moonshot_api` and other models please refer below\n- 可以跟小爱说 `开始持续对话` 自动进入持续对话状态，`结束持续对话` 结束持续对话状态。\n- 可以使用 `--tts edge` 来获取更好的 tts 能力\n- 可以使用 `--tts fish --fish_api_key \u003Cyour-fish-key> --fish_voice_key \u003Cfish-voice>` 来获取 [fish-audio](https:\u002F\u002Ffish.audio\u002F) 能力 (如何获取 fish voice 见下)\n- 可以使用 `--tts openai` 来获取 openai tts 能力\n- 可以使用 `--tts azure --azure_tts_speech_key \u003Cyour-speech-key>` 来获取 Azure TTS 能力\n- 可以使用 `--use_langchain` 替代 `--use_chatgpt_api` 来调用 LangChain（默认 chatgpt）服务，实现上网检索、数学运算..\n\ne.g.\n\n```shell\nexport OPENAI_API_KEY=${your_api_key}\nxiaogpt --hardware LX06 --use_chatgpt_api\n# or\nxiaogpt --hardware LX06 --cookie ${cookie} --use_chatgpt_api\n# 如果你想直接输入账号密码\nxiaogpt --hardware LX06 --account ${your_xiaomi_account} --password ${your_password} --use_chatgpt_api\n# 如果你想 mute 小米的回答\nxiaogpt --hardware LX06  --mute_xiaoai --use_chatgpt_api\n# 使用流式响应，获得更快的响应\nxiaogpt --hardware LX06  --mute_xiaoai --stream\n# 如果你想使用 google 的 gemini\nxiaogpt --hardware LX06  --mute_xiaoai --use_gemini --gemini_key ${gemini_key}\n# 如果你想使用自己的 google gemini 服务\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai --use_gemini --gemini_key ${gemini_key} --gemini_api_domain ${gemini_api_domain}\n# 如果你想使用阿里的通义千问\nxiaogpt --hardware LX06  --mute_xiaoai --use_qwen --qwen_key ${qwen_key}\n# 如果你想使用 kimi\nxiaogpt --hardware LX06  --mute_xiaoai --use_moonshot_api --moonshot_api_key ${moonshot_api_key}\n# 如果你想使用 llama3\nxiaogpt --hardware LX06  --mute_xiaoai --use_llama --llama_api_key ${llama_api_key}\n# 如果你想使用 01\nxiaogpt --hardware LX06  --mute_xiaoai --use_yi_api --ti_api_key ${yi_api_key}\n# 如果你想使用 LangChain+SerpApi 实现上网检索或其他本地服务（目前仅支持 stream 模式）\nexport OPENAI_API_KEY=${your_api_key}\nexport SERPAPI_API_KEY=${your_serpapi_key}\nxiaogpt --hardware Lx06 --use_langchain --mute_xiaoai --stream --openai_key ${your_api_key} --serpapi_api_key ${your_serpapi_key}\n```\n\n使用 git clone 运行\n\n```shell\nexport OPENAI_API_KEY=${your_api_key}\npython3 xiaogpt.py --hardware LX06\n# or\npython3 xiaogpt.py --hardware LX06 --cookie ${cookie}\n# 如果你想直接输入账号密码\npython3 xiaogpt.py --hardware LX06 --account ${your_xiaomi_account} --password ${your_password} --use_chatgpt_api\n# 如果你想 mute 小米的回答\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai\n# 使用流式响应，获得更快的响应\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai --stream\n# 如果你想使用 ChatGLM api\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai --use_glm --glm_key ${glm_key}\n# 如果你想使用 google 的 gemini\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai --use_gemini --gemini_key ${gemini_key}\n# 如果你想使用自己的 google gemini 服务\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai --use_gemini --gemini_key ${gemini_key} --gemini_api_domain ${gemini_api_domain}\n# 如果你想使用阿里的通义千问\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai --use_qwen --qwen_key ${qwen_key}\n# 如果你想使用 kimi\nxiaogpt --hardware LX06  --mute_xiaoai --use_moonshot_api --moonshot_api_key ${moonshot_api_key}\n# 如果你想使用 01\nxiaogpt --hardware LX06  --mute_xiaoai --use_yi_api --ti_api_key ${yi_api_key}\n# 如果你想使用豆包\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai --use_doubao --stream --volc_access_key xxxx --volc_secret_key xxx\n# 如果你想使用 llama3\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai --use_llama --llama_api_key ${llama_api_key}\n# 如果你想使用 LangChain+SerpApi 实现上网检索或其他本地服务（目前仅支持 stream 模式）\nexport OPENAI_API_KEY=${your_api_key}\nexport SERPAPI_API_KEY=${your_serpapi_key}\npython3 xiaogpt.py --hardware Lx06 --use_langchain --mute_xiaoai --stream --openai_key ${your_api_key} --serpapi_api_key ${your_serpapi_key}\n```\n\n## config.yaml\n\n如果想通过单一配置文件启动也是可以的，可以通过 `--config` 参数指定配置文件，config 文件必须是合法的 Yaml 或 JSON 格式\n参数优先级\n\n- cli args > default > config\n\n```shell\npython3 xiaogpt.py --config xiao_config.yaml\n# or\nxiaogpt --config xiao_config.yaml\n```\n\n或者\n\n```shell\ncp xiao_config.yaml.example xiao_config.yaml\npython3 xiaogpt.py\n```\n\n若要指定 OpenAI 的模型参数，如 model, temporature, top_p, 请在 config.yaml 中指定：\n\n```yaml\ngpt_options:\n  temperature: 0.9\n  top_p: 0.9\n```\n\n具体参数作用请参考 [Open AI API 文档](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fapi-reference\u002Fchat\u002Fcreate)。\nChatGLM [文档](http:\u002F\u002Fopen.bigmodel.cn\u002Fdoc\u002Fapi#chatglm_130b)\n\n## 配置项说明\n\n| 参数                  | 说明                                                                                                       | 默认值                                                                                                    | 可选值                                                           |\n| --------------------- | ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |\n| hardware              | 设备型号                                                                                                   |                                                                                                           |                                                                  |\n| account               | 小爱账户                                                                                                   |                                                                                                           |                                                                  |\n| password              | 小爱账户密码                                                                                               |                                                                                                           |                                                                  |\n| openai_key            | openai 的 apikey                                                                                             |                                                                                                           |                                                                  |\n| moonshot_api_key      | moonshot kimi 的 [apikey](https:\u002F\u002Fplatform.moonshot.cn\u002Fdocs\u002Fapi\u002Fchat#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B) |                                                                                                           |                                                                  |\n| yi_api_key            | 01 wanwu 的 [apikey](https:\u002F\u002Fplatform.lingyiwanwu.com\u002Fapikeys)                                             |                                                                                                           |                                                                  |\n| llama_api_key         | groq 的 llama3 [apikey](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fquickstart)                                          |                                                                                                           |                                                                  |\n| serpapi_api_key       | serpapi 的 key 参考 [SerpAPI](https:\u002F\u002Fserpapi.com\u002F)                                                          |                                                                                                           |                                                                  |\n| glm_key               | chatglm 的 apikey                                                                                          |                                                                                                           |                                                                  |\n| gemini_key            | gemini 的 apikey [参考](https:\u002F\u002Fmakersuite.google.com\u002Fapp\u002Fapikey)                                          |                                                                                                           |                                                                  |\n| gemini_api_domain     | gemini 的自定义域名 [参考](https:\u002F\u002Fgithub.com\u002Fantergone\u002Fpalm-netlify-proxy)                                |                                                                                                           |\n| qwen_key              | qwen 的 apikey [参考](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Fapi-details)                |                                                                                                           |                                                                  |\n| cookie                | 小爱账户 cookie（如果用上面密码登录可以不填）                                                              |                                                                                                           |                                                                  |\n| mi_did                | 设备 did                                                                                                    |                                                                                                           |                                                                  |\n| use_command           | 使用 MI command 与小爱交互                                                                                 | `false`                                                                                                   |                                                                  |\n| mute_xiaoai           | 快速停掉小爱自己的回答                                                                                     | `true`                                                                                                    |                                                                  |\n| verbose               | 是否打印详细日志                                                                                           | `false`                                                                                                   |                                                                  |\n| bot                   | 使用的 bot 类型，目前支持 chatgptapi,newbing, qwen, gemini                                                 | `chatgptapi`                                                                                              |                                                                  |\n| tts                   | 使用的 TTS 类型                                                                                            | `mi`                                                                                                      | `edge`、 `openai`、`azure`、`volc`、`baidu`、`google`、`minimax` |\n| tts_options           | TTS 参数字典，参考 [tetos](https:\u002F\u002Fgithub.com\u002Ffrostming\u002Ftetos) 获取可用参数                                |                                                                                                           |                                                                  |\n| prompt                | 自定义 prompt                                                                                               | `请用100字以内回答`                                                                                       |                                                                  |\n| keyword               | 自定义请求词列表                                                                                           | `[\"请\"]`                                                                                                  |                                                                  |\n| change_prompt_keyword | 更改提示词触发列表                                                                                         | `[\"更改提示词\"]`                                                                                          |                                                                  |\n| start_conversation    | 开始持续对话关键词                                                                                         | `开始持续对话`                                                                                            |                                                                  |\n| end_conversation      | 结束持续对话关键词                                                                                         | `结束持续对话`                                                                                            |                                                                  |\n| stream                | 使用流式响应，获得更快的响应                                                                               | `true`                                                                                                    |                                                                  |\n| proxy                 | 支持 HTTP 代理，传入 http proxy URL                                                                        | \"\"                                                                                                        |                                                                  |\n| gpt_options           | OpenAI API 的参数字典                                                                                      | `{}`                                                                                                      |                                                                  |\n| deployment_id         | Azure OpenAI 服务的 deployment ID                                                                          | 参考这个[如何找到 deployment_id](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F347#issuecomment-1784410784) |                                                                  |\n| api_base              | 如果需要替换默认的 api，或者使用 Azure OpenAI 服务                                                            | 例如：`https:\u002F\u002Fabc-def.openai.azure.com\u002F`                                                                 |\n| volc_access_key       | 火山引擎的 access key 请在[这里](https:\u002F\u002Fconsole.volcengine.com\u002Fiam\u002Fkeymanage\u002F)获取                        |                                                                                                           |                                                                  |\n| volc_secret_key       | 火山引擎的 secret key 请在[这里](https:\u002F\u002Fconsole.volcengine.com\u002Fiam\u002Fkeymanage\u002F)获取                        |                                                                                                           |\n\n## 注意\n\n1. 请开启小爱同学的蓝牙\n2. 如果要更改提示词和 PROMPT 在代码最上面自行更改\n3. 目前已知 LX04、X10A 和 L05B L05C 可能需要使用 `--use_command`，否则可能会出现终端能输出 GPT 的回复但小爱同学不回答 GPT 的情况。这几个型号也只支持小爱原本的 tts.\n4. 在 wsl 使用时，需要设置代理为 \u003Chttp:\u002F\u002Fwls 的 ip:port(vpn 的代理端口)>, 否则会出现连接超时的情况，详情 [报错：Error communicating with OpenAI](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F235)\n\n## QA\n\n1. 用破解么？不用\n2. 你做这玩意也没用啊？确实。。。但是挺好玩的，有用对你来说没用，对我们来说不一定呀\n3. 想把它变得更好？PR Issue always welcome.\n4. 还有问题？提 Issue 哈哈\n5. Exception: Error \u003Chttps:\u002F\u002Fapi2.mina.mi.com\u002Fadmin\u002Fv2\u002Fdevice_list?master=0&requestId=app_ios_xxx>: Login failed [@KJZH001](https:\u002F\u002Fgithub.com\u002FKJZH001)\u003Cbr>\n   这是由于小米风控导致，海外地区无法登录大陆的账户，请尝试 cookie 登录\n   无法抓包的可以在本地部署完毕项目后再用户文件夹`C:\\Users\\用户名`下面找到.mi.token，然后扔到你无法登录的服务器去\u003Cbr>\n   若是 linux 则请放到当前用户的 home 文件夹，此时你可以重新执行先前的命令，不出意外即可正常登录（但 cookie 可能会过一段时间失效，需要重新获取）\u003Cbr>\n   详情请见 [https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F332](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F332)\n\n## 视频教程\n\n\u003Chttps:\u002F\u002Fwww.youtube.com\u002Fwatch?v=K4YA8YwzOOA>\n\n## Docker\n\n### 常规用法\n\nX86\u002FARM Docker Image: `yihong0618\u002Fxiaogpt`\n\n```shell\ndocker run -e OPENAI_API_KEY=\u003Cyour-openapi-key> yihong0618\u002Fxiaogpt \u003C命令行参数>\n```\n\n如\n\n```shell\ndocker run -e OPENAI_API_KEY=\u003Cyour-openapi-key> yihong0618\u002Fxiaogpt --account=\u003Cyour-xiaomi-account> --password=\u003Cyour-xiaomi-password> --hardware=\u003Cyour-xiaomi-hardware> --use_chatgpt_api\n```\n\n### 使用配置文件\n\nxiaogpt 的配置文件可通过指定 volume \u002Fconfig，以及指定参数--config 来处理，如\n\n```shell\ndocker run -v \u003Cyour-config-dir>:\u002Fconfig yihong0618\u002Fxiaogpt --config=\u002Fconfig\u002Fconfig.yaml\n```\n\n### 网络使用 host 模型\n\n```shell\ndocker run -v \u003Cyour-config-dir>:\u002Fconfig --network=host yihong0618\u002Fxiaogpt --config=\u002Fconfig\u002Fconfig.yaml\n```\n\n### 本地编译 Docker Image\n\n```shell\n docker build -t xiaogpt .\n```\n\n如果在安装依赖时构建失败或安装缓慢时，可以在构建 Docker 镜像时使用 `--build-arg` 参数来指定国内源地址：\n\n```sh\ndocker build --build-arg PIP_INDEX_URL=https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple -t xiaogpt .\n```\n\n如果需要在 Apple M1\u002FM2上编译x86\n\n```shell\n docker buildx build --platform=linux\u002Famd64 -t xiaogpt-x86 .\n```\n\n### 第三方 TTS\n\n我们目前支持是三种第三方 TTS：edge\u002Fopenai\u002Fazure\u002Fvolc\u002Fbaidu\u002Fgoogle\n\n[edge-tts](https:\u002F\u002Fgithub.com\u002Frany2\u002Fedge-tts) 提供了类似微软 tts 的能力\n[azure-tts](https:\u002F\u002Ftechcommunity.microsoft.com\u002Ft5\u002Fai-azure-ai-services-blog\u002F9-more-realistic-ai-voices-for-conversations-now-generally\u002Fba-p\u002F4099471) 提供了微软 azure tts 的能力\n[openai-tts](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Ftext-to-speech) 提供了类似 openai tts 的能力\n[fish-tts](https:\u002F\u002Ffish.audio\u002F) 提供了 fish tts 的能力\n\n#### Usage\n\n你可以通过参数 `tts`, 来启用它\n\n```yaml\ntts: edge\n```\n\nFor edge 查看更多语言支持，从中选择一个\n\n```shell\nedge-tts --list-voices\n```\n\n#### 如果你想使用 [fish-tts](https:\u002F\u002Ffish.audio\u002F)\n\n1. 注册 https:\u002F\u002Ffish.audio\u002Fzh-CN\u002Fgo-api\u002F 拿到 api key\n2. 选择你想要的声音自建声音或者使用热门声音  https:\u002F\u002Ffish.audio\u002Fzh-CN\u002Ftext-to-speech\u002F?modelId=e80ea225770f42f79d50aa98be3cedfc 其中 `e80ea225770f42f79d50aa98be3cedfc` 就声音的 key id\n3. python3 xiaogpt.py --hardware LX06 --account xxxx --password xxxxx --use_chatgpt_api --mute_xiaoai --stream --tts fish --fish_api_key xxxxx --fish_voice_key xxxxx\n4. 或者在 xiao_config.yaml 中配置\n\n```yaml\ntts: fish \n# TTS 参数字典，参考 https:\u002F\u002Fgithub.com\u002Ffrostming\u002Ftetos 获取可用参数\ntts_options: {\n    \"api_key\": \"xxxxx\",\n    \"voice\": \"xxxxxx\"\n}\n\n``` \n\n#### 在容器中使用 edge-tts\u002Fazure-tts\u002Fopenai-tts\u002Fvolc\u002Fgoogle\u002Fbaidu\u002Ffish\n\n由于 Edge TTS 启动了一个本地的 HTTP 服务，所以需要将容器的端口映射到宿主机上，并且指定本地机器的 hostname:\n\n```shell\ndocker run -v \u003Cyour-config-dir>:\u002Fconfig -p 9527:9527 -e XIAOGPT_HOSTNAME=\u003Cyour ip> yihong0618\u002Fxiaogpt --config=\u002Fconfig\u002Fconfig.yaml\n```\n\n注意端口必须映射为与容器内一致，XIAOGPT_HOSTNAME 需要设置为宿主机的 IP 地址，否则小爱无法正常播放语音。\n\n## 推荐的类似项目\n\n- [XiaoBot](https:\u002F\u002Fgithub.com\u002Flongbai\u002Fxiaobot) -> Go 语言版本的 Fork, 带支持不同平台的 UI\n- [MiGPT](https:\u002F\u002Fgithub.com\u002Fidootop\u002Fmi-gpt) -> Node.js 版，支持流式响应和长短期记忆\n\n## 感谢\n\n- [xiaomi](https:\u002F\u002Fwww.mi.com\u002F)\n- [PDM](https:\u002F\u002Fpdm.fming.dev\u002Flatest\u002F)\n- [Tetos](https:\u002F\u002Fgithub.com\u002Ffrostming\u002Ftetos) TTS 云服务支持\n- @[Yonsm](https:\u002F\u002Fgithub.com\u002FYonsm) 的 [MiService](https:\u002F\u002Fgithub.com\u002FYonsm\u002FMiService)\n- @[pjq](https:\u002F\u002Fgithub.com\u002Fpjq) 给了这个项目非常多的帮助\n- @[frostming](https:\u002F\u002Fgithub.com\u002Ffrostming) 重构了一些代码，支持了`持续会话功能`\n\n## 赞赏\n\n谢谢就够了\n","# xiaogpt\n\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fxiaogpt?style=flat-square)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fxiaogpt)\n[![Docker Image Version (latest by date)](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fv\u002Fyihong0618\u002Fxiaogpt?color=%23086DCD&label=docker%20image)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fyihong0618\u002Fxiaogpt)\n\n\u003Chttps:\u002F\u002Fuser-images.githubusercontent.com\u002F15976103\u002F226803357-72f87a41-a15b-409e-94f5-e2d262eecd53.mp4>\n\n用小米AI音箱玩ChatGPT及其他大模型\n\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyihong0618_xiaogpt_readme_71fc7a54c833.png)\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyihong0618_xiaogpt_readme_a70a5db188df.png)\n\n## 支持的AI类型\n\n- ChatGPT\n- New Bing\n- [ChatGLM](http:\u002F\u002Fopen.bigmodel.cn\u002F)\n- [Gemini](https:\u002F\u002Fmakersuite.google.com\u002Fapp\u002Fapikey)\n- [Doubao](https:\u002F\u002Fconsole.volcengine.com\u002Fiam\u002Fkeymanage\u002F)\n- [Moonshot](https:\u002F\u002Fplatform.moonshot.cn\u002Fdocs\u002Fapi\u002Fchat#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)\n- [01](https:\u002F\u002Fplatform.lingyiwanwu.com\u002Fapikeys)\n- [Llama3](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fquickstart)\n- [通义千问](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Fapi-details)\n\n## 获取小米音响DID\n\n| 系统和 Shell   | Linux *sh                                      | Windows CMD 用户                        | Windows PowerShell 用户                         |\n| ------------- | ---------------------------------------------- | -------------------------------------- | ---------------------------------------------- |\n| 1、安装包     | `pip install miservice_fork`                   | `pip install miservice_fork`           | `pip install miservice_fork`                   |\n| 2、设置变量   | `export MI_USER=xxx` \u003Cbr> `export MI_PASS=xxx` | `set MI_USER=xxx`\u003Cbr>`set MI_PASS=xxx` | `$env:MI_USER=\"xxx\"` \u003Cbr> `$env:MI_PASS=\"xxx\"` |\n| 3、取得 MI_DID | `micli list`                                   | `micli list`                           | `micli list`                                   |\n| 4、设置 MI_DID | `export MI_DID=xxx`                            | `set MI_DID=xxx`                       | `$env:MI_DID=\"xxx\"`                            |\n\n- 注意不同shell对环境变量的处理是不同的，尤其是powershell赋值时，可能需要双引号来包括值。\n- 如果获取did报错时，请更换一下无线网络，有很大概率解决问题。\n\n## 一点原理\n\n[不用root使用小爱同学和ChatGPT交互折腾记](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fgitblog\u002Fissues\u002F258)\n\n## 准备\n\n1. ChatGPT id\n2. 小爱音响\n3. 能正常联网的环境或proxy\n4. python3.8+\n\n## 使用\n\n- `pip install -U --force-reinstall xiaogpt[locked]`\n- 参考我fork的[MiService](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002FMiService)项目README并在本地terminal跑`micli list`拿到你音响的DID成功**别忘了设置export MI_DID=xxx**这个MI_DID用\n- run `xiaogpt --hardware ${your_hardware} --use_chatgpt_api` hardware你看小爱屁股上有型号，输入进来，如果在屁股上找不到或者型号不对，可以用`micli mina`找到型号\n- 跑起来之后就可以问小爱同学问题了，“帮我\"开头的问题，会发送一份给ChatGPT然后小爱同学用tts回答\n- 如果上面不可用，可以尝试用手机抓包，\u003Chttps:\u002F\u002Fuserprofile.mina.mi.com\u002Fdevice_profile\u002Fv2\u002Fconversation>找到cookie利用`--cookie '${cookie}'` cookie别忘了用单引号包裹\n- 默认用目前ubus,如果你的设备不支持ubus可以使用`--use_command`来使用command来tts\n- 使用`--mute_xiaoai`选项，可以快速停掉小爱的回答\n- 使用`--account ${account} --password ${password}`\n- 如果有能力可以自行替换唤醒词，也可以去掉唤醒词\n- 使用`--use_chatgpt_api`的api那样可以更流畅的对话，速度特别快，达到了对话的体验，[openai api](https:\u002F\u002Fplatform.openai.com\u002Faccount\u002Fapi-keys),命令`--use_chatgpt_api`\n- 如果你遇到了墙需要用Cloudflare Workers替换api_base请使用`--api_base ${url}`来替换。**请注意，此处你输入的api应该是'`https:\u002F\u002Fxxxx\u002Fv1`'的字样，域名需要用引号包裹**\n- `--use_moonshot_api`和其他模型请参考下文\n- 可以跟小爱说`开始持续对话`自动进入持续对话状态，`结束持续对话`结束持续对话状态。\n- 可以使用`--tts edge`来获取更好的tts能力\n- 可以使用`--tts fish --fish_api_key \u003Cyour-fish-key> --fish_voice_key \u003Cfish-voice>`来获取[fish-audio](https:\u002F\u002Ffish.audio\u002F)能力（如何获取fish voice见下）\n- 可以使用`--tts openai`来获取openai tts能力\n- 可以使用`--tts azure --azure_tts_speech_key \u003Cyour-speech-key>`来获取Azure TTS能力\n- 可以使用`--use_langchain`替代`--use_chatgpt_api`来调用LangChain（默认chatgpt）服务，实现上网检索、数学运算..\n\ne.g.\n\n```shell\nexport OPENAI_API_KEY=${your_api_key}\nxiaogpt --hardware LX06 --use_chatgpt_api\n# 或\nxiaogpt --hardware LX06 --cookie ${cookie} --use_chatgpt_api\n# 如果你想直接输入账号密码\nxiaogpt --hardware LX06 --account ${your_xiaomi_account} --password ${your_password} --use_chatgpt_api\n# 如果你想mute小米的回答\nxiaogpt --hardware LX06  --mute_xiaoai --use_chatgpt_api\n# 使用流式响应，获得更快的响应\nxiaogpt --hardware LX06  --mute_xiaoai --stream\n# 如果你想使用google的gemini\nxiaogpt --hardware LX06  --mute_xiaoai --use_gemini --gemini_key ${gemini_key}\n# 如果你想使用自己的google gemini服务\npython3 xiaogpt.py --hardware LX06  --mute_xiaoai --use_gemini --gemini_key ${gemini_key} --gemini_api_domain ${gemini_api_domain}\n# 如果你想使用阿里的通义千问\nxiaogpt --硬件 LX06  --mute_xiaoai --use_qwen --qwen_key ${qwen_key}\n# 如果你想使用kimi\nxiaogpt --硬件 LX06  --mute_xiaoai --use_moonshot_api --moonshot_api_key ${moonshot_api_key}\n# 如果你想使用llama3\nxiaogpt --硬件 LX06  --mute_xiaoai --use_llama --llama_api_key ${llama_api_key}\n# 如果你想使用01\nxiaogpt --硬件 LX06  --mute_xiaoai --use_yi_api --ti_api_key ${yi_api_key}\n# 如果你想使用LangChain+SerpApi实现上网检索或其他本地服务（目前仅支持stream模式）\nexport OPENAI_API_KEY=${your_api_key}\nexport SERPAPI_API_KEY=${your_serpapi_key}\nxiaogpt --硬件 Lx06 --use_langchain --mute_xiaoai --stream --openai_key ${your_api_key} --serpapi_api_key ${your_serpapi_key}\n```\n\n使用git clone运行\n\n```shell\nexport OPENAI_API_KEY=${your_api_key}\npython3 xiaogpt.py --硬件 LX06\n# 或\npython3 xiaogpt.py --硬件 LX06 --cookie ${cookie}\n# 如果你想直接输入账号密码\npython3 xiaogpt.py --硬件 LX06 --account ${your_xiaomi_account} --password ${your_password} --use_chatgpt_api\n# 如果你想mute小米的回答\npython3 xiaogpt.py --硬件 LX06  --mute_xiaoai\n# 使用流式响应，获得更快的响应\npython3 xiaogpt.py --硬件 LX06  --mute_xiaoai --stream\n# 如果你想使用ChatGLM api\npython3 xiaogpt.py --硬件 LX06  --mute_xiaoai --use_glm --glm_key ${glm_key}\n# 如果你想使用google的gemini\npython3 xiaogpt.py --硬件 LX06  --mute_xiaoai --use_gemini --gemini_key ${gemini_key}\n# 如果你想使用自己的google gemini服务\npython3 xiaogpt.py --硬件 LX06  --mute_xiaoai --use_gemini --gemini_key ${gemini_key} --gemini_api_domain ${gemini_api_domain}\n# 如果你想使用阿里的通义千问\npython3 xiaogpt.py --硬件 LX06  --mute_xiaoai --use_qwen --qwen_key ${qwen_key}\n# 如果你想使用kimi\nxiaogpt --硬件 LX06  --mute_xiaoai --use_moonshot_api --moonshot_api_key ${moonshot_api_key}\n# 如果你想使用01\nxiaogpt --硬件 LX06  --mute_xiaoai --use_yi_api --ti_api_key ${yi_api_key}\n# 如果你想使用豆包\npython3 xiaogpt.py --硬件 LX06  --mute_xiaoai --use_doubao --stream --volc_access_key xxxx --volc_secret_key xxx\n# 如果你想使用llama3\npython3 xiaogpt.py --硬件 LX06  --mute_xiaoai --use_llama --llama_api_key ${llama_api_key}\n# 如果你想使用LangChain+SerpApi实现上网检索或其他本地服务（目前仅支持stream模式）\nexport OPENAI_API_KEY=${your_api_key}\nexport SERPAPI_API_KEY=${your_serpapi_key}\npython3 xiaogpt.py --硬件 Lx06 --use_langchain --mute_xiaoai --stream --openai_key ${your_api_key} --serpapi_api_key ${your_serpapi_key}\n```\n\n## config.yaml\n\n如果想通过单一配置文件启动也是可以的，可以通过`--config`参数指定配置文件，config文件必须是合法的Yaml或JSON格式\n参数优先级\n\n- cli args > default > config\n\n```shell\npython3 xiaogpt.py --config xiao_config.yaml\n\n# 或者\nxiaogpt --config xiao_config.yaml\n```\n\n或者\n\n```shell\ncp xiao_config.yaml.example xiao_config.yaml\npython3 xiaogpt.py\n```\n\n若要指定 OpenAI 的模型参数，如 model, temperate, top_p，请在 config.yaml 中指定：\n\n```yaml\ngpt_options:\n  temperature: 0.9\n  top_p: 0.9\n```\n\n具体参数作用请参考 [Open AI API 文档](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fapi-reference\u002Fchat\u002Fcreate)。\nChatGLM [文档](http:\u002F\u002Fopen.bigmodel.cn\u002Fdoc\u002Fapi#chatglm_130b)\n\n## 配置项说明\n\n| 参数                  | 说明                                                                                                       | 默认值                                                                                                    | 可选值                                                           |\n| --------------------- | ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |\n| hardware              | 设备型号                                                                                                   |                                                                                                           |                                                                  |\n| account               | 小爱账户                                                                                                   |                                                                                                           |                                                                  |\n| password              | 小爱账户密码                                                                                               |                                                                                                           |                                                                  |\n| openai_key            | OpenAI 的 API 密钥                                                                                             |                                                                                                           |                                                                  |\n| moonshot_api_key      | Moonshot Kimi 的 [API 密钥](https:\u002F\u002Fplatform.moonshot.cn\u002Fdocs\u002Fapi\u002Fchat#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B) |                                                                                                           |                                                                  |\n| yi_api_key            | 01 万物的 [API 密钥](https:\u002F\u002Fplatform.lingyiwanwu.com\u002Fapikeys)                                             |                                                                                                           |                                                                  |\n| llama_api_key         | Groq 的 Llama3 [API 密钥](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fquickstart)                                          |                                                                                                           |                                                                  |\n| serpapi_api_key       | SerpAPI 的密钥，参考 [SerpAPI](https:\u002F\u002Fserpapi.com\u002F)                                                          |                                                                                                           |                                                                  |\n| glm_key               | ChatGLM 的 API 密钥                                                                                          |                                                                                                           |                                                                  |\n| gemini_key            | Gemini 的 API 密钥 [参考](https:\u002F\u002Fmakersuite.google.com\u002Fapp\u002Fapikey)                                          |                                                                                                           |                                                                  |\n| gemini_api_domain     | Gemini 的自定义域名 [参考](https:\u002F\u002Fgithub.com\u002Fantergone\u002Fpalm-netlify-proxy)                                |                                                                                                           |\n| qwen_key              | Qwen 的 API 密钥 [参考](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Fapi-details)                |                                                                                                           |                                                                  |\n| cookie                | 小爱账户 Cookie（如果使用上述密码登录，可不填）                                                              |                                                                                                           |                                                                  |\n| mi_did                | 设备 DID                                                                                                    |                                                                                                           |                                                                  |\n| use_command           | 使用 MI Command 与小爱交互                                                                                 | `false`                                                                                                   |                                                                  |\n| mute_xiaoai           | 快速停止小爱自身的回答                                                                                     | `true`                                                                                                    |                                                                  |\n| verbose               | 是否打印详细日志                                                                                           | `false`                                                                                                   |                                                                  |\n| bot                   | 使用的机器人类型，目前支持 ChatGPT API、New Bing、Qwen、Gemini                                                 | `ChatGPT API`                                                                                              |                                                                  |\n| tts                   | 使用的 TTS 类型                                                                                            | `mi`                                                                                                      | `edge`、`OpenAI`、`Azure`、`Volc`、`Baidu`、`Google`、`Minimax` |\n| tts_options           | TTS 参数字典，参考 [Tetos](https:\u002F\u002Fgithub.com\u002Ffrostming\u002Ftetos) 获取可用参数                                |                                                                                                           |                                                                  |\n| prompt                | 自定义提示语                                                                                               | `请用100字以内回答`                                                                                       |                                                                  |\n| keyword               | 自定义请求词列表                                                                                           | `[\"请\"]`                                                                                                  |                                                                  |\n| change_prompt_keyword | 更改提示词触发列表                                                                                         | `[\"更改提示词\"]`                                                                                          |                                                                  |\n| start_conversation    | 开始持续对话关键词                                                                                         | `开始持续对话`                                                                                            |                                                                  |\n| end_conversation      | 结束持续对话关键词                                                                                         | `结束持续对话`                                                                                            |                                                                  |\n| stream                | 使用流式响应，获得更快的响应                                                                               | `true`                                                                                                    |                                                                  |\n| proxy                 | 支持 HTTP 代理，传入 HTTP 代理 URL                                                                        | \"\"                                                                                                        |                                                                  |\n| gpt_options           | OpenAI API 的参数字典                                                                                      | `{}`                                                                                                      |                                                                  |\n| deployment_id         | Azure OpenAI 服务的部署 ID                                                                                  | 参考此[如何找到部署ID](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F347#issuecomment-1784410784) |                                                                  |\n| api_base              | 如果需要替换默认的 API 地址，或者使用 Azure OpenAI 服务                                                            | 例如：`https:\u002F\u002Fabc-def.openai.azure.com\u002F`                                                                 |\n| volc_access_key       | 火山引擎的访问密钥，请在[这里](https:\u002F\u002Fconsole.volcengine.com\u002Fiam\u002Fkeymanage\u002F)获取                        |                                                                                                           |                                                                  |\n| volc_secret_key       | 火山引擎的秘密密钥，请在[这里](https:\u002F\u002Fconsole.volcengine.com\u002Fiam\u002Fkeymanage\u002F)获取                        |                                                                                                           |\n\n## 注意\n\n1. 请开启小爱同学的蓝牙\n2. 如果要更改提示词和 PROMPT 在代码最上面自行更改\n3. 目前已知 LX04、X10A 和 L05B L05C 可能需要使用 `--use_command`，否则可能会出现终端能输出 GPT 的回复但小爱同学不回答 GPT 的情况。这几个型号也只支持小爱原本的 tts.\n4. 在 wsl 使用时，需要设置代理为 \u003Chttp:\u002F\u002Fwls 的 ip:port(vpn 的代理端口)>, 否则会出现连接超时的情况，详情 [报错：Error communicating with OpenAI](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F235)\n\n## QA\n\n1. 用破解么？不用\n2. 你做这玩意也没用啊？确实。。。但是挺好玩的，有用对你来说没用，对我们来说不一定呀\n3. 想把它变得更好？PR Issue always welcome.\n4. 还有问题？提 Issue 哈哈\n5. Exception: Error \u003Chttps:\u002F\u002Fapi2.mina.mi.com\u002Fadmin\u002Fv2\u002Fdevice_list?master=0&requestId=app_ios_xxx>: Login failed [@KJZH001](https:\u002F\u002Fgithub.com\u002FKJZH001)\u003Cbr>\n   这是由于小米风控导致，海外地区无法登录大陆的账户，请尝试 cookie 登录\n   无法抓包的可以在本地部署完毕项目后再用户文件夹`C:\\Users\\用户名`下面找到.mi.token，然后扔到你无法登录的服务器去\u003Cbr>\n   若是 linux 则请放到当前用户的 home 文件夹，此时你可以重新执行先前的命令，不出意外即可正常登录（但 cookie 可能会过一段时间失效，需要重新获取）\u003Cbr>\n   详情请见 [https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F332](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F332)\n\n## 视频教程\n\n\u003Chttps:\u002F\u002Fwww.youtube.com\u002Fwatch?v=K4YA8YwzOOA>\n\n## Docker\n\n### 常规用法\n\nX86\u002FARM Docker Image: `yihong0618\u002Fxiaogpt`\n\n```shell\ndocker run -e OPENAI_API_KEY=\u003Cyour-openapi-key> yihong0618\u002Fxiaogpt \u003C命令行参数>\n```\n\n如\n\n```shell\ndocker run -e OPENAI_API_KEY=\u003Cyour-openapi-key> yihong0618\u002Fxiaogpt --account=\u003Cyour-xiaomi-account> --password=\u003Cyour-xiaomi-password> --hardware=\u003Cyour-xiaomi-hardware> --use_chatgpt_api\n```\n\n### 使用配置文件\n\nxiaogpt 的配置文件可通过指定 volume \u002Fconfig，以及指定参数--config 来处理，如\n\n```shell\ndocker run -v \u003Cyour-config-dir>:\u002Fconfig yihong0618\u002Fxiaogpt --config=\u002Fconfig\u002Fconfig.yaml\n```\n\n### 网络使用 host 模型\n\n```shell\ndocker run -v \u003Cyour-config-dir>:\u002Fconfig --network=host yihong0618\u002Fxiaogpt --config=\u002Fconfig\u002Fconfig.yaml\n```\n\n### 本地编译 Docker Image\n\n```shell\n docker build -t xiaogpt .\n```\n\n如果在安装依赖时构建失败或安装缓慢时，可以在构建 Docker 镜像时使用 `--build-arg` 参数来指定国内源地址：\n\n```sh\ndocker build --build-arg PIP_INDEX_URL=https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple -t xiaogpt .\n```\n\n如果需要在 Apple M1\u002FM2上编译x86\n\n```shell\n docker buildx build --platform=linux\u002Famd64 -t xiaogpt-x86 .\n```\n\n### 第三方 TTS\n\n我们目前支持是三种第三方 TTS：edge\u002Fopenai\u002Fazure\u002Fvolc\u002Fbaidu\u002Fgoogle\n\n[edge-tts](https:\u002F\u002Fgithub.com\u002Frany2\u002Fedge-tts) 提供了类似微软 tts 的能力\n[azure-tts](https:\u002F\u002Ftechcommunity.microsoft.com\u002Ft5\u002Fai-azure-ai-services-blog\u002F9-more-realistic-ai-voices-for-conversations-now-generally\u002Fba-p\u002F4099471) 提供了微软 azure tts 的能力\n[openai-tts](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Ftext-to-speech) 提供了类似 openai tts 的能力\n[fish-tts](https:\u002F\u002Ffish.audio\u002F) 提供了 fish tts 的能力\n\n#### Usage\n\n你可以通过参数 `tts`, 来启用它\n\n```yaml\ntts: edge\n```\n\nFor edge 查看更多语言支持，从中选择一个\n\n```shell\nedge-tts --list-voices\n```\n\n#### 如果你想使用 [fish-tts](https:\u002F\u002Ffish.audio\u002F)\n\n1. 注册 https:\u002F\u002Ffish.audio\u002Fzh-CN\u002Fgo-api\u002F 拿到 api key\n2. 选择你想要的声音自建声音或者使用热门声音  https:\u002F\u002Ffish.audio\u002Fzh-CN\u002Ftext-to-speech\u002F?modelId=e80ea225770f42f79d50aa98be3cedfc 其中 `e80ea225770f42f79d50aa98be3cedfc` 就声音的 key id\n3. python3 xiaogpt.py --hardware LX06 --account xxxx --password xxxxx --use_chatgpt_api --mute_xiaoai --stream --tts fish --fish_api_key xxxxx --fish_voice_key xxxxx\n4. 或者在 xiao_config.yaml 中配置\n\n```yaml\ntts: fish \n# TTS 参数字典，参考 https:\u002F\u002Fgithub.com\u002Ffrostming\u002Ftetos 获取可用参数\ntts_options: {\n    \"api_key\": \"xxxxx\",\n    \"voice\": \"xxxxxx\"\n}\n\n``` \n\n#### 在容器中使用 edge-tts\u002Fazure-tts\u002Fopenai-tts\u002Fvolc\u002Fgoogle\u002Fbaidu\u002Ffish\n\n由于 Edge TTS 启动了一个本地的 HTTP 服务，所以需要将容器的端口映射到宿主机上，并且指定本地机器的 hostname:\n\n```shell\ndocker run -v \u003Cyour-config-dir>:\u002Fconfig -p 9527:9527 -e XIAOGPT_HOSTNAME=\u003Cyour ip> yihong0618\u002Fxiaogpt --config=\u002Fconfig\u002Fconfig.yaml\n```\n\n注意端口必须映射为与容器内一致，XIAOGPT_HOSTNAME 需要设置为宿主机的 IP 地址，否则小爱无法正常播放语音。\n\n## 推荐的类似项目\n\n- [XiaoBot](https:\u002F\u002Fgithub.com\u002Flongbai\u002Fxiaobot) -> Go 语言版本的 Fork, 带支持不同平台的 UI\n- [MiGPT](https:\u002F\u002Fgithub.com\u002Fidootop\u002Fmi-gpt) -> Node.js 版，支持流式响应和长短期记忆\n\n## 感谢\n\n- [xiaomi](https:\u002F\u002Fwww.mi.com\u002F)\n- [PDM](https:\u002F\u002Fpdm.fming.dev\u002Flatest\u002F)\n- [Tetos](https:\u002F\u002Fgithub.com\u002Ffrostming\u002Ftetos) TTS 云服务支持\n- @[Yonsm](https:\u002F\u002Fgithub.com\u002FYonsm) 的 [MiService](https:\u002F\u002Fgithub.com\u002FYonsm\u002FMiService)\n- @[pjq](https:\u002F\u002Fgithub.com\u002Fpjq) 给了这个项目非常多的帮助\n- @[frostming](https:\u002F\u002Fgithub.com\u002Ffrostming) 重构了一些代码，支持了`持续会话功能`\n\n## 赞赏\n\n谢谢就够了","# xiaogpt 快速上手指南\n\nxiaogpt 是一个让小米小爱音箱接入 ChatGPT、Kimi、通义千问、Gemini 等大语言模型的工具，无需 Root 即可实现智能对话。\n\n## 1. 环境准备\n\n*   **操作系统**：Linux, macOS, Windows (CMD\u002FPowerShell)\n*   **Python 版本**：Python 3.8 及以上\n*   **硬件设备**：支持的小米小爱音箱（需联网）\n*   **网络环境**：能正常访问互联网或配置了代理（部分模型如 ChatGPT 需要）\n*   **账号信息**：\n    *   小米账号及密码\n    *   对应大模型的 API Key（如 OpenAI, Moonshot, Aliyun 等）\n\n## 2. 安装步骤\n\n推荐使用 pip 进行安装：\n\n```bash\npip install -U --force-reinstall xiaogpt[locked]\n```\n\n> **提示**：国内用户若下载缓慢，可添加国内镜像源：\n> `pip install -U --force-reinstall xiaogpt[locked] -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n### 获取设备 DID (必需)\n\n在使用前，必须获取小爱音箱的设备 ID (MI_DID)。请根据系统选择对应命令：\n\n**第一步：安装依赖**\n```bash\npip install miservice_fork\n```\n\n**第二步：设置账号环境变量**\n*   **Linux \u002F Mac**:\n    ```bash\n    export MI_USER=你的小米账号\n    export MI_PASS=你的小米密码\n    ```\n*   **Windows CMD**:\n    ```cmd\n    set MI_USER=你的小米账号\n    set MI_PASS=你的小米密码\n    ```\n*   **Windows PowerShell**:\n    ```powershell\n    $env:MI_USER=\"你的小米账号\"\n    $env:MI_PASS=\"你的小米密码\"\n    ```\n\n**第三步：获取并设置 DID**\n运行以下命令列出设备：\n```bash\nmicli list\n```\n在输出结果中找到目标音箱的 `did`，然后设置环境变量：\n*   **Linux \u002F Mac**: `export MI_DID=xxx` (xxx 为查到的 did)\n*   **Windows CMD**: `set MI_DID=xxx`\n*   **Windows PowerShell**: `$env:MI_DID=\"xxx\"`\n\n> **注意**：如果获取 DID 报错，尝试切换手机或电脑的无线网络（如从 5G 切到 2.4G 或反之）。\n\n## 3. 基本使用\n\n### 最简单的启动方式\n\n假设你的音箱型号为 `LX06`（型号通常位于音箱底部，或通过 `micli mina` 查看），并已准备好 OpenAI API Key。\n\n1.  设置 OpenAI Key：\n    ```bash\n    export OPENAI_API_KEY=sk-xxxxxx\n    ```\n    *(Windows 用户使用 `set` 或 `$env:` 设置)*\n\n2.  运行程序：\n    ```bash\n    xiaogpt --hardware LX06 --use_chatgpt_api\n    ```\n    或者直接使用账号密码登录（无需预先设置环境变量）：\n    ```bash\n    xiaogpt --hardware LX06 --account 你的小米账号 --password 你的小米密码 --use_chatgpt_api\n    ```\n\n### 使用方法\n\n启动成功后，对着小爱音箱说出唤醒词（如“小爱同学”），然后说：\n> \"**帮我** [你的问题]\"\n\n例如：“帮我写一首关于春天的诗”。小爱将调用大模型生成回答并通过 TTS 朗读出来。\n\n### 常用参数示例\n\n*   **静音小爱原生回复**（仅播放 AI 回答）：\n    ```bash\n    xiaogpt --hardware LX06 --mute_xiaoai --use_chatgpt_api\n    ```\n*   **使用 Kimi (Moonshot) 模型**：\n    ```bash\n    xiaogpt --hardware LX06 --mute_xiaoai --use_moonshot_api --moonshot_api_key sk-xxxxxx\n    ```\n*   **使用通义千问模型**：\n    ```bash\n    xiaogpt --hardware LX06 --mute_xiaoai --use_qwen --qwen_key sk-xxxxxx\n    ```\n*   **开启流式响应**（更快出字）：\n    ```bash\n    xiaogpt --hardware LX06 --mute_xiaoai --stream --use_chatgpt_api\n    ```\n\n### 持续对话模式\n\n在对话中直接对小爱说：\n*   \"**开始持续对话**\"：进入连续交互模式，无需每次都说“帮我”。\n*   \"**结束持续对话**\"：退出该模式。","独居的程序员老张习惯在厨房边做饭边听技术播客，某天他想查询一段复杂的 Python 异步代码写法，却因双手沾满油污无法操作手机或电脑。\n\n### 没有 xiaogpt 时\n- **交互受限**：小爱同学只能回答固定的百科知识或执行简单的智能家居指令，无法理解“如何用 asyncio 重写这个爬虫”等专业编程问题。\n- **流程中断**：必须停下手中的活，洗净擦干手后拿起手机搜索，打断烹饪节奏且容易弄脏设备屏幕。\n- **信息滞后**：内置的知识库更新缓慢，无法获取最新的 AI 模型特性或刚发布的技术文档内容。\n- **体验割裂**：若想获得高质量答案，需手动复制粘贴到 ChatGPT 网页版，无法通过语音直接获得流畅的自然语言回复。\n\n### 使用 xiaogpt 后\n- **能力跃升**：通过配置 `--use_chatgpt_api`，小爱音响瞬间变身私人技术顾问，能精准解答复杂的代码逻辑和最新的技术概念。\n- **无感交互**：老张只需说出“帮我写一个基于 FastAPI 的 Hello World\"，xiaogpt 即刻调用大模型并通过 TTS 语音播报代码结构，全程无需动手。\n- **实时同步**：直接接入 ChatGLM、Moonshot 等最新大模型接口，确保获取的技术方案与社区前沿保持同步。\n- **持续对话**：开启“持续对话”模式后，老张可以像与人讨论一样多轮追问细节，xiaogpt 能结合上下文给出连贯的优化建议。\n\nxiaogpt 将闲置的传统智能音箱升级为连接顶尖大模型的语音终端，让开发者在任何生活场景中都能实现“动口不动手”的高效人机协作。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fyihong0618_xiaogpt_a77a0e9e.png","yihong0618","yihong","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fyihong0618_4790516a.png","The best is yet to come.","@apache","China","yihong0618@apache.org","yihong.run","https:\u002F\u002Fgithub.com\u002Fyihong0618",[85,89],{"name":86,"color":87,"percentage":88},"Python","#3572A5",99.7,{"name":90,"color":91,"percentage":92},"Dockerfile","#384d54",0.3,6811,942,"2026-04-07T03:20:47","MIT","Linux, macOS, Windows","未说明",{"notes":100,"python":101,"dependencies":102},"需要小米音响硬件及对应的 DID；需配置各 LLM 服务的 API Key（如 OpenAI, Gemini, Moonshot 等）；网络环境需能访问对应 AI 服务接口，若受限需配置代理或自定义 api_base；支持通过 Docker 运行。","3.8+",[103,67],"miservice_fork",[15],[106,107,108,109],"python","chatgpt","xiaomi","llms",null,"2026-03-27T02:49:30.150509","2026-04-08T13:57:52.532039",[114,119,124,129,134,139,144,149],{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},24496,"小爱音箱的账号和密码是指小爱开放平台的 APIKEY 吗？","不是。这里的账号和密码指的是您登录小米账号（Mi Account）时使用的手机号\u002F邮箱和密码，用于通过 MiService 控制音箱，而不是小爱开放平台的 API Key。","https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F207",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},24497,"如何使用 Azure TTS 的新嗓音（如 zh-CN-XiaoxiaoMultilingualNeural）？","可以使用。请确保更新到最新版的 `azure-cognitiveservices-speech` 库。如果无法使用，可能是区域设置问题，尝试将分区设置为 'south east asia' 或其他支持该嗓音的区域。","https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F470",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},24498,"使用了 --mute_xiaoai 参数，但小爱音箱仍然会先回答几个字怎么办？","完全静音在技术上较难实现，因为需要在小米服务端落盘，完全 mute 可能导致小爱本身功能失效。目前的实现是通过代码中的 sleep 机制尽量缩短间隔。如果需要更极致的静音效果，可以参考源码将相关 sleep 时间全部改为 0，但这需要自行修改代码。","https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F331",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},24499,"Docker 容器后台运行一段时间后服务自动停止或卡住是什么原因？","这通常是因为 Cookie 在精准 24 小时后过期导致轮询线程卡住。解决方案是设置定时任务，每 20 小时左右重新登录一次以刷新 Cookie，或者等待项目后续更新修复此问题。","https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F282",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},24500,"程序运行无报错但没有任何效果（无法控制音箱），可能是什么原因？","这通常是因为设备型号（hardware）对应的 MIOT Spec 指令不匹配。建议使用 `micli.py spec [设备 urn]` 命令查看具体的指令定义（如播放文本的 siid 和 aiid），并检查 config.py 中是否已正确配置该型号的指令映射。如果未配置，需手动添加或提交 PR。","https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F194",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},24501,"运行 micli.py list 时无法获取 DID 或提示登录失败，但账号密码确认无误怎么办？","这可能是网络请求库（aiohttp）在某些系统（如 macOS）上的兼容性问题。可以参考 aiohttp 的相关 Issue 解决方案，或者检查网络连接及代理设置。部分用户反馈更新依赖库或调整网络环境后解决。","https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F100",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},24502,"LX06 或小爱音箱 Pro 使用 OpenAI TTS 不播放声音，但小米 TTS 正常怎么办？","这通常是特定型号对第三方 TTS 的支持问题或配置缺失。首先确保已更新到最新版本。如果问题依旧，检查配置文件是否正确指定了 TTS 引擎。对于新机型（如 X10A），可能需要手动在 `config.py` 中添加对应的硬件支持和指令映射（参考 MIOT Spec 找到正确的播放文本指令）。","https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F407",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},24503,"如何为新型号的小爱音箱（如 L05C, X10A 等）添加支持？","首先通过 `micli.py spec [设备 urn]` 查询设备的 MIOT 规格，找到“播放文本”对应的服务实例 ID（siid）和动作实例 ID（aiid）。然后在项目的 `config.py` 文件中，按照现有格式添加该硬件型号及其对应的指令映射。完成后重新运行即可支持。","https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F73",[155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250],{"id":156,"version":157,"summary_zh":158,"released_at":159},154089,"v3.23","*无重大变更*\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在GitHub上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.22...v3.23)","2025-10-26T01:31:37",{"id":161,"version":162,"summary_zh":163,"released_at":164},154090,"v3.22","### &nbsp;&nbsp;&nbsp;🐞 Bug 修复\n\n- 使用 3.12 &nbsp;-&nbsp; 由 @yihong0618 [\u003Csamp>(97622)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F9762239)\n- 使用 pdm 替代 pip &nbsp;-&nbsp; 由 @yihong0618 [\u003Csamp>(e5900)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Fe59001a)\n- 移除 black 格式化工具 &nbsp;-&nbsp; 由 @yihong0618 [\u003Csamp>(34565)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F34565d1)\n- Dockerfile 中使用 3.12 和 pdm &nbsp;-&nbsp; 由 @yihong0618 [\u003Csamp>(6d9d8)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F6d9d811)\n- 新的 Dockerfile &nbsp;-&nbsp; 由 @yihong0618 [\u003Csamp>(45f83)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F45f8321)\n- 问题 #589 &nbsp;-&nbsp; 由 @yihong0618 在 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F590 和 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F589 中提出 [\u003Csamp>(7258d)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F7258d8f)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在 GitHub 上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.21...v3.22)","2025-08-11T12:52:59",{"id":166,"version":167,"summary_zh":168,"released_at":169},154091,"v3.21","*无重大变更*\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在GitHub上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.20...v3.21)","2025-06-10T01:29:44",{"id":171,"version":172,"summary_zh":173,"released_at":174},154092,"v3.20","### &nbsp;&nbsp;&nbsp;🐞 修复了若干Bug\n\n- 自动修复 &nbsp;-&nbsp; 由 @yihong0618 在 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F577 中完成 [\u003Csamp>(efcdf)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Fefcdf3d)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在GitHub上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.10...v3.20)","2025-04-20T07:41:14",{"id":176,"version":177,"summary_zh":178,"released_at":179},154093,"v3.10","### &nbsp;&nbsp;&nbsp;🚀 功能\n\n- 自定义 Gemini 模型。#562 &nbsp;-&nbsp; 由 @lazydao 在 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F564 和 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F562 中提出 [\u003Csamp>(355eb)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F355ebc6)\n\n### &nbsp;&nbsp;&nbsp;🐞 错误修复\n\n- 更新 Gemini 模型，关闭 #574 &nbsp;-&nbsp; 由 @yihong0618 在 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F574 中完成 [\u003Csamp>(b2b6a)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Fb2b6a8e)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在 GitHub 上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.05...v3.10)","2025-03-19T13:27:24",{"id":181,"version":182,"summary_zh":183,"released_at":184},154094,"v3.05","### &nbsp;&nbsp;&nbsp;🐞 错误修复\n\n- 使 MP3 可再次播放 &nbsp;-&nbsp; 由 @frostming 在 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F557 中完成 [\u003Csamp>(68625)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F686252e)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在 GitHub 上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.04...v3.05)","2024-10-30T06:58:37",{"id":186,"version":187,"summary_zh":188,"released_at":189},154095,"v3.04","### &nbsp;&nbsp;&nbsp;🚀 功能\n\n- 支持鱼类音频的实时TTS &nbsp;-&nbsp; 由 @frostming 在 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F555 中实现 [\u003Csamp>(9e4a4)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F9e4a4b5)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在GitHub上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.03...v3.04)","2024-10-29T13:12:28",{"id":191,"version":192,"summary_zh":193,"released_at":194},154096,"v3.03","### &nbsp;&nbsp;&nbsp;🐞 错误修复\n\n- 代码检查 &nbsp;-&nbsp; 由 @yihong0618 [\u003Csamp>(f3c6a)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Ff3c6aa0)\n- 锁定版本 &nbsp;-&nbsp; 由 @yihong0618 [\u003Csamp>(3fe42)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F3fe423e)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在 GitHub 上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.02...v3.03)","2024-10-11T09:23:19",{"id":196,"version":197,"summary_zh":198,"released_at":199},154097,"v3.02","### &nbsp;&nbsp;&nbsp;🐞 修复了错误\n\n- #552 由 replace star 提出 &nbsp;-&nbsp; 由 @yihong0618 在 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F552 中完成 [\u003Csamp>(8e4a3)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F8e4a35d)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在 GitHub 上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.01...v3.02)","2024-10-10T11:27:28",{"id":201,"version":202,"summary_zh":203,"released_at":204},154098,"v3.01","### &nbsp;&nbsp;&nbsp;🐞 错误修复\n\n- 不再硬编码 glm 模型 &nbsp;-&nbsp; 由 @frostming 在 https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F547 中提出 [\u003Csamp>(915d6)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F915d674)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[在 GitHub 上查看更改](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv3.00...v3.01)","2024-09-22T09:12:46",{"id":206,"version":207,"summary_zh":208,"released_at":209},154099,"v2.92","*No significant changes*\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.91...v2.92)","2024-08-17T03:42:21",{"id":211,"version":212,"summary_zh":213,"released_at":214},154100,"v2.91","### &nbsp;&nbsp;&nbsp;🐞 Bug Fixes\n\n- Use gpt4o-mini close #541 &nbsp;-&nbsp; by @yihong0618 in https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F541 [\u003Csamp>(ed0ec)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Fed0ecc5)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.90...v2.91)","2024-07-22T10:25:07",{"id":216,"version":217,"summary_zh":218,"released_at":219},154101,"v2.90","*No significant changes*\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.84...v2.90)","2024-07-08T11:40:53",{"id":221,"version":222,"summary_zh":223,"released_at":224},154102,"v2.84","### &nbsp;&nbsp;&nbsp;🚀 Features\n\n- Detect language using lingua, instead of trusting LLM &nbsp;-&nbsp; by @frostming in https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F518 [\u003Csamp>(c82be)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Fc82be6a)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.83...v2.84)","2024-05-22T11:22:07",{"id":226,"version":227,"summary_zh":228,"released_at":229},154103,"v2.83","### &nbsp;&nbsp;&nbsp;🐞 Bug Fixes\n\n- #514 xiaogpt need play &nbsp;-&nbsp; by @yihong0618 in https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F514 [\u003Csamp>(241ab)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F241abfd)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.82...v2.83)","2024-05-20T10:52:22",{"id":231,"version":232,"summary_zh":233,"released_at":234},154104,"v2.82","### &nbsp;&nbsp;&nbsp;🐞 Bug Fixes\n\n- No module named 'langchain_community' &nbsp;-&nbsp; by @yihong0618 [\u003Csamp>(f5b83)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Ff5b8324)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.81...v2.82)","2024-05-18T04:09:39",{"id":236,"version":237,"summary_zh":238,"released_at":239},154105,"v2.81","*No significant changes*\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.80...v2.81)","2024-05-18T04:01:28",{"id":241,"version":242,"summary_zh":243,"released_at":244},154106,"v2.80","### &nbsp;&nbsp;&nbsp;🐞 Bug Fixes\n\n- Can't stop when play background music &nbsp;-&nbsp; by @hanxi in https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F509 [\u003Csamp>(e9fee)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Fe9feef6)\n- Update version &nbsp;-&nbsp; by @yihong0618 [\u003Csamp>(8c7df)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F8c7dffa)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.71...v2.80)","2024-05-17T04:40:32",{"id":246,"version":247,"summary_zh":248,"released_at":249},154107,"v2.71","### &nbsp;&nbsp;&nbsp;🚀 Features\n\n- New bots openai like yi llama3 01 &nbsp;-&nbsp; by @yihong0618 [\u003Csamp>(1d242)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F1d2421b)\n- New bots openai like yi llama3 01 &nbsp;-&nbsp; by @yihong0618 in https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F499 [\u003Csamp>(fbdee)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Ffbdee6b)\n- Switch to yaml config &nbsp;-&nbsp; by @frostming in https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fissues\u002F501 [\u003Csamp>(f274e)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Ff274ec2)\n\n### &nbsp;&nbsp;&nbsp;🐞 Bug Fixes\n\n- Change openai default model &nbsp;-&nbsp; by @yihong0618 [\u003Csamp>(e66be)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002Fe66be71)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.70...v2.71)","2024-05-14T03:27:38",{"id":251,"version":252,"summary_zh":253,"released_at":254},154108,"v2.70","### &nbsp;&nbsp;&nbsp;🚀 Features\n\n- New bots openai like yi llama3 01 &nbsp;-&nbsp; by @yihong0618 [\u003Csamp>(1d242)\u003C\u002Fsamp>](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcommit\u002F1d2421b)\n\n##### &nbsp;&nbsp;&nbsp;&nbsp;[View changes on GitHub](https:\u002F\u002Fgithub.com\u002Fyihong0618\u002Fxiaogpt\u002Fcompare\u002Fv2.64...v2.70)","2024-05-03T05:31:01"]