GGitHub采集材料
py-xiaozhi语音与物联网助手
发布时间未知 · 北京时间
原文与观测指标
1 个来源GGitHub
查看原文 py-xiaozhi语音与物联网助手
huangjunsen0406星标3,533采集时的累计值
每小时增长待观察星标 / 小时 · 观测区间平均值
最近提交10-28 14:32提交时间不是项目发布时间
发布时间:未知 · 首次发现 10-28 14:32 · 北京时间
指标采集:10-28 14:32 · 指标已取得
项目文档有线索安装说明有线索使用说明有线索示例有线索
仅反映文档与示例线索,未实际运行项目。
摘要
py-xiaozhi用Python构建跨平台多模态助手,支持实时语音、摄像头图像理解及通过MCP工具控制音乐、应用和设备,也可在树莓派等嵌入式平台部署。
摘要由 AI 生成,请以原文为准。观测历史 · 最近 1 条 展开 / 收起
缺失不计为零;增长只比较同一指标来源的有效记录,按实际间隔折算每小时。上游缓存可能延迟数值更新。
| 采集时间 · 北京时间 | 指标 | 数值 | 来源 | 状态 |
|---|---|---|---|---|
| 10-28 14:32:22 | Star | 3,533 | GitHub 公开页面 | 已取得 |
采集原文 展开 / 收起
py-xiaozhi
Open-source AI assistant ecosystem with MCP integrations, multimodal workflows, IoT support, and cross-platform voice interaction.
项目说明 展开 / 收起
py-xiaozhi English | 简体中文 ❤️ Sponsors Want to appear here? Click to collapse GitDo.net Thanks to GitDo.net for sponsoring this project! GitDo.net is an AI API aggregation platform — one API Key for Claude, Gemini, GPT and other major models. Direct connection, no proxy needed, stable and efficient. An ideal choice for enterprise-grade AI programming. Visit GitDo.net Token能量站 Thanks to Token能量站 (Factory.pub) for sponsoring this project! Providing API relay for GPT, Grok, Claude and other major models — stable, reliable, and affordable. Register here 良心AI Thanks to 良心AI for sponsoring this project! Providing API relay for GPT, Claude, Gemini and other major models — direct connection, stable and high-speed. Register here About py-xiaozhi is a lightweight, cross-platform multi-modal AI interaction framework built on Python's async architecture. It supports real-time voice streaming, vision-language tasks, and IoT device control. Deployable across Windows, macOS, Linux desktops, and ARM embedded platforms (Raspberry Pi, Horizon Robotics RDK, Jetson Nano), it bridges the gap between Large Language Models and physical hardware — out of the box. Evolved from the xiaozhi-esp32 firmware project. Officially adopted by D-Robotics (xiaozhi-in-rdk) as an upstream dependency. Related Projects xiaozhi-desktop — Electron desktop client with AEC echo cancellation, Live2D, floating window modes, and Windows / macOS installers Demo Bilibili Demo Video Key Features Real-time Voice AI — Opus codec with auto frame detection (RFC 6716 TOC parsing), async streaming, sub-20ms latency Multi-modal Vision — Camera capture + vision-language model integration for image understanding and scene perception MCP Tool Ecosystem — Modular JSON-RPC 2.0 tool server: music player, camera, screenshot, app management, weather, volume control Cross-platform Deployment — Windows 10+ / macOS 10.15+ / Linux (x86_64 & ARM), optimized for Raspberry Pi and edge boards Multiple UI Modes — PySide6 + QML GUI / CLI / GPIO, adapting to desktop, headless server, and embedded environments Offline Wake Word — Sherpa-ONNX based on-device keyword spotting with custom wake word support IoT & Embodied AI Ready — GPIO interface for robotics control, hardware actuation, and sensor integration WebSocket / MQTT — Dual protocol communication with WSS/TLS encrypted transmission and auto-reconnection Plugin Architecture — Event-driven async design, clean dependency injection, extensible plugin system System Requirements Basic Requirements Python Version: 3.10 - 3.12 Operating System: Windows 10+, macOS 10.15+, Linux Audio Devices: Microphone and speaker devices Network Connection: Stable internet connection (for AI services and online features) Recommended Configuration Memory: At least 4GB RAM (8GB+ recommended) Processor: Modern CPU with AVX instruction set support Storage: At least 2GB available disk space (for model files and cache) Audio: Audio devices supporting 16kHz sampling rate Optional Feature Requirements Voice Wake-up: Requires downloading Sherpa-ONNX speech recognition models Camera Features: Requires camera device and OpenCV support Read This First Carefully read 项目文档 for startup tutorials and file descriptions The main branch has the latest code; manually reinstall pip dependencies after each update to ensure you have new dependencies Zero to Xiaozhi Client (Video Tutorial) Technical Architecture Core Architecture Design Event-Driven Architecture: Based on asyncio asynchronous event loop, supporting high-concurrency processing Layered Design: Clear separation of application layer, protocol layer, and UI layer Dependency Injection: Component lifecycle managed via bootstrap container Plugin System: Audio, UI, MCP tools and other components loaded via plugin system Key Technical Components Audio Processing: Opus codec, real-time resampling Speech Recognition: Sherpa-ONNX offline models, wake word recognition Protocol Communication: WebSocket/MQTT dual protocol support, encrypted transmission, auto-reconnection Configuration System: Hierarchical configuration, dot notation access, dynamic updates Performance Optimization Async First: Full system asynchronous architecture, avoiding blocking operations Memory Management: Smart caching, garbage collection Audio Optimization: 5ms low-latency processing, queue management, streaming transmission Concurrency Control: Task pool management, semaphore control, thread safety Security Mechanisms Encrypted Communication: WSS/TLS encryption, certificate verification Device Authentication: Dual protocol activation, device fingerprint recognition Access Control: Tool permission management, API access control Error Isolation: Exception isolation, fault recovery, graceful degradation Development Guide Project Structure py-xiaozhi/ ├── main.py # Application entry point ├── src/ │ ├── activation/ # Device activation │ ├── audio_codecs/ # Audio codecs │ ├── audio_processing/ # Wake word detection │ ├── bootstrap/ # Application bootstrap & dependency injection │ ├── constants/ # Constants │ ├── core/ # Core infrastructure (event bus, state management, task management, etc.) │ ├── logging/ # Logging subsystem │ ├── mcp/ # MCP tool system │ │ ├── mcp_server.py # MCP server │ │ └── tools/ # Tool modules (music/camera/screenshot/app/weather/volume) │ ├── plugins/ # Plugin system (audio, UI, MCP, wake word, shortcuts) │ ├── protocols/ # Communication protocols (WebSocket/MQTT) │ ├── ui/ # User interface │ │ ├── gui/ # PySide6 + QML graphical interface │ │ ├── cli/ # Command line interface │ │ └── gpio/ # GPIO embedded interface │ └── utils/ # Utility functions ├── libs/ # Third-party native libraries │ ├── libopus/ # Opus audio codec library │ └── webrtc_apm/ # WebRTC audio processing module ├── models/ # Wake word models ├── assets/ # Static resources ├── scripts/ # Auxiliary scripts ├── documents/ # VitePress documentation site ├── pyproject.toml # Project configuration └── build.json # Build configuration Developmen