AetherLink移动应用是一个基于现代Web技术构建的跨平台AI助手应用。该应用支持与多种AI模型(如OpenAI、Google Gemini、Anthropic Claude、Grok、硅基流动、火山方舟等)的交互,提供流畅的对话体验,并支持Android平台部署。应用采用React、TypeScript和Capacitor框架开发,具有高度可定制的模型配置、多主题聊天管理、AI思考过程可视
官方交流群Q群 点击链接加入群聊【AetherLink 官方群】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=V-b46WoBNLIM4oc34JMULwoyJ3hyrKac&authKey=q%2FSwCcxda4e55ygtwp3h9adQXhqBLZ9wJdvM0QxTjXQkbxAa2tHoraOGy2fiibyY&noverify=0&group_code=930126592
AetherLink移动应用是一个基于现代Web技术构建的跨平台AI助手应用。该应用支持与多种AI模型(如OpenAI、Google Gemini、Anthropic Claude、Grok、硅基流动、火山方舟等)的交互,提供流畅的对话体验,并支持Android平台部署。应用采用React、TypeScript和Capacitor框架开发,具有高度可定制的模型配置、多主题聊天管理、AI思考过程可视化、语音合成、语音识别、MCP工具支持、知识库管理等特色功能。
git clone https://github.com/1600822305/AetherLink.git
cd AetherLink
npm install
npx cap init
npm run dev
npm run build # 快速构建(推荐)
npm run build:ultra # 完整构建(包含类型检查)
# 构建并同步到Android
npm run build
npx cap sync android
npx cap open android
# 在Android Studio中构建
npx cap open android
# 然后在Android Studio中: Build > Build Bundle(s) / APK(s) > Build APK(s)
APK将保存在 android/app/build/outputs/apk/debug/
目录
AetherLink 采用分层许可模式,根据使用者规模提供不同的许可方案:
如果您的组织超过8人,或需要规避AGPLv3的开源义务,请联系我们获取商业许可证:
📧 商业授权联系:1600822305@qq.com
详细许可条款请查看 LICENSE 文件。
git checkout -b feature/amazing-feature
)git commit -m '添加一些功能'
)git push origin feature/amazing-feature
)注意:所有代码贡献将被视为在AGPLv3许可证下提供。
AetherLink支持从各大AI提供商API自动获取可用模型列表:
/v1/models
/v1/models
/v1beta/models
/v1/models
/v1/models
/api/v3/models
AetherLink支持多种语音识别方案:
AetherLink提供多层级的语音合成解决方案:
集成Model Context Protocol (MCP)工具生态:
AetherLink针对移动设备进行了多项优化:
AetherLink/
├── android/ # Android平台相关代码和配置
│ ├── app/ # Android应用主要代码
│ │ ├── src/ # 源代码目录
│ │ │ ├── main/ # 主要代码
│ │ │ │ ├── assets/ # Web资源和配置文件
│ │ │ │ ├── java/ # Java代码
│ │ │ │ └── res/ # Android资源文件(布局、图标等)
│ │ │ └── test/ # 测试代码
│ │ └── build.gradle # 应用级构建配置
│ ├── build.gradle # 项目级构建配置
│ ├── capacitor.settings.gradle # Capacitor插件配置
│ └── variables.gradle # 全局变量和版本配置
├── public/ # 静态资源文件和公共资产
│ └── assets/ # 图标、图片等公共资源
├── src/ # 源代码目录
│ ├── assets/ # 应用内图片、字体等资源
│ ├── components/ # 可复用UI组件
│ │ ├── AIDebateButton.tsx # AI辩论功能按钮组件
│ │ ├── AppInitializer.tsx # 应用初始化组件
│ │ ├── BackButtonHandler.tsx # Android返回键处理组件,管理返回键行为
│ │ ├── ChatInput.tsx # 聊天输入框组件,处理消息输入和发送
│ │ ├── ChatToolbar.tsx # 聊天工具栏组件,提供聊天页面顶部操作
│ │ ├── CitationsList.tsx # 引用列表组件,显示消息引用
│ │ ├── CodeEditor/ # 代码编辑器组件目录
│ │ ├── CompactChatInput.tsx # 紧凑型聊天输入框
│ │ ├── DevTools/ # 开发者工具组件目录
│ │ ├── EnhancedToast.tsx # 增强型提示组件
│ │ ├── ExitConfirmDialog.tsx # 退出确认对话框,防止意外退出应用
│ │ ├── FilePreview.tsx # 文件预览组件
│ │ ├── ImageGeneration/ # 图像生成功能组件目录
│ │ ├── IntegratedFilePreview.tsx # 集成文件预览组件
│ │ ├── KnowledgeManagement/ # 知识库管理组件目录
│ │ ├── ModelManagementDialog.tsx # 模型管理对话框
│ │ ├── MultiModelSelector.tsx # 多模型选择器组件
│ │ ├── RouterWrapper.tsx # 路由包装组件,提供路由转换和动画
│ │ ├── SearchResultsCollapsible.tsx # 搜索结果折叠组件
│ │ ├── Sidebar/ # 侧边栏组件目录
│ │ ├── SystemPromptBubble.tsx # 系统提示气泡组件
│ │ ├── SystemPromptDialog.tsx # 系统提示对话框
│ │ ├── TTS/ # 语音合成组件目录
│ │ ├── ToolsSwitch.tsx # 工具开关组件
│ │ ├── TopicManagement/ # 话题管理组件,包含分组和拖拽功能
│ │ │ ├── AssistantTab.tsx # 助手标签页组件
│ │ │ ├── GroupComponents.tsx # 分组相关组件
│ │ │ ├── GroupDialog.tsx # 创建/编辑分组对话框
│ │ │ ├── Sidebar.tsx # 侧边栏主组件
│ │ │ ├── SidebarTabs.tsx # 侧边栏标签页组件
│ │ │ ├── TopicTab.tsx # 话题标签页组件
│ │ │ └── index.ts # 导出组件
│ │ ├── TopicStats/ # 话题统计组件目录
│ │ ├── UpdateNoticeDialog.tsx # 更新通知对话框
│ │ ├── UploadMenu.tsx # 上传菜单组件
│ │ ├── UrlScraperStatus.tsx # URL抓取状态组件
│ │ ├── VoiceRecognition/ # 语音识别组件目录
│ │ ├── WebSearchProviderSelector.tsx # 网络搜索提供商选择器
│ │ ├── chat/ # 聊天相关子组件
│ │ ├── common/ # 通用组件目录
│ │ ├── message/ # 消息相关子组件
│ │ │ ├── ThinkingProcess/ # AI思考过程展示组件
│ │ │ └── MessageActions/ # 消息操作按钮组件
│ │ ├── settings/ # 设置相关组件
│ │ │ └── ModelCard/ # 模型卡片组件,展示单个模型信息
│ │ └── test/ # 测试组件目录
│ ├── pages/ # 页面级组件
│ │ ├── ChatPage/ # 聊天主界面
│ │ │ ├── components/ # 聊天页面子组件
│ │ │ │ ├── ModelSelector.tsx # 模型选择器组件
│ │ │ │ └── ... # 其他聊天页面子组件
│ │ │ ├── hooks/ # 聊天页面自定义钩子
│ │ │ │ ├── useModelSelection.ts # 模型选择逻辑钩子
│ │ │ │ ├── useChatFeatures.ts # 聊天功能钩子
│ │ │ │ └── ... # 其他聊天页面钩子
│ │ │ └── index.tsx # 聊天页面主组件
│ │ ├── DevToolsPage.tsx # 开发者调试工具页面,提供日志和API调试
│ │ ├── KnowledgeBase/ # 知识库管理页面目录
│ │ ├── Settings/ # 设置相关页面
│ │ │ ├── AppearanceSettings/ # 外观设置,主题和字体配置
│ │ │ ├── BehaviorSettings/ # 行为设置,如发送方式和通知
│ │ │ ├── DefaultModelSettings/ # 默认模型设置页面
│ │ │ ├── ModelProviderSettings/ # 模型提供商设置页面
│ │ │ ├── AddProviderPage/ # 添加提供商页面
│ │ │ ├── DataSettings/ # 数据管理设置,包括备份和恢复
│ │ │ ├── VoiceSettings/ # 语音设置,TTS和语音识别配置
│ │ │ ├── index.tsx # 设置主页面
│ │ │ └── AboutPage/ # 关于页面,显示应用信息
│ │ ├── SettingsPage.tsx # 设置页面入口
│ │ └── WelcomePage.tsx # 欢迎/引导页面,首次使用时显示
│ ├── routes/ # 路由配置和导航逻辑
│ │ └── index.tsx # 路由定义和配置
│ ├── shared/ # 共享代码和业务逻辑
│ │ ├── api/ # API接口封装
│ │ │ ├── anthropic/ # Anthropic Claude API集成
│ │ │ ├── google/ # Google Gemini API集成
│ │ │ ├── grok/ # Grok API集成
│ │ │ ├── openai/ # OpenAI API集成
│ │ │ ├── siliconflow/ # 硅基流动API集成
│ │ │ ├── volcengine/ # 火山方舟API集成
│ │ │ └── index.ts # API统一入口和路由
│ │ ├── config/ # 配置文件目录
│ │ ├── constants/ # 常量定义目录
│ │ ├── data/ # 静态数据和预设配置
│ │ │ ├── models/ # 预设模型配置
│ │ │ └── presetModels.ts # 预设模型数据
│ │ ├── hooks/ # 自定义React Hooks
│ │ │ ├── useAppState/ # 应用状态管理Hook
│ │ │ ├── useModels/ # 模型管理Hook
│ │ │ └── ... # 其他自定义Hook
│ │ ├── middlewares/ # Redux中间件目录
│ │ ├── prompts/ # 提示词模板目录
│ │ ├── providers/ # 提供商相关代码目录
│ │ ├── services/ # 业务服务层
│ │ │ ├── APIService.ts # API服务,处理模型获取和消息发送
│ │ │ ├── AssistantService.ts # 助手服务,管理AI助手配置
│ │ │ ├── LoggerService.ts # 日志记录服务,统一日志管理
│ │ │ ├── SystemPromptService.ts # 系统提示词服务
│ │ │ ├── ThinkingService.ts # AI思考过程处理服务
│ │ │ ├── TopicService.ts # 话题管理服务
│ │ │ ├── TTSService.ts # 文本到语音转换服务
│ │ │ ├── VoiceRecognitionService.ts # 语音识别服务
│ │ │ ├── VersionService.ts # 版本管理服务
│ │ │ ├── ImageUploadService.ts # 图片上传服务,处理图片选择和压缩
│ │ │ ├── assistant/ # 助手相关服务目录
│ │ │ ├── mcpServers/ # MCP服务器集成目录
│ │ │ └── storageService.ts # 存储服务(IndexedDB/localStorage)
│ │ ├── store/ # Redux状态管理
│ │ │ ├── messagesSlice.ts # 消息状态管理
│ │ │ ├── settingsSlice.ts # 设置状态管理
│ │ │ ├── slices/ # 其他状态切片
│ │ │ │ ├── groupsSlice.ts # 分组状态管理
│ │ │ │ └── ... # 其他状态切片
│ │ │ └── index.ts # Store配置和导出
│ │ ├── styles/ # 样式文件目录
│ │ ├── types/ # TypeScript类型定义
│ │ │ ├── Assistant.ts # 助手类型定义
│ │ │ └── index.ts # 核心类型定义,包含消息、模型等类型
│ │ └── utils/ # 工具函数和辅助方法
│ │ ├── api/ # API相关工具函数
│ │ ├── format/ # 格式化工具函数
│ │ ├── storage/ # 本地存储工具函数
│ │ └── index.ts # 通用工具函数,如ID生成、Token计算等
│ ├── App.tsx # 应用根组件,包含主题和路由配置
│ ├── main.tsx # 应用入口文件,渲染根组件
│ └── index.css # 全局样式
├── capacitor.config.ts # Capacitor移动应用配置,定义应用ID和插件设置
├── index.html # 应用入口HTML文件
├── package.json # 项目依赖和脚本配置
├── tsconfig.json # TypeScript编译配置(引用配置)
├── tsconfig.app.json # 应用代码TypeScript配置
├── tsconfig.node.json # Node环境TypeScript配置
├── vite.config.ts # Vite构建工具配置,包含优化和分包策略
├── tailwind.config.js # Tailwind CSS配置
└── eslint.config.js # ESLint代码规范配置
1600822305/AetherLink
May 12, 2025
July 5, 2025
TypeScript