Ttangmeng1234mcp: add HTTP transport for remote MCP clients Add HTTP transport to mcp_server alongside existing stdio transport. Remote MCP clients can now discover and call all device tools via standard MCP protocol over POST /mcp on the ws_server port (28789). - mcp_server.c: add HTTP JSON-RPC handler (initialize, tools/list, tools/call) bridging to main tool_registry - mcp_server.h: declare mcp_server_try_handle_http() - ws_server.c: add MCP to request routing chain (A2A -> MCP -> WS)
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
optimize: reduce stack usage and clean up dead code - xiaozhi_channel.c: WS recv buffer 8192->4096 (saves 4KB stack) - xiaozhi_state.h: remove unused UDP/AudioStreaming states (6->4) - xiaozhi_channel.c: shrink state transition table 6x6->4x4 - cmd_llm.c: static local->stack (frees 648B BSS) Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
feat: add independent vision model config with fallback to main LLM Add set_vision_llm command allowing users to configure a separate vision-capable model (e.g. mimo-v2-omni, gpt-4o, qwen-vl-max) for image analysis while keeping a cheaper text model for chat. When vision_model is not configured, vision calls automatically fall back to the main LLM config, maintaining full backward compatibility. Changes: - agent_config.h: add AGENT_CFG_KEY_VISION_* config keys - llm_proxy.c: add vision static vars, snapshot, setter with fallback - llm_proxy.h: declare llm_snapshot_vision_config, llm_set_vision_model - llm_vision.c: use vision-specific config in both vision entry points - cmd_llm.c: add cmd_set_vision_llm with 4 presets (mimo/openai/qwen/glm) - nsh_commands.c: register command, update help text and config_show Also fix mimo preset model name from MiMo-v2-Flash to mimo-v2-flash (lowercase) as required by api.xiaomimimo.com. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | 2 个月前 | |
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
refactor: extract shared url_parse for http/https/ws/wss Extract URL parsing into infra/url_parse.c, replacing 6 duplicate hand-written parsers across the codebase. Supports http, https, ws, wss schemes with host, port, path extraction. Consumers migrated: mcp_client, cmd_llm, feishu_http, weixin_channel, tool_fetch_url, xiaozhi_channel. Fixes: empty host validation, wss:// scheme bypass in fetch_url, path buffer expanded to 256 bytes for long query strings. Verified on QEMU emulator: feishu WSS connect, fetch_url HTTPS, set_llm URL parsing all pass. Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
Initial commit | 2 个月前 | |
feat: add XiaoZhi WebSocket protocol channel Add XiaoZhi channel for connecting to XiaoZhi Server via WSS. Single WebSocket connection handles JSON control messages (text frames) and Opus audio (binary frames). Modules: - xiaozhi_channel: OTA config fetch, WSS connect, hello/STT/TTS/ LLM/MCP message dispatch, auto-reconnect with exponential backoff - xiaozhi_opus: Opus codec wrapper with real/stub implementations - xiaozhi_udp: UDP audio transport with AES-CTR encryption Thread safety fixes applied: locked start/stop guards, session_id snapshot in send functions, aligned memory access in UDP nonce. Add Kconfig option AI_AGENT_XIAOZHI and CMakeLists.txt conditional. Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
Initial commit | 2 个月前 | |
refactor: extract shared url_parse for http/https/ws/wss Extract URL parsing into infra/url_parse.c, replacing 6 duplicate hand-written parsers across the codebase. Supports http, https, ws, wss schemes with host, port, path extraction. Consumers migrated: mcp_client, cmd_llm, feishu_http, weixin_channel, tool_fetch_url, xiaozhi_channel. Fixes: empty host validation, wss:// scheme bypass in fetch_url, path buffer expanded to 256 bytes for long query strings. Verified on QEMU emulator: feishu WSS connect, fetch_url HTTPS, set_llm URL parsing all pass. Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
Initial commit | 2 个月前 | |
mcp: add HTTP transport for remote MCP clients Add HTTP transport to mcp_server alongside existing stdio transport. Remote MCP clients can now discover and call all device tools via standard MCP protocol over POST /mcp on the ws_server port (28789). - mcp_server.c: add HTTP JSON-RPC handler (initialize, tools/list, tools/call) bridging to main tool_registry - mcp_server.h: declare mcp_server_try_handle_http() - ws_server.c: add MCP to request routing chain (A2A -> MCP -> WS) | 1 个月前 | |
Initial commit | 2 个月前 | |
optimize: reduce stack usage and clean up dead code - xiaozhi_channel.c: WS recv buffer 8192->4096 (saves 4KB stack) - xiaozhi_state.h: remove unused UDP/AudioStreaming states (6->4) - xiaozhi_channel.c: shrink state transition table 6x6->4x4 - cmd_llm.c: static local->stack (frees 648B BSS) Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
feat: add XiaoZhi WebSocket protocol channel Add XiaoZhi channel for connecting to XiaoZhi Server via WSS. Single WebSocket connection handles JSON control messages (text frames) and Opus audio (binary frames). Modules: - xiaozhi_channel: OTA config fetch, WSS connect, hello/STT/TTS/ LLM/MCP message dispatch, auto-reconnect with exponential backoff - xiaozhi_opus: Opus codec wrapper with real/stub implementations - xiaozhi_udp: UDP audio transport with AES-CTR encryption Thread safety fixes applied: locked start/stop guards, session_id snapshot in send functions, aligned memory access in UDP nonce. Add Kconfig option AI_AGENT_XIAOZHI and CMakeLists.txt conditional. Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
feat: add XiaoZhi WebSocket protocol channel Add XiaoZhi channel for connecting to XiaoZhi Server via WSS. Single WebSocket connection handles JSON control messages (text frames) and Opus audio (binary frames). Modules: - xiaozhi_channel: OTA config fetch, WSS connect, hello/STT/TTS/ LLM/MCP message dispatch, auto-reconnect with exponential backoff - xiaozhi_opus: Opus codec wrapper with real/stub implementations - xiaozhi_udp: UDP audio transport with AES-CTR encryption Thread safety fixes applied: locked start/stop guards, session_id snapshot in send functions, aligned memory access in UDP nonce. Add Kconfig option AI_AGENT_XIAOZHI and CMakeLists.txt conditional. Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
feat: add XiaoZhi WebSocket protocol channel Add XiaoZhi channel for connecting to XiaoZhi Server via WSS. Single WebSocket connection handles JSON control messages (text frames) and Opus audio (binary frames). Modules: - xiaozhi_channel: OTA config fetch, WSS connect, hello/STT/TTS/ LLM/MCP message dispatch, auto-reconnect with exponential backoff - xiaozhi_opus: Opus codec wrapper with real/stub implementations - xiaozhi_udp: UDP audio transport with AES-CTR encryption Thread safety fixes applied: locked start/stop guards, session_id snapshot in send functions, aligned memory access in UDP nonce. Add Kconfig option AI_AGENT_XIAOZHI and CMakeLists.txt conditional. Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
optimize: reduce stack usage and clean up dead code - xiaozhi_channel.c: WS recv buffer 8192->4096 (saves 4KB stack) - xiaozhi_state.h: remove unused UDP/AudioStreaming states (6->4) - xiaozhi_channel.c: shrink state transition table 6x6->4x4 - cmd_llm.c: static local->stack (frees 648B BSS) Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
feat: add XiaoZhi WebSocket protocol channel Add XiaoZhi channel for connecting to XiaoZhi Server via WSS. Single WebSocket connection handles JSON control messages (text frames) and Opus audio (binary frames). Modules: - xiaozhi_channel: OTA config fetch, WSS connect, hello/STT/TTS/ LLM/MCP message dispatch, auto-reconnect with exponential backoff - xiaozhi_opus: Opus codec wrapper with real/stub implementations - xiaozhi_udp: UDP audio transport with AES-CTR encryption Thread safety fixes applied: locked start/stop guards, session_id snapshot in send functions, aligned memory access in UDP nonce. Add Kconfig option AI_AGENT_XIAOZHI and CMakeLists.txt conditional. Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 | |
feat: add XiaoZhi WebSocket protocol channel Add XiaoZhi channel for connecting to XiaoZhi Server via WSS. Single WebSocket connection handles JSON control messages (text frames) and Opus audio (binary frames). Modules: - xiaozhi_channel: OTA config fetch, WSS connect, hello/STT/TTS/ LLM/MCP message dispatch, auto-reconnect with exponential backoff - xiaozhi_opus: Opus codec wrapper with real/stub implementations - xiaozhi_udp: UDP audio transport with AES-CTR encryption Thread safety fixes applied: locked start/stop guards, session_id snapshot in send functions, aligned memory access in UDP nonce. Add Kconfig option AI_AGENT_XIAOZHI and CMakeLists.txt conditional. Signed-off-by: zhouwenjie1 <zhouwenjie1@xiaomi.com> | 1 个月前 |