# AICar_node **Repository Path**: As-null/aicar_node ## Basic Information - **Project Name**: AICar_node - **Description**: AICar node后端部分 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-02 - **Last Updated**: 2025-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AICar_node AICar_node 是一个基于 Node.js 的智能小车控制系统,通过语音交互和自然语言处理技术,实现对小车的智能化控制。该项目支持语音识别、语义理解、语音合成和各种小车动作控制,如表情显示、头部运动和车身移动等。 ## 功能特点 - **语音交互**:通过官方 ASR 服务实现语音识别,将用户语音指令转换为文本 - **自然语言理解**:使用 deepseek 大语言模型处理文本指令,生成 JSON 格式的控制指令 - **语音合成**:通过火山引擎 TTS 将回复文本转换为语音输出 - **小车控制**:执行多种动作指令,包括: - 表情显示(如大眼睛、惊讶、开心等) - 头部动作(如左转、右转、点头、摇头等) - 小车运动(前进、后退、停止) - 延时控制(控制动作执行时间) - **模块化设计**:采用插件架构,便于功能扩展 ## 系统架构 项目主要由以下组件构成: 1. **主程序(index.js)**:系统入口,配置和初始化各个模块 2. **系统提示词(systemPrompt.js)**:定义 AI 交互的行为规则和回复格式 3. **插件系统**: - **TTS 插件**:语音合成(火山引擎) - **LLM 插件**:大语言模型(esp-ai 和 deepseek) - **ASR 插件**:语音识别(官方服务) ## 环境要求 - Node.js (推荐 v14 或更高版本) - 网络连接(用于 API 调用) - 支持 WebSocket 的环境(用于实时通信) ## 安装步骤 ### 本地开发环境 1. 克隆项目到本地: ```bash git clone [仓库地址] AICar_node cd AICar_node ``` 2. 安装依赖: ```bash npm install ``` 3. 启动服务: ```bash node index.js ``` ### 服务器部署 #### 宝塔面板部署 1. 安装宝塔面板并登录管理界面 2. 安装 Node.js 环境 3. 创建网站并上传项目文件 4. 添加 Node 项目并配置启动参数 5. 配置 WebSocket 反向代理 6. 开放相关端口(云服务器安全组和宝塔防火墙) 详细的宝塔部署教程请参考[宝塔部署文档](docs/deploy-bt.md) ## 使用方法 1. 服务启动后,系统将显示"Asnull AI Car 已成功连接服务器!"的提示 2. 通过语音输入指令,如"请向前走"、"你能转个圈吗?"等 3. 系统会通过语音回复并执行相应的动作 ## 配置说明 主要配置在`index.js`文件中: - ASR 服务配置:语音识别相关参数 - LLM 服务配置:大语言模型相关参数 - TTS 服务配置:语音合成相关参数 - 系统提示词:定义在`systemPrompt.js`中 ## 动作指令列表 ### 表情符号功能 - blankFace:空白的默认表情 - bigEyesFace:瞪大眼睛 - astonishmentFace:惊讶 - happyFace:开心 - trappedFace:困 - sadFace:难过 - angryFace:生气 - boredFace:无聊 - loveFace:喜欢 - questionFace:疑惑 ### 小车运动功能 - forward:前进 - backward:后退 - stop:停止 ### 头部功能 - head_left:头部向左转 - head_right:头部向右转 - head_up:头部向上看 - head_down:头部向下看 - head_nod:点头 - head_shake:摇头 - head_center:头部回到正中间 ### 延时功能 - delay,时间:如`delay,2000`表示延时 2 秒 ## 示例指令 例如发送指令"请前进和后退",系统会返回: ```json { "response": "好的,我动起来啦", "actions": ["bigEyesFace","forward","delay,2000","backward","delay,2000,"blankFace","stop","head_center"] } ``` ## 依赖项 - esp-ai: ^2.61.42 - esp-ai-plugin-llm-deepseek: ^1.0.7 ## 故障排除 如遇到问题,请检查: 1. 网络连接是否正常 2. API 密钥是否正确配置 3. 必要的端口是否开放 4. Node.js 版本是否兼容