🌌 Aether - 跨平台MCP客户端
    
一个基于Tauri和Next.js构建的现代、跨平台的大型语言模型多客户端协议(MCP)客户端。
📊 项目状态
✅ 已完成的功能
- 桌面应用程序 - 完全功能的 Tauri + Next.js 应用
- 多供应商支持 - OpenAI与本地大型语言模型(LLM)的集成
- 实时聊天 - 实时流式响应并显示输入状态指示
- 对话管理 - 具有持久性的CRUD操作
- 安全存储 - 存储在操作系统密钥环中的API密钥
- 响应式移动着陆页 - 专业的GitHub Pages网站
- CI/CD 流水线 - 自动化构建和发布
- 跨平台构建 - 支持 macOS、Windows、Linux
🚧(施工中/维修中/禁止通行等,具体含义根据上下文而定) 正在开发中
- 增强的用户界面组件 - 额外的shadcn/ui集成
- 插件系统 - 可扩展的提供者架构
- 高级设置 - 更多配置选项
- 性能优化 - 内存和速度提升
📋 翻译成中文是:清单 路线图
- 插件市场 - 第三方提供商支持
- 团队协作 - 共享对话和工作空间
- 高级分析 - 使用统计数据和见解
- 手机应用程序 - React Native 伴侣应用
✨ 特点/功能
🚀 表示火箭或快速上升、加速的意象,常用于比喻或象征快速的发展、进步或行动。 核心能力
- 跨平台桌面应用程序 - 使用Tauri构建,实现原生性能
- 多供应商支持 - OpenAI,本地大型语言模型(Ollama,LM Studio,vLLM)
- 实时流媒体 - 带有打字指示器的实时聊天回复
- 安全API密钥管理 - 与操作系统原生密钥环的集成
- 对话管理 - 具备持久化的完整CRUD(创建、读取、更新、删除)操作
- 模型跟踪 - 记住每场对话中使用了哪个模型
📱 移动响应式着陆页
- GitHub Pages 网站 - 带有动画效果的专业着陆页
- 移动优先设计 - 在所有设备上均能良好响应(或自适应)
- 交互式演示 - 桌面应用程序的实时预览
- 下载按钮 - 直接链接到特定平台的发布版本
- 设置说明 - 本地大语言模型(LLM)设置的全面指南
🎨(颜料/艺术创作相关) 用户体验
- 漂亮的用户界面 - 采用shadcn/ui组件的现代设计
- 动画启动画面 - 优雅的加载体验
- 深色/浅色主题 - 支持自适应主题
- 响应式设计 - 适用于所有屏幕尺寸
- 键盘快捷键 - 高效的工作流程导航
🔧(扳手或修理工具的符号,无具体文字含义) 技术特性
- TypeScript - 栈中全面的类型安全
- Rust 后端 - 高性能系统集成
- Next.js 前端 - 使用SSG优化的现代React
- 安全存储 加密API密钥存储
- 离线支持 - 无需互联网即可工作(针对本地大型语言模型)
- 热重载 - 快速开发经验
🏗️ 建筑学
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Next.js UI │ │ Tauri Core │ │ LLM Providers │
│ │ │ │ │ │
│ • React Components│◄──►│ • Rust Backend │◄──►│ • OpenAI API │
│ • State Management│ │ • IPC Commands │ │ • Local Ollama │
│ • UI Components │ │ • Secure Storage │ │ • Custom APIs │
└─────────────────┘ └─────────────────┘ └─────────────────┘🚀 快速入门
先决条件
- Node.js 20+ 版本及 npm(Next.js 16 所需)
- Rust(一种编程语言) 1.70+(适用于Tauri)
- Git(一种分布式版本控制系统) 用于克隆仓库
安装
- 克隆仓库
git clone https://github.com/NoManNayeem/Aether.git
cd Aether- 安装依赖项
npm install- 以开发模式运行
npm run tauri:dev为生产构建(或:准备生产环境)
# Build the desktop application
npm run tauri:build
# Build only the web version
npm run build下载预构建版本
预构建的桌面应用程序可供下载,下载地址为 页面:
- macOS英特尔与苹果硅芯片(DMG)
- Windowsx64 与 ARM64(微星)
- Linuxx64 和 ARM64(AppImage 和 DEB)
🔄 持续集成/持续交付 (CI/CD) 与自动化
GitHub Actions 工作流
该项目包含了用于自动化CI/CD的全面GitHub Actions工作流:
CI 工作流 (.github/workflows/ci.yml)
- 触发器推送到
main分支,拉取请求 - 行动代码检查、构建和测试
- Node.js20.x(修复了Next.js 16的兼容性问题)
页面工作流 (.github/workflows/pages.yml)
- 触发器推送到
main分支 - 行动构建并部署GitHub Pages网站
- URL:
发布工作流程 (.github/workflows/release.yml)
- 触发器版本标签(例如。,
v1.0.0) - 行动为所有平台构建桌面应用程序
- 输出DMG、MSI、AppImage 和 DEB 软件包
创建一个发布版本
创建一个新的桌面版本:
# Tag a new version
git tag v1.0.0
git push origin v1.0.0
# GitHub Actions will automatically:
# 1. Build for all platforms
# 2. Create a GitHub release
# 3. Upload all artifacts📖 使用方法
添加大型语言模型(LLM)提供商
- 打开设置 - 点击侧边栏中的设置图标
- 添加提供商 - 点击“添加提供者”按钮
- 配置 - 输入提供商详细信息:
- 名字您的提供商名称 - 类型OpenAI 或 本地 - 终端(或端点)API终端URL - 模型使用的默认模型 - API密钥您的安全API密钥
开启对话
- 选择提供商 - 从侧边栏中选择
- 开始聊天 - 输入您的信息并按回车键
- 管理对话 - 使用侧边栏来整理聊天记录
本地LLM设置
使用Ollama(推荐)
- 安装Ollama
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.ai/install.sh | sh- 运行Ollama
ollama serve- 添加模型
ollama pull phi3- 在Aether中进行配置
- 提供商类型:本地 - 终端/端点: http://localhost:11434/v1/chat/completions - 模型: phi3
使用 Docker
# Run Ollama in Docker
docker run -d -p 11434:11434 --name ollama ollama/ollama
# Pull a model
docker exec -it ollama ollama pull phi3🛠️ 开发
项目结构
Aether/
├── src/ # Next.js frontend
│ ├── app/ # App Router pages
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utilities and types
│ └── store/ # State management
├── src-tauri/ # Tauri backend
│ ├── src/ # Rust source code
│ └── Cargo.toml # Rust dependencies
├── public/ # Static assets
└── docs/ # Documentation可用脚本
# Development
npm run dev # Next.js dev server
npm run tauri:dev # Tauri development
npm run tauri:build # Build desktop app
# Production
npm run build # Build web version
npm run start # Start production server
# Utilities
npm run lint # Run ESLint
npm run tauri # Tauri CLI commands添加新的大型语言模型(LLM)提供商
- 创建提供者结构 在
src-tauri/src/llm/ - 实现 LLMProvider 特性(或接口)
- 添加到工厂 在
src-tauri/src/llm/factory.rs - 更新前端类型 在
src/lib/types.ts
示例:
// src-tauri/src/llm/custom.rs
pub struct CustomProvider {
client: Client,
api_key: String,
endpoint: String,
}
#[async_trait]
impl LLMProvider for CustomProvider {
async fn stream_chat_completion(
&self,
messages: Vec,
channel: Channel,
) -> Result {
// Implementation here
}
}🔒 安全
- API密钥 存储在操作系统密钥环中(macOS上的密钥链,Windows上的凭据管理器)
- 无网络调用 来自前端的所有API调用都通过Tauri进行
- 安全进程间通信(Secure IPC) - Tauri 内置的安全模型
- 本地存储 - 默认情况下,对话存储在本地
🐛 故障排除
常见问题
应用程序无法启动
# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm installTauri 构建失败
# Update Rust
rustup update
# Clean Tauri cache
npm run tauri build -- --verbose本地LLM无法连接
# Check if Ollama is running
curl http://localhost:11434/api/tags
# Check Docker container
docker ps | grep ollamaGitHub Actions 构建失败
# Ensure Node.js 20+ is used
# The workflows are configured to use Node.js 20.x
# Check the workflow files in .github/workflows/Node.js版本问题
# Next.js 16 requires Node.js >=20.9.0
# Update your Node.js version:
nvm install 20
nvm use 20调试模式
启用调试日志记录:
RUST_LOG=debug npm run tauri:dev🤝 贡献(或“参与贡献”)
我们欢迎投稿!请参阅我们的 贡献指南 详情如下。
开发环境设置
- 为仓库创建分支(或:克隆仓库)
- 创建一个特性分支:
git checkout -b feature/amazing-feature - 进行你的更改
- 运行测试:
npm run lint - 提交更改:
git commit -m 'Add amazing feature' - 推送到分支:
git push origin feature/amazing-feature - 提交一个拉取请求
📄 许可证
此项目遵循MIT许可协议 - 详见 许可证 文件中有关于详情。
👨💻 作者与开发者
奈伊姆·伊斯兰 - 全栈开发者及Aether的创造者
利用现代网络技术开发创新的跨平台应用程序。热衷于构建安全、高效且用户友好的桌面应用程序。
- GitHub: @NoManNayeem(这个标签或用户名直接翻译为中文保持原样,因为它是特定的用户名或标签,没有直接的中文对应意义)
- 领英: 奈伊姆·伊斯兰
- 电子邮件: 联系
🙏 致谢
- Tauri(注:Tauri通常指金牛座,但在此上下文中可能是一个特定名称或品牌,根据具体语境翻译,若仅为天文学名词则译为“金牛座”) - 跨平台桌面框架
- Next.js - React 框架
- shadcn/ui(可译为“shadcn用户界面库”或根据具体语境简化为“shadcn UI”) - 美观的用户界面组件
- Rust(一种系统编程语言) - 系统编程语言
- Ollama(注:Ollama是一个开源的机器学习框架,用于训练和部署机器学习模型,此处直接音译,若需具体语境下的翻译,需结合上下文) - 本地LLM运行器
🌐 网站与文档
着陆页
- URL(统一资源定位符):
- 特点/特性响应式移动设计,配备互动演示
- 内容下载链接、安装指南、功能展示
- 自动部署在推送时自动更新
main分支
文档
- GitHub Actions(GitHub操作): - CI/CD 设置指南
- API 文档内联代码文档
- 贡献指南查看 CONTRIBUTING.md 翻译为中文是:“贡献指南.md” 或 “如何贡献.md”(具体翻译可能根据上下文略有调整,但基本意思是“关于如何贡献的指南/说明文件”) (即将推出)
📞 支持
- 问题:
- 讨论:
- 电子邮件: nayeem@示例.com(注:实际使用时,“example.com”应替换为真实的电子邮件域名)
______________________________________________________________________
Built with ❤️ by Nayeem Islam
Creating the future of cross-platform AI applications
