# 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
- 感谢所有开源社区的贡献者