# intimate **Repository Path**: bluekey2000/intimate ## Basic Information - **Project Name**: intimate - **Description**: intimate - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-15 - **Last Updated**: 2025-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 通义千问2.5-Omni 多模态AI助手 基于通义千问2.5-Omni API开发的跨平台多模态人工智能助手,支持文本、图像、音频和视频输入,提供流畅的对话体验。 ## 功能特点 - **多模态输入**: 支持文本、图像、音频和视频多种形式的输入 - **视频理解**: 支持录制、上传视频并由AI分析和理解内容 - **媒体优化**: 自动压缩和优化图像和视频,提高传输效率 - **流式响应**: 实时展示AI的思考过程和回答内容 - **对话管理**: 保存、恢复和管理多个对话上下文 - **跨平台支持**: 同时支持Web、iOS和Android平台 - **本地存储**: 对话记录本地持久化存储 ## 技术栈 - **前端框架**: React Native + Expo - **状态管理**: React Context API - **API集成**: 通义千问2.5-Omni API - **媒体处理**: Expo Camera, AV, ImageManipulator - **样式系统**: 自定义主题和组件库 ## 项目结构 ``` src/ ├── api/ # API接口层 │ ├── adapters/ # API适配器 │ ├── interfaces/ # 类型定义 │ └── qwen/ # 通义千问API集成 ├── client/ # 客户端代码 │ ├── components/ # UI组件 │ │ ├── chat/ # 聊天相关组件 │ │ ├── common/ # 通用组件 │ │ ├── inputs/ # 输入组件 │ │ ├── media/ # 媒体处理组件 │ │ └── multimodal/ # 多模态组件 │ ├── screens/ # 页面组件 │ ├── services/ # 客户端服务 │ ├── state/ # 状态管理 │ └── styles/ # 样式和主题 ├── shared/ # 共享代码 │ ├── types/ # 类型定义 │ ├── constants/ # 常量 │ └── utils/ # 共享工具 └── utils/ # 工具函数 ``` ## 媒体组件 ### 视频处理 项目提供了全面的视频录制、播放和压缩功能: - **VideoRecorder**: 提供摄像头视频录制,支持前后摄像头切换和预览 - **VideoPlayer**: 自定义视频播放器,支持全屏、进度控制和播放状态管理 - **VideoCompressor**: 提供视频压缩和转码功能,优化API传输效率 ### 图像处理 - **ImageViewer**: 展示和预览图像内容 - **ImageOptimizer**: 自动优化图像尺寸和质量,保持较好的视觉效果同时减小文件大小 ### 音频处理 - **AudioRecorder**: 录制高质量音频 - **AudioPlayer**: 播放音频内容,支持进度控制 ## 开始使用 ### 前提条件 - Node.js (14.x 或更高版本) - Yarn 或 npm - 通义千问API密钥 - Expo CLI (`npm install -g expo-cli`) ### 安装 ```bash # 克隆仓库 git clone https://github.com/yourusername/qwen-multimodal-client.git cd qwen-multimodal-client # 安装依赖 yarn install # 或 npm install ``` ### 运行 ```bash # 启动开发服务器 yarn start # 或 npm start # 在iOS模拟器中运行 yarn ios # 或 npm run ios # 在Android模拟器中运行 yarn android # 或 npm run android # 在Web浏览器中运行 yarn web # 或 npm run web ``` ### 配置 第一次运行应用时,您需要在设置中输入通义千问API密钥。该密钥将安全地存储在本地存储中。 ## 使用视频功能 ### 录制视频 ```jsx import { VideoRecorder } from '../client/components/media'; const MyComponent = () => { const handleVideoRecorded = (videoUri) => { console.log('视频已录制:', videoUri); // 可以将视频URI传递给API或保存到状态 }; return ( ); }; ``` ### 播放视频 ```jsx import { VideoPlayer } from '../client/components/media'; const MyComponent = () => { return ( ); }; ``` ### 压缩视频 ```jsx import { VideoCompressor } from '../utils/videoCompression'; const processVideo = async (videoUri) => { try { const compressedUri = await VideoCompressor.compress(videoUri, { quality: 'medium', targetSize: 5 * 1024 * 1024 // 5MB }); console.log('视频已压缩:', compressedUri); } catch (error) { console.error('视频压缩失败:', error); } }; ``` ## 贡献指南 欢迎贡献代码、报告问题或提出改进建议。请通过Issue和Pull Request参与项目开发。 ## 许可证 本项目采用MIT许可证。详见[LICENSE](LICENSE)文件。 ## 致谢 - 感谢通义千问团队提供的强大API - 感谢所有开源社区的贡献者