[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-wangzongming--esp-ai":3,"tool-wangzongming--esp-ai":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",151918,2,"2026-04-12T11:33:05",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":120,"forks":121,"last_commit_at":122,"license":123,"difficulty_score":10,"env_os":124,"env_gpu":124,"env_ram":124,"env_deps":125,"category_tags":131,"github_topics":133,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":148,"updated_at":149,"faqs":150,"releases":191},6884,"wangzongming\u002Fesp-ai","esp-ai","The simplest and lowest-cost AI integration solution. If you like this project, please give it a Star~ | 最简单、最低成本的AI接入方案。喜欢本项目的话点个 Star 吧~","esp-ai 是一款专为嵌入式硬件打造的 AI 语音交互解决方案，旨在以最低的成本和最简单的流程，让各类设备轻松接入大模型能力。它主要解决了开发者在构建智能机器人或语音设备时，面临的技术门槛高、集成复杂以及服务成本昂贵等痛点。\n\n该工具非常适合电子爱好者、物联网开发者以及希望快速原型化的科研团队使用。无论是基于 ESP32-S3 还是 ESP32-C3 的开发板，用户只需准备基础的语音识别（ASR）、大语言模型（LLM）和语音合成（TTS）服务接口，esp-ai 即可自动串联起完整的“听 - 思考 - 说”对话闭环。\n\n其技术亮点在于高效的流式数据处理架构，能够显著降低延迟并支持随时打断对话，带来更自然的交流体验。此外，esp-ai 采用插件化设计，灵活兼容多种后端服务，并提供可视化的开发者平台，甚至支持仅需 15 秒音频即可克隆定制音色。项目服务端基于 Node.js，硬件端适配 Arduino\u002FIDF 环境，开箱即用，让创造智能硬件变得前所未有的简单。","\n\u003Cdiv align=\"center\"> \n\u003Ca name=\"readme-top\">\u003C\u002Fa>\n\n\u003Cdiv style=\"background:#fff;border-radius: 12px;width:300px;\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_4f00a2c7c975.png\"\u002F> \n\u003C\u002Fdiv>\n\n\u003Ch1>ESP-AI\u003C\u002Fh1>\n\n硬件接入AI最简单、最低成本的方案\u003Cbr\u002F>The simplest and lowest cost solution for any item to access AI\n\n\n[![NPM version][npm-image]][npm-url] \n[![NPM downloads][download-image]][download-url]\n[![][bundlephobia-image]][bundlephobia-url] \n\n[Changelog](https:\u002F\u002Fespai.fun\u002Fchange-logs.html) · \n[中文文档](https:\u002F\u002Fespai.fun\u002F) · \n[English Docs](https:\u002F\u002Fespai.fun\u002Fen)\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_9de491912502.png)\n\n[npm-image]: https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fesp-ai.svg?style=flat-square\n[npm-url]: https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Fesp-ai\n[download-url]: https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Fesp-ai\n[bundlephobia-image]: https:\u002F\u002Fbadgen.net\u002Fbundlephobia\u002Fminzip\u002Fesp-ai?style=flat-square\n[download-image]: https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fesp-ai.svg?style=flat\n[bundlephobia-url]: https:\u002F\u002Fbundlephobia.com\u002Fpackage\u002Fesp-ai \n   \n\n\u003Cdiv style=\"background:#fff;border-radius: 12px;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_43bdc671953d.png\"\u002F>\n\u003C\u002Fdiv>\n\n\n\u003C\u002Fdiv>\n\n\n\u003Cbr\u002F>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fesp-ai2.oss-cn-beijing.aliyuncs.com\u002Ficon\u002F官方固件\u002FTFT屏幕\" height=\"300\">\n  \u003Cimg src=\"https:\u002F\u002Fesp-ai2.oss-cn-beijing.aliyuncs.com\u002Ficon\u002F官方固件\u002Ffeng_main.gif\" height=\"300\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fesp-ai2.oss-cn-beijing.aliyuncs.com\u002Ficon\u002F官方固件\u002Fespai带屏幕版本\" height=\"300\">\n  \u003Cimg src=\"https:\u002F\u002Fesp-ai2.oss-cn-beijing.aliyuncs.com\u002Ficon\u002F官方固件\u002F大白\"  height=\"300\">\n\u003C\u002Fp>\n\n\n\n\u003Cbr \u002F>\n\n# language\n\n\u003Ch3>\n\u003Ca href=\".\u002Freadme_zh.md\">👉简体中文\u003C\u002Fa> \n\u003C\u002Fh3>\n\u003Ch3> \n\u003Ca href=\".\u002Freadme_ja.md\">👉Japanese\u003C\u002Fa>\n\u003C\u002Fh3>\n\n\n# Intro\n\n> Provides a complete AI dialogue solution for your development board, including but not limited to the `IAT(ASR)+LLM+TTS` integration solution for the `ESP32` series development boards. It is injected into the project as a dependency without affecting existing projects.\n\nFor developing the dialogue functionality of robots, you only need to prepare the `IAT(ASR)`, `LLM`, and `TTS` services, and leave the rest to `ESP-AI`.\n\nThe server-side code of this project is based on `Node.js`, and the hardware code is based on `Arduino`\u002F`IDF`.\n\nOpen source is not easy, click the `Star` button in the upper right corner to show your support~\n\n# 🖥 Website\n\n- [中文网站](https:\u002F\u002Fespai.fun\u002F)\n- [English](https:\u002F\u002Fespai.fun\u002Fen)\n\n\n# 🖥 open platform \n\nA platform based on ESP-AI that provides end services and management services to businesses and individuals. [Visit the Open Platform](https:\u002F\u002Fdev.espai.fun\u002F).\nIt offers free ASR (Automatic Speech Recognition), TTS (Text-to-Speech), and LLM (Large Language Model) services. On this platform, you can clone a custom voice with just a 15-second audio clip.\n\n# ✨ Features\n\n- ✔️ Customizable offline wake words with multiple built-in wake-up methods (voice, button, serial port, Tianwen ASRPro)\n- ✔️ Complete conversation chain: IAT (ASR) ➡️ LLM\u002FRAG ➡️ TTS\n- ✔️ Fast response algorithms for TTS\u002FLLM, designed to balance service cost while providing the quickest response time\n- ✔️ Supports conversation interruption\n- ✔️ Recognizes user commands (appliance control, singing, etc.) and can dynamically respond based on context\n- ✔️ Configurable\n- ✔️ Plugin-based, allowing integration with any LLM\u002FTTS\u002FIAT using plugins\n- ✔️ One-to-many relationship between service and clients, with independent configuration for each client (hardware)\n- ✔️ Connection supports authentication\n- ✔️ Full-chain streaming data interaction\n- ✔️ Developer platform offers: free services, visual configuration, etc.\n- ✔️ Client configuration webpage provided\n- ✔️ Easily handles high concurrency scenarios (requires Nginx for load balancing)\n- ✔️ Ready to use out of the box\n- ✔️ Supports `esp32s3`\u002F`esp32c3`\n- ✔️ Supports `OPEN API` \n\n# 🧐 Next Steps\n\n- [ ] 🤔 Improve accuracy of built-in offline wake-up (currently recommended to use Tianwen ASRPro) \n- [ ] 🤔 Online wake word generation  \n\n# 📦 Install\n\n\n### Server\n```bash\ndocker run -itd -p 8088:8088 -v \u002Fesp-ai-server\u002Findex.js:\u002Fserver\u002Findex.js --name esp-ai-server registry.cn-shanghai.aliyuncs.com\u002Fxiaomingio\u002Fesp-ai:1.0.0\n```\n### Client\nDownload the dependency on the release page and burn it to the development board, see details: [Client Install](https:\u002F\u002Fespai.fun\u002Fstart.html#%E5%AE%A2%E6%88%B7%E7%AB%AF)\n\n# 🔨 Inject Soul into Your Robot with Just a Few Lines of Code\n\nBelow are the `Node.js` and `Arduino` codes you need to write if you only require dialogue functionality.\n\n\u003C!-- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_38862d722445.png\" \u002F> -->\n\u003C!-- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_b4f1dfe94ba6.png\" \u002F> -->\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_d3ccb74e7cf4.png\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_d3e5efa8eac5.png\" \u002F>\n\n\n# 🏪 Discussion Group\n\n\u003Cp>QQ 交流群1: 854445223\u003C\u002Fp>\n\u003Cp>QQ 交流群2: 952051286\u003C\u002Fp>\n \n# 🎥 Case Study Video \n\n【生活不易，Doro卖艺！】 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1uvbKzREYP\u002F?share_source=copy_web&vd_source=041c9610a29750f498de1bafe953086b\n\n【一键制作你的AI动图桌宠（在线免费制作）】 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1xut4zuEf8\u002F?share_source=copy_web&vd_source=041c9610a29750f498de1bafe953086b\n\n【ESP-AI 玩偶方案板】 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1YTbDzQEk8\u002F?share_source=copy_web&vd_source=041c9610a29750f498de1bafe953086b\n\n【强噪音下对话和tft屏(ESP-AI新版预)】 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1KD7KzsEoc\u002F?share_source=copy_web&vd_source=041c9610a29750f498de1bafe953086b\n \n## 🤝 Contributing [![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg?style=flat-square)](http:\u002F\u002Fmakeapullrequest.com)\n\nLet's build a better `esp-ai` together.\n\nWe warmly invite contributions from everyone. Feel free to share your ideas through [Pull Requests](https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fpulls) or [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002F\u002Fissues).\n \n\u003Ctable>\n\u003Ctr>\n  \u003Ctd> \n\u003Ca href=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-recent-top-contributors?repo_id=820274347\" target=\"_blank\" style=\"display: block\" align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-recent-top-contributors\u002Fthumbnail.png?repo_id=820274347&image_size=auto&color_scheme=dark\" width=\"280\" height=\"auto\">\n    \u003Cimg alt=\"Top Contributors of wangzongming\u002Fesp-ai - Last 28 days\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_fdd4cc51879f.png\" width=\"280\" height=\"auto\">\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n \n  \u003C\u002Ftd>\n  \u003Ctd rowspan=\"2\"> \n    \u003Ca href=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-last-28-days-stats?repo_id=820274347\" target=\"_blank\" style=\"display: block\" align=\"center\">\n    \u003Cpicture>\n        \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-last-28-days-stats\u002Fthumbnail.png?repo_id=820274347&image_size=auto&color_scheme=dark\" width=\"655\" height=\"auto\">\n        \u003Cimg alt=\"Performance Stats of wangzongming\u002Fesp-ai - Last 28 days\" src=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-last-28-days-stats\u002Fthumbnail.png?repo_id=820274347&image_size=auto&color_scheme=light\" width=\"655\" height=\"auto\">\n    \u003C\u002Fpicture>\n    \u003C\u002Fa> \n  \u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd> \n\u003Ca href=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-recent-active-contributors?repo_id=820274347&limit=30\" target=\"_blank\" style=\"display: block\" align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-recent-active-contributors\u002Fthumbnail.png?repo_id=820274347&limit=30&image_size=auto&color_scheme=dark\" width=\"273\" height=\"auto\">\n    \u003Cimg alt=\"Active Contributors of wangzongming\u002Fesp-ai - Last 28 days\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_54953d2a602f.png\" width=\"273\" height=\"auto\">\n  \u003C\u002Fpicture>\n\u003C\u002Fa> \n  \u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n# 🌍 Star geographical distribution\n\u003Ca href=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fanalyze-repo-stars-map?repo_id=820274347&activity=stars\" target=\"_blank\" style=\"display: block\" align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fanalyze-repo-stars-map\u002Fthumbnail.png?repo_id=820274347&activity=stars&image_size=auto&color_scheme=dark\" width=\"721\" height=\"auto\">\n    \u003Cimg alt=\"Star Geographical Distribution of wangzongming\u002Fesp-ai\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_e0d35f8ec203.png\" width=\"100%\" height=\"auto\">\n  \u003C\u002Fpicture>\n\u003C\u002Fa> \n\n\n# quote\nIf this project has helped your research, please cite us:\n\n    @software{ESP-AI,\n        title        = {{ESP-AI}},\n        author       = {小明IO},\n        year         = 2024,\n        journal      = {GitHub repository},\n        publisher    = {GitHub},\n        howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai}}\n    }","\u003Cdiv align=\"center\"> \n\u003Ca name=\"readme-top\">\u003C\u002Fa>\n\n\u003Cdiv style=\"background:#fff;border-radius: 12px;width:300px;\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_4f00a2c7c975.png\"\u002F> \n\u003C\u002Fdiv>\n\n\u003Ch1>ESP-AI\u003C\u002Fh1>\n\n硬件接入AI最简单、最低成本的方案\u003Cbr\u002F>将任何设备接入AI的最简单且成本最低的解决方案\n\n\n[![NPM version][npm-image]][npm-url] \n[![NPM downloads][download-image]][download-url]\n[![][bundlephobia-image]][bundlephobia-url] \n\n[Changelog](https:\u002F\u002Fespai.fun\u002Fchange-logs.html) · \n[中文文档](https:\u002F\u002Fespai.fun\u002F) · \n[English Docs](https:\u002F\u002Fespai.fun\u002Fen)\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_9de491912502.png)\n\n[npm-image]: https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fesp-ai.svg?style=flat-square\n[npm-url]: https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Fesp-ai\n[download-url]: https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Fesp-ai\n[bundlephobia-image]: https:\u002F\u002Fbadgen.net\u002Fbundlephobia\u002Fminzip\u002Fesp-ai?style=flat-square\n[download-image]: https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fesp-ai.svg?style=flat\n[bundlephobia-url]: https:\u002F\u002Fbundlephobia.com\u002Fpackage\u002Fesp-ai \n   \n\n\u003Cdiv style=\"background:#fff;border-radius: 12px;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_43bdc671953d.png\"\u002F>\n\u003C\u002Fdiv>\n\n\n\u003C\u002Fdiv>\n\n\n\u003Cbr\u002F>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fesp-ai2.oss-cn-beijing.aliyuncs.com\u002Ficon\u002F官方固件\u002FTFT屏幕\" height=\"300\">\n  \u003Cimg src=\"https:\u002F\u002Fesp-ai2.oss-cn-beijing.aliyuncs.com\u002Ficon\u002F官方固件\u002Ffeng_main.gif\" height=\"300\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fesp-ai2.oss-cn-beijing.aliyuncs.com\u002Ficon\u002F官方固件\u002Fespai带屏幕版本\" height=\"300\">\n  \u003Cimg src=\"https:\u002F\u002Fesp-ai2.oss-cn-beijing.aliyuncs.com\u002Ficon\u002F官方固件\u002F大白\"  height=\"300\">\n\u003C\u002Fp>\n\n\n\n\u003Cbr \u002F>\n\n# language\n\n\u003Ch3>\n\u003Ca href=\".\u002Freadme_zh.md\">👉简体中文\u003C\u002Fa> \n\u003C\u002Fh3>\n\u003Ch3> \n\u003Ca href=\".\u002Freadme_ja.md\">👉Japanese\u003C\u002Fa>\n\u003C\u002Fh3>\n\n\n# Intro\n\n> 为您的开发板提供完整的AI对话解决方案，包括但不限于针对`ESP32`系列开发板的`IAT(ASR)+LLM+TTS`一体化方案。它以依赖库的形式注入项目中，不会影响现有项目。\n\n在开发机器人对话功能时，您只需准备好`IAT(ASR)`、`LLM`和`TTS`服务，剩下的就交给`ESP-AI`吧。\n\n该项目的服务器端代码基于`Node.js`，硬件代码则基于`Arduino`\u002F`IDF`。\n\n开源不易，请点击右上角的`Star`按钮以示支持~\n\n# 🖥 Website\n\n- [中文网站](https:\u002F\u002Fespai.fun\u002F)\n- [English](https:\u002F\u002Fespai.fun\u002Fen)\n\n\n# 🖥 open platform \n\n一个基于ESP-AI的平台，为企业和个人提供终端服务与管理服务。[访问开放平台](https:\u002F\u002Fdev.espai.fun\u002F)。\n该平台提供免费的ASR（自动语音识别）、TTS（文本转语音）和LLM（大型语言模型）服务。您只需一段15秒的音频，即可在此平台上克隆出属于自己的专属声音。\n\n# ✨ Features\n\n- ✔️ 可自定义离线唤醒词，并内置多种唤醒方式（语音、按键、串口、天问ASRPro）\n- ✔️ 完整的对话链：IAT (ASR) ➡️ LLM\u002FRAG ➡️ TTS\n- ✔️ 针对TTS\u002FLLM的快速响应算法，旨在平衡服务成本的同时提供最快的响应速度\n- ✔️ 支持对话打断\n- ✔️ 能够识别用户指令（家电控制、唱歌等），并根据上下文动态响应\n- ✔️ 可配置性\n- ✔️ 基于插件架构，可通过插件集成任何LLM\u002FTTS\u002FIAT服务\n- ✔️ 服务与客户端之间为一对多关系，每个客户端（硬件）可独立配置\n- ✔️ 连接支持认证\n- ✔️ 全链路流式数据交互\n- ✔️ 开发者平台提供免费服务、可视化配置等功能\n- ✔️ 提供客户端配置网页\n- ✔️ 轻松应对高并发场景（需使用Nginx进行负载均衡）\n- ✔️ 即装即用\n- ✔️ 支持 `esp32s3`\u002F`esp32c3`\n- ✔️ 支持 `OPEN API` \n\n# 🧐 Next Steps\n\n- [ ] 🤔 提升内置离线唤醒的准确性（目前推荐使用天问ASRPro） \n- [ ] 🤔 在线唤醒词生成  \n\n# 📦 Install\n\n\n### Server\n```bash\ndocker run -itd -p 8088:8088 -v \u002Fesp-ai-server\u002Findex.js:\u002Fserver\u002Findex.js --name esp-ai-server registry.cn-shanghai.aliyuncs.com\u002Fxiaomingio\u002Fesp-ai:1.0.0\n```\n### Client\n在发布页面下载依赖库并烧录到开发板上，详情请见：[客户端安装](https:\u002F\u002Fespai.fun\u002Fstart.html#%E5%AE%A2%E6%88%B7%E7%AB%AF)\n\n# 🔨 仅需几行代码，即可为您的机器人注入灵魂\n\n以下是在仅需对话功能的情况下，您需要编写的`Node.js`和`Arduino`代码。\n\n\u003C!-- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_38862d722445.png\" \u002F> -->\n\u003C!-- \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_b4f1dfe94ba6.png\" \u002F> -->\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_d3ccb74e7cf4.png\" \u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_d3e5efa8eac5.png\" \u002F>\n\n\n# 🏪 Discussion Group\n\n\u003Cp>QQ 交流群1: 854445223\u003C\u002Fp>\n\u003Cp>QQ 交流群2: 952051286\u003C\u002Fp>\n \n# 🎥 Case Study Video \n\n【生活不易，Doro卖艺！】 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1uvbKzREYP\u002F?share_source=copy_web&vd_source=041c9610a29750f498de1bafe953086b\n\n【一键制作你的AI动图桌宠（在线免费制作）】 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1xut4zuEf8\u002F?share_source=copy_web&vd_source=041c9610a29750f498de1bafe953086b\n\n【ESP-AI 玩偶方案板】 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1YTbDzQEk8\u002F?share_source=copy_web&vd_source=041c9610a29750f498de1bafe953086b\n\n【强噪音下对话和tft屏(ESP-AI新版预)】 https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1KD7KzsEoc\u002F?share_source=copy_web&vd_source=041c9610a29750f498de1bafe953086b\n\n## 🤝 贡献 [![欢迎提交PR](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg?style=flat-square)](http:\u002F\u002Fmakeapullrequest.com)\n\n让我们一起构建更优秀的 `esp-ai`。\n\n我们热烈欢迎所有人的贡献。请随时通过 [Pull Requests](https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fpulls) 或 [GitHub Issues](https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002F\u002Fissues) 分享您的想法。\n\n\u003Ctable>\n\u003Ctr>\n  \u003Ctd> \n\u003Ca href=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-recent-top-contributors?repo_id=820274347\" target=\"_blank\" style=\"display: block\" align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-recent-top-contributors\u002Fthumbnail.png?repo_id=820274347&image_size=auto&color_scheme=dark\" width=\"280\" height=\"auto\">\n    \u003Cimg alt=\"wangzongming\u002Fesp-ai 的顶级贡献者 - 过去28天\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_fdd4cc51879f.png\" width=\"280\" height=\"auto\">\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n \n  \u003C\u002Ftd>\n  \u003Ctd rowspan=\"2\"> \n    \u003Ca href=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-last-28-days-stats?repo_id=820274347\" target=\"_blank\" style=\"display: block\" align=\"center\">\n    \u003Cpicture>\n        \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-last-28-days-stats\u002Fthumbnail.png?repo_id=820274347&image_size=auto&color_scheme=dark\" width=\"655\" height=\"auto\">\n        \u003Cimg alt=\"wangzongming\u002Fesp-ai 的性能统计 - 过去28天\" src=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-last-28-days-stats\u002Fthumbnail.png?repo_id=820274347&image_size=auto&color_scheme=light\" width=\"655\" height=\"auto\">\n    \u003C\u002Fpicture>\n    \u003C\u002Fa> \n  \u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n  \u003Ctd> \n\u003Ca href=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-recent-active-contributors?repo_id=820274347&limit=30\" target=\"_blank\" style=\"display: block\" align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fcompose-recent-active-contributors\u002Fthumbnail.png?repo_id=820274347&limit=30&image_size=auto&color_scheme=dark\" width=\"273\" height=\"auto\">\n    \u003Cimg alt=\"wangzongming\u002Fesp-ai 的活跃贡献者 - 过去28天\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_54953d2a602f.png\" width=\"273\" height=\"auto\">\n  \u003C\u002Fpicture>\n\u003C\u002Fa> \n  \u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n# 🌍 星标地理分布\n\u003Ca href=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fanalyze-repo-stars-map?repo_id=820274347&activity=stars\" target=\"_blank\" style=\"display: block\" align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fnext.ossinsight.io\u002Fwidgets\u002Fofficial\u002Fanalyze-repo-stars-map\u002Fthumbnail.png?repo_id=820274347&activity=stars&image_size=auto&color_scheme=dark\" width=\"721\" height=\"auto\">\n    \u003Cimg alt=\"wangzongming\u002Fesp-ai 的星标地理分布\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_readme_e0d35f8ec203.png\" width=\"100%\" height=\"auto\">\n  \u003C\u002Fpicture>\n\u003C\u002Fa> \n\n\n# 引用\n如果本项目对您的研究有所帮助，请引用我们：\n\n    @software{ESP-AI,\n        title        = {{ESP-AI}},\n        author       = {小明IO},\n        year         = 2024,\n        journal      = {GitHub仓库},\n        publisher    = {GitHub},\n        howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai}}\n    }","# ESP-AI 快速上手指南\n\nESP-AI 是为 ESP32 系列开发板提供完整 AI 对话解决方案的开源项目，支持 `IAT(语音识别) + LLM(大语言模型) + TTS(语音合成)` 的全链路集成。只需几行代码，即可让硬件具备智能对话能力。\n\n## 1. 环境准备\n\n### 系统要求\n- **服务器端**：支持 Docker 的 Linux\u002FmacOS\u002FWindows 系统\n- **客户端（硬件）**：\n  - 开发板：ESP32-S3 或 ESP32-C3\n  - 开发环境：Arduino IDE 或 ESP-IDF\n  - 外设：麦克风模块、扬声器模块（可选配 TFT 屏幕）\n\n### 前置依赖\n- **服务器端**：已安装 Docker 和 Docker Compose\n- **客户端**：\n  - 安装 Arduino IDE 并配置 ESP32 开发板支持\n  - 或安装 ESP-IDF 开发框架\n- **账号准备**：建议访问 [ESP-AI 开放平台](https:\u002F\u002Fdev.espai.fun\u002F) 获取免费的 ASR、TTS 和 LLM 服务密钥（支持自定义音色克隆）\n\n## 2. 安装步骤\n\n### 步骤一：部署服务器端\n使用 Docker 一键启动 ESP-AI 服务端（已包含国内镜像加速）：\n\n```bash\ndocker run -itd -p 8088:8088 -v \u002Fesp-ai-server\u002Findex.js:\u002Fserver\u002Findex.js --name esp-ai-server registry.cn-shanghai.aliyuncs.com\u002Fxiaomingio\u002Fesp-ai:1.0.0\n```\n\n> 说明：该命令将容器端口 8088 映射到主机，并挂载配置文件。确保主机防火墙已放行 8088 端口。\n\n### 步骤二：烧录客户端固件\n1. 访问 [ESP-AI 发布页](https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Freleases) 下载最新版本的客户端固件包。\n2. 根据硬件型号选择对应的固件文件（如带屏幕版或基础版）。\n3. 使用烧录工具（如 ESP32 Download Tool 或 Arduino IDE）将固件烧录至开发板。\n4. 详细烧录教程请参考：[客户端安装文档](https:\u002F\u002Fespai.fun\u002Fstart.html#%E5%AE%A2%E6%88%B7%E7%AB%AF)\n\n## 3. 基本使用\n\n### 配置连接\n烧录完成后，开发板会自动尝试连接服务器。你需要通过网页配置客户端参数：\n1. 浏览器访问服务器地址：`http:\u002F\u002F\u003C你的服务器IP>:8088`\n2. 在管理页面中添加新设备，获取 **Device ID** 和 **Token**。\n3. 将获取的配置信息填入开发板（可通过串口输入或在代码中预设）。\n\n### 代码注入示例\n如果你需要自定义开发而非直接使用固件，仅需在项目中引入 ESP-AI 依赖并编写少量代码。\n\n**Node.js 服务端插件示例**（用于自定义逻辑）：\n```javascript\n\u002F\u002F 伪代码示例，具体请参考官方文档\nconst espAi = require('esp-ai');\nespAi.init({\n  deviceId: 'your_device_id',\n  token: 'your_token',\n  serverUrl: 'ws:\u002F\u002Flocalhost:8088'\n});\n```\n\n**Arduino 客户端核心逻辑**：\n在 Arduino 工程中引入库文件后，初始化对话流程：\n```cpp\n#include \u003CEspAI.h>\n\nvoid setup() {\n  Serial.begin(115200);\n  \u002F\u002F 初始化 WiFi 和音频接口\n  EspAI.begin(\"WiFi_SSID\", \"WiFi_PASSWORD\");\n  \u002F\u002F 设置唤醒方式（语音\u002F按键\u002F串口）\n  EspAI.setWakeMode(WAKE_MODE_VOICE); \n}\n\nvoid loop() {\n  EspAI.run(); \u002F\u002F 主循环处理对话流\n}\n```\n\n### 开始对话\n- **唤醒**：说出自定义唤醒词（或使用按键\u002F串口触发）。\n- **交互**：对着麦克风说话，系统将自动完成“语音转文字 -> AI 思考 -> 文字转语音”的全过程。\n- **控制**：可直接发送指令控制家电或播放音乐（需在服务端配置意图识别）。\n\n> 提示：更多高级功能（如断点续聊、多角色配置、RAG 知识库）请访问 [中文文档](https:\u002F\u002Fespai.fun\u002F) 或加入 QQ 交流群（854445223 \u002F 952051286）获取支持。","一位创客开发者希望利用廉价的 ESP32-S3 开发板，为自家店铺制作一个能听懂方言、实时回答顾客咨询并控制灯光的智能前台机器人。\n\n### 没有 esp-ai 时\n- **开发门槛极高**：开发者需分别寻找并对接语音识别（ASR）、大语言模型（LLM）和语音合成（TTS）三家不同服务商，编写复杂的中间件来串联数据流。\n- **响应延迟严重**：由于缺乏流式传输优化，用户说完话后需等待数秒才能听到回复，对话体验割裂且不自然。\n- **功能扩展困难**：想要实现“打断说话”或“识别特定指令（如开灯）”功能，需要从头重写底层状态机逻辑，耗时耗力。\n- **硬件成本高昂**：为了运行本地算法或缓冲数据，被迫选用高性能但昂贵的芯片，超出了项目预算。\n\n### 使用 esp-ai 后\n- **一键集成全链路**：esp-ai 直接提供了完整的 `IAT+LLM+TTS` 对话方案，开发者只需配置密钥，无需关心底层协议对接，一天即可完成原型。\n- **极速流式交互**：内置的流式数据处理算法让机器人边听边想边说，首字延迟大幅降低，对话流畅度接近真人。\n- **智能场景原生支持**：开箱即支持说话打断、上下文意图识别（自动区分闲聊与控制指令），无需额外编码即可实现复杂交互。\n- **极致成本控制**：凭借轻量级架构，esp-ai 让低成本的 ESP32-S3 也能流畅运行复杂 AI 对话，将单台硬件成本压缩至几十元。\n\nesp-ai 通过屏蔽底层复杂性，让开发者能以最低的成本和最快的速度，将普通硬件升级为具备自然语言交互能力的智能终端。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwangzongming_esp-ai_4f00a2c7.png","wangzongming","小明IO","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fwangzongming_0d4e6716.jpg","Technology creates the future!\r\n\r\n","m","DaLian","1746809408@qq.com",null,"https:\u002F\u002Fxiaomingio.top","https:\u002F\u002Fgithub.com\u002Fwangzongming",[83,87,91,95,99,103,107,110,114,117],{"name":84,"color":85,"percentage":86},"C","#555555",55.9,{"name":88,"color":89,"percentage":90},"HTML","#e34c26",32.4,{"name":92,"color":93,"percentage":94},"C++","#f34b7d",8.6,{"name":96,"color":97,"percentage":98},"Assembly","#6E4C13",0.8,{"name":100,"color":101,"percentage":102},"Python","#3572A5",0.6,{"name":104,"color":105,"percentage":106},"Go","#00ADD8",0.3,{"name":108,"color":109,"percentage":106},"JavaScript","#f1e05a",{"name":111,"color":112,"percentage":113},"Roff","#ecdebe",0.2,{"name":115,"color":116,"percentage":113},"CMake","#DA3434",{"name":118,"color":119,"percentage":113},"Ada","#02f88c",816,110,"2026-04-12T01:31:19","MIT","未说明",{"notes":126,"python":124,"dependencies":127},"该项目为软硬结合方案。服务端基于 Node.js，推荐使用 Docker 部署；客户端（硬件端）需烧录固件至 ESP32-S3 或 ESP32-C3 开发板。项目核心功能（ASR、LLM、TTS）可连接官方开放平台免费使用，也支持通过插件接入自定义服务。高并发场景下建议配置 Nginx 进行负载均衡。",[128,129,130],"Node.js (服务端)","Arduino\u002FIDF (硬件端)","Nginx (高并发负载均衡，可选)",[35,14,132],"音频",[134,135,136,137,138,64,139,140,141,142,143,144,145,146,147],"esp32","iat","llm","tts","arduino-llm","esp32-ai","esp32-llm","arduino","esp32-idf","esp8266","rag","aiot","esp","espai","2026-03-27T02:49:30.150509","2026-04-12T21:59:44.759862",[151,156,161,166,171,176,181,186],{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},31027,"遇到 LLM 数据返回错误（错误码 11200，AppIdNoAuthError）如何解决？","该错误表示讯飞星火大模型服务没有授权或额度不足。解决方法：\n1. 确认接口地址为 wss:\u002F\u002Fspark-api.xf-yun.com\u002Fv3.5\u002Fchat。\n2. 登录讯飞开放平台，在购买额度页面进行实名认证。\n3. 领取 SparkMax (v3.5) 的免费额度即可解决。\n参考错误码文档：https:\u002F\u002Fwww.xfyun.cn\u002Fdocument\u002Ferror-code?code=11200","https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fissues\u002F4",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},31028,"编译报错提示 'I2SConfigESP32V1' 缺少 'channel_format' 和 'auto_clear' 成员怎么办？","此问题通常由开发环境配置不匹配导致，请检查以下两点：\n1. 确认 ESP32 开发板核心版本是否为 2.x 版本。\n2. 确认使用的开发板型号是否为 ESP32-S3。\n如果不是上述配置，请更换对应的开发板或更新核心库。","https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fissues\u002F7",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},31029,"设备联网成功后停留在初始化界面没有反应，如何处理？","这通常是因为服务端未正常启动或配置错误。请检查：\n1. 确认后端服务程序是否已成功运行。\n2. 检查代码或服务端配置中的 IP 地址是否正确，确保设备能访问到服务端。","https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fissues\u002F8",{"id":167,"question_zh":168,"answer_zh":169,"source_url":170},31030,"使用天问 ASRPRO 模块只能被唤醒词唤醒，无法进行连续对话的原因是什么？","主要原因通常是硬件连接或软件配置问题：\n1. 检查麦克风接线是否正确，是否存在接错引脚的情况。\n2. 检查 ASR 服务的配置文件参数是否设置正确。","https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fissues\u002F21",{"id":172,"question_zh":173,"answer_zh":174,"source_url":175},31031,"自定义开发板因电量检测导致无法配网（热点未打开）怎么办？","如果日志显示电量为 0 导致无法开启热点，有两种解决方案：\n1. 自行基于开源硬件代码修改，移除或禁用电量检测逻辑。\n2. 等待并使用维护者发布的“不带电量检测”版本的固件。","https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fissues\u002F22",{"id":177,"question_zh":178,"answer_zh":179,"source_url":180},31032,"如何将微调后的私有 LLM 模型（如 QWEN-7B）部署到 ESP-AI？","不需要直接烧录模型到 ESP32。可以通过以下方式接入：\n1. 将微调后的模型部署在服务器上，通过 Ollama 或 OpenAI 兼容的 API 接口暴露。\n2. 在 ESP-AI 项目中启用现成的 Ollama 或 OpenAI 插件。\n3. 或者根据协议自行编写一个 LLM 插件来对接你的模型接口。","https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fissues\u002F20",{"id":182,"question_zh":183,"answer_zh":184,"source_url":185},31033,"在线更换唤醒词功能的实现原理是什么？需要重新烧录吗？","是的，该功能是通过重写 ASR 芯片（如 ASRPRO）的固件来实现的。当在线更新唤醒词时，系统会将新的固件烧录到 ASR 芯片中，从而改变唤醒逻辑。","https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fissues\u002F33",{"id":187,"question_zh":188,"answer_zh":189,"source_url":190},31034,"设备唤醒一次后无法再次唤醒（多次离线唤醒失败）如何解决？","这是由于 IAT WebSocket 超时后会话结束但未下发 session_end 信号，导致客户端状态未重置。该问题已在 V1.13.3 版本中修复，升级固件即可解决。修复逻辑为：增加超时后主动下发 session_end 和 iat_end 信号。","https:\u002F\u002Fgithub.com\u002Fwangzongming\u002Fesp-ai\u002Fissues\u002F5",[192,197,202,207,212,217,222,227,232,237,242,247,252,257,262,267,272,277,282,287],{"id":193,"version":194,"summary_zh":195,"released_at":196},222935,"v2.59.37","## 2025年2月24日 服务器@2.58.35 - 客户端@2.59.37 \n\n### 服务器 \n   \n\n### 客户端 \n\n- 🤔 调整 无论何种情况下的语音，只要播放完毕都会执行 `onSessionStatus` 回调\n- 🐞 修复 当网络出现问题时，语音识别不会主动结束\n\n**安装**\n \n[esp-ai-2.59.37.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18945076\u002Fesp-ai-2.59.37.zip)\n\n","2025-02-24T15:09:27",{"id":198,"version":199,"summary_zh":200,"released_at":201},222936,"v2.58.35","## 2025\u002F2\u002F20 服务器@2.58.35 - 客户端@2.58.36 \n\n### 服务器  \n\n- 🆕 新增 插件形参中增加 `session_id` 会话ID  \n- 🤔⚠️ 调整 指令依然可以设置 `message` ，会优先使用`message` 进行回复\n- 🐞 修复 长时间不说话设备自动休息时没有说休息提示\n\n\n### 客户端 \n\n- 🆕 新增 指示灯引脚改为配置方式 \n- 🆕 新增 插件形参中增加 `session_id` 会话ID  \n\n**安装**\n[esp-ai-2.58.36.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18879698\u002Fesp-ai-2.58.36.zip)\n","2025-02-20T02:01:36",{"id":203,"version":204,"summary_zh":205,"released_at":206},222927,"v2.95.56","### 服务器端 - Node.js\n\n- ✨ 新增 `ASR` 插件中的 `getClientAudioConfig` 方法，用于获取客户端传入的音频配置，详情请参阅文档。\n- ✨ 新增 支持通过传入文本进行对话的功能，详情请参阅：[传入文本对话](\u002Fdev\u002Fchar_text\u002F)\n- ✨ 新增 `music_gen_ing` 指令回调，用于标识音乐创作的开始。\n- ✨ 新增 在服务请求中可添加 `AUDIO_BUFFER_SIZE` 和 `LITTLE_ROM` 参数，用于告知服务端设备的能力。\n- ✨ 新增 在服务请求中可添加 `spk_sample_rate`、`spk_channels`、`spk_format` 和 `spk_bitrate` 参数，用于控制服务器返回的音频采样率、声道数量、音频格式和音频比特率。\n- 💄 优化 LLM 提示词。\n- 💄 优化 流量控制逻辑，并支持客户端传入缓冲区大小。\n- 💄 优化 VAD 机制。\n- 💄 优化 鉴权失败机制。\n- 💄 优化 文本间隔的流畅性。\n- 💄 优化 TTS 插件，使其能够返回任意格式或采样率的音频流，框架内部新增 `codec` 处理。\n- 🐞 修复 文字和表情下发不同步的问题。\n- 🐞 修复 部分其他问题。\n\n**安装**\n\n```bash\nnpm i esp-ai@2.86.53\n```\n\n**Docker 安装**\n```bash\ndocker exec -it esp-ai-server npm i esp-ai@2.86.53\n```\n\n### 客户端 - Arduino\n\n- ✨ 新增 对 `esp32c3` 开发板的兼容性。\n- ✨ 新增 灯珠数量设置功能。\n- ✨ 新增 会话监听功能，`onSessionStatus` 形参新增 `session_end` 状态。\n- ✨ 新增 `onVolumeCb` 回调函数，用于监听音量变化。\n- 💄 优化 将所有内部音频文件统一改为 `16kHz` 格式。\n- 💄 优化 配网方式默认使用蓝牙配网。\n- 💄 优化 动态内存占用情况，进行深度优化。\n- 💄 优化 将小程序配网时的提示语修改为“打开微信小程序配网”。\n- 💄 优化 在音量变化时发出提示音。\n- 🤔 调整 蓝牙配网仅使用 `ble` 方式进行。\n- 🤔 调整 在打断会话时不回复问候语，以提高响应速度。\n- 🤔⚠️ 调整 将全局变量 `esp_ai_pixels` 改为指针类型，使用时请使用 `esp_ai_pixels->xxx`。\n- 🤔⚠️ 调整 将 `ESP_AI_wifi_config.html_str` 改为 `const char*` 类型，以避免大量内存占用。\n```c++\n\u002F\u002F 旧版\nchar html_str[] = \"\u003Chtml>\u003Cbody>配网页面\u003C\u002Fbody>\u003C\u002Fhtml>\";\n\n\u002F\u002F 新版\nconst char html_str[] PROGMEM = R\"rawliteral( \nxxx\n)rawliteral\";\n```\n\n- 🤔⚠️ 调整 所有回调函数的形参改为 `const String&` 类型，在提高数据安全性的同时避免大量内存占用。\n```c++\n\u002F\u002F 旧版\nvoid on_command( String command_id,  String data)\n{ \n    \u002F\u002F ... \n}\n\n\u002F\u002F 新版\nvoid on_command(const String &command_id, const String &data)\n{ \n    \u002F\u002F ... \n}\n```\n\n- 🐞 修复 听力指示灯有时亮起过快的问题。\n- 🐞 修复 网络连接成功回调执行延迟较大的问题。\n\n**安装**\n[esp-ai-2.95.56.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F21836816\u002Fesp-ai-2.95.56.zip)\n\n","2025-08-18T13:59:12",{"id":208,"version":209,"summary_zh":210,"released_at":211},222928,"v2.75.51","# 服务器@2.75.51 - 客户端@2.86.49\n# [服务器 - Node.js](https:\u002F\u002Fespai.fun\u002Fchange-logs\u002F#server-nodejs)\n💄 优化 VAD 结束时间\n🐞 修复 在某些情况下，.stop() 方法会导致设备一直保持唤醒状态，并新增 stop_all 参数用于中断所有播放。\n## 安装\n```bash\nnpm i esp-ai@2.75.51\n```\n## Docker 安装\n\n```bash\ndocker exec -it esp-ai-server npm i esp-ai@2.75.51\n```\n\n# [客户端 - Arduino](https:\u002F\u002Fespai.fun\u002Fchange-logs\u002F#client-arduino)\n💄 优化 为部分服务指令增加响应帧。\n💄 优化 蓝牙配网数据采用分段传输。\n## 安装\n\n \n[esp-ai-2.86.49.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F20735327\u002Fesp-ai-2.86.49.zip)\n","2025-06-14T03:31:44",{"id":213,"version":214,"summary_zh":215,"released_at":216},222929,"v2.74.50","\r\n## 2025年6月4日 服务器@2.74.50 - 客户端@2.84.49\r\n\r\n### 服务器 - Node.js   \r\n\r\n- 💄 优化 `LLM` 提示词，避免有些时候让他讲故事等场景它不会真的去讲。\r\n\r\n**安装**\r\n\r\n```\r\nnpm i esp-ai@2.74.50\r\n```\r\n**Docker 安装**\r\n```\r\ndocker exec -it esp-ai-server  npm i esp-ai@2.74.50\r\n```\r\n### 客户端 - Arduino              \r\n\r\n- 🐞 修复 蓝牙配网硬件传入的数据不能被正常解析。\r\n- 🐞 修复 多个网络记忆逻辑存在些许问题。\r\n- 🐞 修复 修复非常见位数的麦克风无法收音。\r\n- 🐞 修复 `.setLocalData` 方法设置的数据，如果存在相同子串会导致冲突。\r\n- 🐞 修复 `.clearData` 不会清除自定义数据的问题。\r\n- 🐞 修复 连接自定义服务器失败的问题。\r\n\r\n**安装**\r\n[esp-ai.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F20593318\u002Fesp-ai.zip)\r\n\r\n","2025-06-04T14:27:54",{"id":218,"version":219,"summary_zh":220,"released_at":221},222930,"v2.74.49","## 2025\u002F6\u002F1 服务器@2.74.49 - 客户端@2.84.43\n\n### 服务器 - Node.js   \n\n- ✨ 新增 `await awaitPlayerDone(...)` 方法用于等待音频播放完毕。  \n- ✨ 新增 `isSpeaking(...)` 方法用于获取某个设备是否正在播放音频。  \n- ✨ 新增 `api_key`、`gen_client_config(...).api_key` 配置，用于配置全局\u002F用户的`ESP-AI`的秘钥，在一些需要进行AI服务时使用。 \n- ✨ 新增 `vad_first`(首次等待用户说话时间)、`vad_course`(对话过程中等待用户说话时间) 用于全局配置静默时间。\n- ✨ 新增 `LLM` 插件的形参中增加 `text_is_over` 用于标识大语言模式是否已经推理完毕。 \n- ✨ 新增 `LEDC` 控制指令配置，用于配置舵机等传感器的控制。\n- ✨ ⚠️ 新增 `music_server` 形参中增加 `signal` 信号，用于判断用户是否已经打断了对话，详情见文档。\n- ✨ ⚠️ 新增 `IAT` 插件的形参中增加 `onIATText` 用于告诉框架当前 `ASR` 识别的内容。（破坏性更新，需要所有IAT插件跟随更改，必须增加调用这个钩子。）\n- 🤔 ⚠️ 调整 删除 `.isPlaying()` 使用 `.isSpeaking()` 替换。\n- 💄 优化 通信协议增加 `流量控制` 机制，防止硬件能力不足。\n- 💄 优化 用户指令执行于回复更自然流畅。\n- 💄 优化 用户指令在不设置 `message` 将由 `LLM` 进行推理回答。 \n- 💄 优化 重构音频数据帧组成。  \n- 🐞 修复 命令执行后就退下了，正常应该继续聆听用户说话。 \n- 🐞 修复 歌曲创作的问题。 \n- 🐞 修复 有时候错误提示 `设备未连接, 将忽略本次唤醒` 。  \n- 🐞 修复 部分其他问题。  \n- 🐞 修复 `LLM` 句子最后面如果是一个括号，可能会被错误的单独拆分。\n- 🐞 修复 修复 `~`、`...` 和一些特殊的结束符号结束的句子没有被正确结束。\n- 🐞 修复 休息提示语有时候不对。\n\n### 客户端 - Arduino              \n\n- ✨ 新增 `.playBuiltinAudio(...)` 方法用于播放 `MP3` 音频文件。\n- ✨ 新增 `.awaitPlayerDone()` 方法用于等待音频播放完毕。  \n- ✨ 新增 `.isSpeaking()` 方法用于获取是否正在播放音频。  \n- ✨ 新增 `ESP_AI_i2s_config_mic.bits_per_sample`、`.channel_format` 用于匹配各种不同型号的`I2S`麦克风和开发板。\n- ✨ 新增 情绪监听中增加 `肯定`、`否定` 情绪。 \n- ✨ 新增 `.delAllTask()` 删除所有任务、`.suspendAllTask()` 挂起所有任务、`.resumeAllTask()` 恢复所有任务。\n- ✨ 新增 支持记忆5个`WIFI`。\n- ✨ 新增 `LEDC` 控制方法，用于配置舵机等传感器的控制。\n- ✨ 新增 蓝牙配网实现，在 `wifi_config` 中配置 `way` 即可，详情见客户端配置文档。  \n- 🤔 调整 唤醒状态下不可重复唤醒，避免一些的奇怪的问题。  \n- 🤔 调整 `arduino-audio-tools` 依赖降级到版本 `v1.0.2`。    \n- 🤔 ⚠️ 调整 硬件端删除所有 `VAD` 判断，迁移到服务端处理。删除 `wakeup_conifg.vad_first`、`wakeup_conifg.vad_course` 配置。\n- 🤔 ⚠️ 调整 删除 `edge_impulse` 唤醒方案（原因：精度难以达到理想效果） \n- 🤔 ⚠️ 调整 上报的音频流采用 `PCM` 格式，避免编码导致的延时（VAD放置到服务端需要实时性优先）。\n- 💄 优化 聆听状态不应该被打断，否则会出现一些不可控的问题。  \n- 💄 优化 打断会话流畅度优化。  \n- 💄 优化 对话流畅度优化。\n- 💄 优化 音频编解码代码大量优化。\n- 💄 优化 内置的所有`mp3`提示语进行压缩。\n- 🐞 修复 设备未初始化完毕和热点启动状态下指示灯没有颜色，以及部分情况下AI说话中的指示灯会提前结束的问题。\n\n## 注意\n请自行下 \\client\\libraries\\libraries.zip 放置到依赖目录\n\n**Install**\n[esp-ai-2.84.43.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F20538741\u002Fesp-ai-2.84.43.zip)\n\n","2025-06-01T07:39:19",{"id":223,"version":224,"summary_zh":225,"released_at":226},222931,"v2.61.42","## 2025年3月30日 服务器@2.61.42 - 客户端@2.65.42\n\n### 服务器   \n\n- 🆕 新增 `.onEmotion()` 方法，用于在硬件上监听`AI`的情绪\n- 🤔 调整 使用开放平台服务的地方改用备用域名\n- 🤔 调整 文件注释信息改为 `MIT`\n\n### 客户端 \n\n- 🆕 新增 `.onEmotion()` 方法，用于在硬件上监听`AI`的情绪\n- 🤔 调整 使用开放平台服务的地方改用备用域名\n- 🤔 调整 文件注释信息改为 `MIT`\n \n[esp-ai-2.65.42.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F19525961\u002Fesp-ai-2.65.42.zip)\n","2025-03-30T14:06:52",{"id":228,"version":229,"summary_zh":230,"released_at":231},222932,"v2.58.42","## 2025年3月14日 服务器@2.58.42 - 客户端@2.62.41 \n\n### 服务器   \n\n- 🐞 修复 官方 ASR 无法使用的问题 \n\n### 客户端 \n\n未做升级\n\n","2025-03-14T09:35:23",{"id":233,"version":234,"summary_zh":235,"released_at":236},222933,"v2.58.41","## 2025年3月12日 服务器@2.58.41 - 客户端@2.62.41 \n\n### 服务器   \n\n- 🆕 新增 `.reCache` 方法，用于在服务端清除客户端音频缓存，功能同客户端的 `.reCache`。           \n- 🤔 调整 `.updateClientConfig` 方法，使其不再清除客户端音频缓存，需手动调用 `.reCache` 方法。\n- 💄 优化 语句拆分优化  \n\n### 客户端 \n             \n\n未做升级\n","2025-03-12T02:40:45",{"id":238,"version":239,"summary_zh":240,"released_at":241},222934,"v2.58.38","## 2025年3月10日 服务器@2.58.38 - 客户端@2.62.40 \n\n### 服务器  \n\n- 🐞 修复 小数点语句拆分错误 \n\n### 客户端 \n\n- 🆕 新增 `onBeginCb`，用于打断程序执行。例如，当电量不足时，应提示用户充电，而不是继续尝试连接 `wifi`。                             \n- 🤔 调整 用户未说话时的默认等待时间，由 `5秒` 改为 `10秒`  \n- 💄 优化 `arduino-audio-tools` 依赖，升级至最新版本    \n- 🐞 修复 有时会话打断会导致重启的问题 \n- 🐞 修复 有时会一直处于AI说话状态的问题    \n\n**安装**\n[esp-ai-2.62.40.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F19158004\u002Fesp-ai-2.62.40.zip)\n\n[arduino-audio-tools.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F19158758\u002Farduino-audio-tools.zip)\n\n","2025-03-10T07:53:01",{"id":243,"version":244,"summary_zh":245,"released_at":246},222937,"v2.55.34","## 2025\u002F2\u002F19 Server@2.55.34 - Client@2.56.36\r\n\r\n### Server \r\n  \r\n- 🆕 新增 `gen_client_config.iatDu` 配置，可以独立控制每一个设备是否需要开启 `嘟` 提示音。 \r\n- 🆕 新增 内置官方 知识库（`RAG`） 插件。 \r\n- 🆕 新增 内置 `火山ASR` 插件。 \r\n- 🤔 调整 更改所有官方服务地址。\r\n- 🤔⚠️ 调整 用户指令将异步执行，不会阻塞 `llm` 推理。 \r\n- 🤔⚠️ 调整 `llm` 插件增加预请求技术，使用 `is_pre_connect` 参数标识预请求，详情请参见插件文档。 \r\n \r\n**Install**\r\n\r\n```bash\r\nnpm i esp-ai@2.55.34\r\n```\r\n**docker Install**\r\n```bash\r\ndocker exec -it esp-ai-server  npm i esp-ai@2.55.34\r\n```\r\n\r\n### Client \r\n \r\n- 🆕 新增 `.reCache` 方法用于清除缓存音频 \r\n- 🆕 新增 `.onPosition` 回调中增加经纬度数据 \r\n- 🤔 调整 调整默认静默时间为 `500ms` 以提高响应速度。    \r\n- 💄 优化 配网页面优化             \r\n- 💄 优化 连接`WiFi`后自动弹出配网页面              \r\n- 💄 优化 会话打断不流畅            \r\n- 💄 优化 响应速度优化              \r\n- 💄 优化 一些不合理的提示  \r\n- 💄 优化 首次对话 ASR 有时候不太准 \r\n- 🐞 修复 某些非正常情况下结束的会话会导致灯的颜色不会自动熄灭\r\n- 🐞 修复 `TTS` 音频播放可能会存在些许卡顿问题 \r\n- 🐞 修复 定位总是报错  \r\n- 🐞 修复 有时候话没说话就结束语音识别了  \r\n\r\n\r\n**Install**\r\n \r\n[esp-ai-2.56.36.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18858000\u002Fesp-ai-2.56.36.zip)\r\n\r\n","2025-02-19T03:17:06",{"id":248,"version":249,"summary_zh":250,"released_at":251},222938,"v2.49.34","## 2025\u002F2\u002F12 Server@2.49.34 - Client@2.47.32\r\n\r\n\r\n### Server \r\n  \r\n- 🆕 新增 对 `onIATcb\u002FonLLM\u002FonTTS` 的 `sendToClient` 都可以传入参数来修改默认的文本\r\n \r\n**Install**\r\n\r\n```bash\r\nnpm i esp-ai@2.49.34\r\n```\r\n**docker Install**\r\n```bash\r\ndocker exec -it esp-ai-server  npm i esp-ai@2.49.34\r\n```\r\n\r\n### Client \r\n    \r\n- 🆕 新增 对 `XIAO esp32s3` 开发板进行支持，也就是说 `ESP-AI` 可以直接烧录到`XIAO`里面啦~  \r\n\r\n[esp-ai-2.47.32.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18761889\u002Fesp-ai-2.47.32.zip)\r\n\r\n","2025-02-12T03:46:03",{"id":253,"version":254,"summary_zh":255,"released_at":256},222939,"v2.48.34","\r\n## 2025\u002F2\u002F5 Server@2.48.34 - Client@2.46.32\r\n\r\n\r\n### Server \r\n \r\n- 🆕 新增 音乐指令配置`key`为函数时形参中增加`instance`、`device_id`。\r\n- 🆕 新增 音乐指令配置`music_server`形参中增加`instance`、`device_id`。\r\n- 🐞 修复 调用 `.tts` 方法后，会提示休息提示语。\r\n- 🐞 修复 调用 `__play_music__` 指令不配置 `on_end` 会报错的问题。\r\n \r\n**Install**\r\n\r\n```bash\r\nnpm i esp-ai@2.48.34 \r\n```\r\n**docker Install**\r\n```bash\r\ndocker exec -it esp-ai-server  npm i esp-ai@2.48.34 \r\n```\r\n\r\n### Client \r\n   \r\n \r\n未做更改，继续使用上一版本 \r\n","2025-02-05T12:20:10",{"id":258,"version":259,"summary_zh":260,"released_at":261},222940,"v2.46.32","\r\n## 2025\u002F2\u002F4 Server@2.46.32 - Client@2.46.32\r\n\r\n### Server \r\n\r\n- 🆕 新增 `onDeviceDisConnect` 配置用于监听设备断开服务。\r\n- 🆕 新增 `onSleep` 配置用于监听设备休眠。\r\n- 🆕 新增 AI 推理意图(如果是本地开发需要给指令配置 `api_key` 才会生效)。 \r\n- 💄 优化 `onLLMcb` 中增加 `user_text`、`llm_text` 可以方便拿到用户问题和完整的 `llm` 推理结果\r\n- 🐞 修复 引脚高\u002F低电平指令不回复提示语\r\n\r\n                   \r\n**Install**\r\n\r\n```bash\r\nnpm i esp-ai@2.46.32\r\n```\r\n**docker Install**\r\n```bash\r\ndocker exec -it esp-ai-server  npm i esp-ai@2.46.32\r\n```\r\n\r\n### Client \r\n  \r\n- 💄 优化 服务重启不会重新播放服务连接提示音。 \r\n \r\n\r\n**Install**\r\n \r\n[esp-ai-2.46.32.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18651318\u002Fesp-ai-2.46.32.zip)\r\n\r\n","2025-02-04T03:29:20",{"id":263,"version":264,"summary_zh":265,"released_at":266},222941,"v2.45.32","### Server \r\n\r\n未做更改，继续使用上一版本 \r\n\r\n\r\n### Client \r\n  \r\n\r\n\r\n- 🆕   新增 `.getLocalAllData()` 用于获取存储在芯片中的全部数据。\r\n- ⚠️🤔 调整 配网页面 `set_config` 接口改为 `POST`，解决硬件存储只能存ext1-ext7的问题。   \r\n- ⚠️🤔 调整 实例方法 `onBindDevice、setWifiConfig` 参数为一个`JSONVar`，不再限制存储数据量。\r\n\r\n**Install**\r\n\r\n[esp-ai-2.45.32.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18632123\u002Fesp-ai-2.45.32.zip)\r\n\r\n","2025-02-02T11:36:31",{"id":268,"version":269,"summary_zh":270,"released_at":271},222942,"v2.42.32","## 2025\u002F1\u002F30 Server@2.42.31 - Client@2.42.32\r\n\r\n\r\n### Server \r\n\r\n未做更改，继续使用上一版本 \r\n\r\n\r\n### Client \r\n  \r\n- 💄 优化 降低内存占用情况          \r\n \r\n**Install**\r\n[esp-ai-2.42.32.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18602208\u002Fesp-ai-2.42.32.zip)\r\n\r\n\r\n","2025-01-30T12:15:59",{"id":273,"version":274,"summary_zh":275,"released_at":276},222943,"v2.42.31","\r\n## 2025\u002F1\u002F25 Server@2.42.31 - Client@2.41.32\r\n\r\n\r\n### Server \r\n\r\n\r\n- 🆕 新增 指令可以控制远程设备\r\n\r\n                   \r\n**Install**\r\n\r\n```bash\r\nnpm i esp-ai@2.42.31\r\n```\r\n**docker Install**\r\n```bash\r\ndocker exec -it esp-ai-server  npm i esp-ai@2.42.31\r\n```\r\n\r\n\r\n### Client \r\n  \r\n\r\n未做修改，继续使用 `v2.41.32`。\r\n","2025-01-25T09:15:23",{"id":278,"version":279,"summary_zh":280,"released_at":281},222944,"v2.41.32","\r\n### Server \r\n\r\n未做修改，继续使用 `v2.41.30`。\r\n\r\n### Client \r\n  \r\n- 🐞 修复 DIY 套件不接按钮会导致无限重置\r\n- 🐞 修复 部分其他问题\r\n\r\n\r\n**Install**\r\n[esp-ai-2.41.32.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18498670\u002Fesp-ai-2.41.32.zip)\r\n\r\n ","2025-01-22T01:57:58",{"id":283,"version":284,"summary_zh":285,"released_at":286},222945,"v2.41.30","\r\n## 2025\u002F1\u002F18 Server@2.41.30 - Client@2.41.30\r\n\r\n### Server \r\n \r\n- 🐞 修复 用户指令不执行问题。\r\n                   \r\n**Install**\r\n\r\n```bash\r\nnpm i esp-ai@2.41.30\r\n```\r\n**docker Install**\r\n```bash\r\ndocker exec -it esp-ai-server  npm i esp-ai@2.41.30\r\n```\r\n\r\n### Client \r\n \r\n- 🆕 新增 增加开放平台额度不足提示、超体未启用提示、额度卡不存在提示  \r\n- 🐞 修复 `ASR` 中可能包含部分问候语，导致意图识别等出现 `bug`  \r\n\r\n\r\n**Install**\r\n[esp-ai-2.41.30.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18463857\u002Fesp-ai-2.41.30.zip)\r\n\r\n","2025-01-18T09:42:15",{"id":288,"version":289,"summary_zh":290,"released_at":291},222946,"v2.41.27"," \r\n### Server \r\n\r\n- 💄 优化 部分问题\r\n- 🐞 修复 内置讯飞 ASR 插件无法使用的问题\r\n\r\n                   \r\n**Install**\r\n\r\n```bash\r\nnpm i esp-ai@2.41.27\r\n```\r\n**docker Install**\r\n```bash\r\ndocker exec -it esp-ai-server  npm i esp-ai@2.41.27\r\n```\r\n\r\n### Client \r\n \r\n- 💄 优化 部分问题      \r\n\r\n\r\n**Install**\r\n \r\n \r\n[esp-ai-2.40.29.zip](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Ffiles\u002F18378748\u002Fesp-ai-2.40.29.zip)\r\n\r\n","2025-01-10T14:29:33"]