利里奥斯
概述和技术基础
LYRAI是一个用于多AI AGENT的模型上下文协议(MCP)操作系统,旨在通过使AI应用程序(如Claude Desktop和Cursor)能够与金融网络和区块链公共链交互来扩展其功能。该服务器提供了一系列先进的人工智能助手,包括区块链公链操作(SOLANA、ETH等)。-检索钱包地址、列出钱包余额、转账、部署智能合约、链上借贷、调用合约功能、管理代币)、金融科技市场分析和总结报告,以及教育部门的学习和培训系统。
在LYRAIOS的未来运营中,高级VIP功能将专门支持在solana上使用LYRAI进行支付,LYRAI的CA: A6MTWuHbXqjH3vYEfbs3mzvGThQtk5S12FjmdpVkpump欢迎观看我们的LYRA MCP-OS演示!
https://github.com/user-attachments/assets/479cad58-ce4b-4901-93ff-e60a98c477d4
核心创新与差异化价值
LYRAIOS旨在打造下一代AI Agent操作系统,在三个方面实现技术突破:
- 开放协议架构:开创性的模块化集成协议,支持即插即用第三方工具/服务,兼容多模式交互接口(API/插件/智能硬件),与传统框架相比,扩展性提高了80%+
- 多代理协作引擎:通过分布式任务编排系统突破单个代理的能力边界,实现动态多代理协作,支持企业级复杂工作流自动化和冲突解决
- 跨平台运行时环境:构建跨终端AI运行环境,实现从个人智能助理到企业数字员工的平滑迁移,适用于验证金融、医疗、智能制造等领域的多场景解决方案
有关详细的体系结构信息,请参阅 架构文档.
系统架构
LYRAIOS采用自上而下的分层架构设计,包括用户界面层、核心操作系统层、MCP集成层和外部服务层。
VS
用户界面层
用户界面层提供多种交互模式,允许用户与AI操作系统进行交互。
组件:
- Web用户界面:基于Streamlit,提供直观的用户界面
- 移动界面:移动适配接口,支持移动设备接入
- 命令行界面:命令行界面,适合开发人员和高级用户
- API客户端:提供API接口,支持第三方应用集成
核心操作系统层
核心操作系统层实现了人工智能操作系统的基本功能,包括进程管理、内存系统、I/O系统和安全控制。
组件:
- 流程管理
- 任务调度:人工智能任务的动态分配和调度 - 资源分配:优化人工智能资源使用 - 状态管理:维护AI进程状态
- 存储器系统
- 短期记忆:会话上下文维护 - 长期存储:持久知识存储 - 知识库:结构化知识管理
- I/O系统
- 多模式输入:处理文本、文件、API等。 - 结构化输出:生成格式化的输出结果 - 事件处理:响应系统事件
- 安全和访问控制
- 身份验证:用户身份验证 - 授权:权限管理 - 速率限制:防止滥用
MCP集成层
MCP集成层是系统的核心创新,通过模型上下文协议实现与外部服务的无缝集成。
组件:
- MCP客户端
- 协议处理程序:处理MCP协议消息 - 连接管理:管理与MCP服务器的连接 - 消息路由:将消息路由到适当的处理器
- 工具注册表
- 工具注册:注册外部工具和服务 - 能力发现:发现工具能力 - 清单验证:验证工具清单
- 工具执行器
- 执行环境:为工具执行提供执行环境 - 资源管理:管理工具执行所使用的资源 - 错误处理:处理工具执行过程中的错误
- 适配器
- REST API适配器:连接到REST API服务 - Python插件适配器:集成Python插件 - 自定义适配器:支持其他类型的集成
外部服务层
外部服务层包括通过MCP协议集成的各种服务,这些服务充当提供功能的MCP服务器。
组件:
- 文件系统:提供文件读写功能
- 数据库:提供数据存储和查询功能
- 网页搜索:提供互联网搜索功能
- 代码编辑器:提供代码编辑和执行功能
- 浏览器:提供网页浏览和交互功能
- 定制服务:支持其他定制服务集成
工具集成协议
工具集成协议是LYRAIOS开放协议架构的关键组成部分。它提供了一种标准化的方式,将第三方工具和服务集成到LYRAIOS生态系统中。
主要特点
- 标准化工具清单:使用描述功能、参数和要求的JSON模式定义工具
- 可插拔适配器系统:支持不同的工具类型(REST API、Python插件等)
- 安全执行环境:工具在具有资源限制和权限检查的受控环境中运行
- 版本控制和依赖关系管理:跟踪工具版本和依赖关系
- 监控和日志记录:全面记录工具执行情况
工具集成入门
- 定义工具清单:创建一个描述工具功能的JSON文件
- 工具:根据协议开发工具功能
- 注册工具:使用API向LYRAIOS注册您的工具
- 使用工具:您的工具现在可供LYRAIOS代理使用
有关示例和详细文档,请参阅 工具集成指南.
MCP协议概述
模型上下文协议(MCP)是一种用于连接LLM应用程序和集成的客户端-服务器架构协议。在MCP中:
- 主机 是启动连接的LLM应用程序(如Claude Desktop或IDE)
- 客户 与主机应用程序中的服务器保持1:1连接
- 服务器 为客户端提供上下文、工具和提示
MCP功能支持
LYRAIOS支持以下MCP功能:
- 资源:允许附加本地文件和数据
- 鼓励:支持提示模板
- 工具:集成以执行命令和脚本
- 采样:支持采样功能(计划中)
- 根:支持根目录功能(计划中)
数据流
用户请求处理流程
- 用户通过接口层发送请求
- 核心操作系统层接收请求并对其进行处理
- 如果需要外部工具支持,则将请求转发给MCP集成层
- MCP客户端连接到相应的MCP服务器
- 外部服务执行请求并返回结果
- 结果通过每一层返回给用户
工具执行流程
- AI Agent确定需要特定的工具
- 工具注册表查找工具定义和功能
- 工具执行器准备执行环境
- 适配器将请求转换为工具可理解的格式
- 工具执行并返回结果
- 结果返回给AI Agent进行处理
概述
LYRAIOS(基于LLM的Your Reliable AI操作系统)是一个使用Streamlit构建的高级AI助手平台,旨在作为AI应用程序的操作系统。
核心操作系统功能
- 人工智能流程管理:
- 动态任务分配和调度 - 多助理协调与沟通 - 资源优化和负载平衡 - 状态管理和持久性
- AI记忆系统:
- 短期对话记忆 - 长期矢量数据库存储 - 跨会话上下文保存 - 知识库集成
- AI I/O系统:
- 多模式输入处理(文本、文件、API) - 结构化输出格式 - 流处理能力 - 事件驱动架构
内置工具
- 计算器:高级数学运算,包括阶乘和素数检查
- 网页搜索:集成DuckDuckGo搜索,可定制结果限制
- 财务分析:
- 实时股价跟踪 - 公司信息检索 - 分析师建议 - 财经新闻聚合
- 文件管理:读取、写入和列出工作区中的文件
- 研究工具:与Exa整合,实现全面的研究能力
专业助理团队
- Python助手:
- 实时Python代码执行 - 流式图表功能 - 使用pip进行包管理
- 研究助理:
- 纽约时报风格的报告生成 - 自动化网络研究 - 结构化输出格式 - 来源引用和参考文献管理
技术架构
- FastAPI 后端:带有自动文档的RESTful API
- 流线型前端:交互式web界面
- 矢量数据库:PGVector用于高效的知识存储和检索
- PostgreSQL存储:对话和助手状态的持久存储
- Docker支持:用于开发和生产的集装箱化部署
系统功能
- 知识管理:
- PDF文档处理 - 网站内容集成 - 基于向量的语义搜索 - 知识图谱构建
- 过程控制:
- 任务调度和优先级 - 资源分配 - 错误处理和恢复 - 性能监控
- 安全和访问控制:
- API密钥管理 - 认证与授权 - 限速和定额管理 - 安全的数据存储
安全考虑
传输的安全性
- 使用TLS进行远程连接
- 验证连接源
- 需要时实施身份验证
消息验证
- 验证所有传入消息
- 清洁输入
- 检查邮件大小限制
- 验证JSON-RPC格式
资源保护
- 实施访问控制
- 验证资源路径
- 监控资源使用情况
- 限制请求率
错误处理
- 不要泄露敏感信息
- 记录与安全相关的错误
- 实施适当的清理
- 处理DoS场景
路线图📍
核心平台
- ✅ 基本AI助手框架
- ✅ 流线型Web界面
- ✅ FastAPI 后端
- ✅ 数据库集成(SQLite/PPostgreSQL)
- ✅ OpenAI集成
- ✅ Docker容器化
- ✅ 环境配置系统
- 🔄 多模态输入处理(部分)
- 🚧 高级错误处理和恢复
- 🚧 性能监控仪表板
- 📅 分布式任务队列
- 📅 水平缩放支持
- 📅 自定义插件架构
人工智能流程管理
- ✅ 基本任务分配
- ✅ 多助理团队结构
- ✅ 状态管理和持久性
- 🔄 动态任务调度(部分)
- 🚧 资源优化
- 🚧 负载平衡
- 📅 过程可视化
- 📅 工作流设计器
- 📅 高级过程分析
存储器系统
- ✅ 短期会话记忆
- ✅ 基础矢量数据库集成
- ✅ 会话上下文保存
- 🔄 知识库集成(部分)
- 🚧 内存优化算法
- 🚧 跨课程学习
- 📅 分层内存架构
- 📅 遗忘机制
- 📅 内存压缩
工具和集成
- ✅ 计算器
- ✅ 网络搜索(DuckDuckGo)
- ✅ 财务分析工具
- ✅ 文件管理
- ✅ 研究工具(Exa)
- ✅ PDF文档处理
- ✅ 网站内容集成
- 🔄 Python代码执行(部分)
- 🚧 高级数据可视化
- 🚧 外部API集成框架
- 📅 图像生成与处理
- 📅 音频处理
- 📅 视频分析
安全和访问控制
- ✅ API基本密钥管理
- ✅ 简单身份验证
- 🔄 授权系统(部分)
- 🚧 速率限制
- 🚧 配额管理
- 📅 基于角色的访问控制
- 📅 审计日志
- 📅 合规报告
开放协议架构
- 🔄 模块接口标准(部分)
- 🚧 第三方工具集成协议
- 🚧 服务发现机制
- 📅 通用连接器框架
- 📅 方案验证系统
- 📅 遗留系统的兼容层
多Agent协作
- ✅ 基本团队结构
- 🔄 代理间通信(部分)
- 🚧 任务分解引擎
- 🚧 冲突解决系统
- 📅 协同规划
- 📅 突发行为分析
- 📅 代理专业化框架
与跨平台支持
- ✅ web界面
- 🔄 API访问(部分)
- 🚧 移动响应能力
- 📅 桌面应用程序
- 📅 CLI接口
- 📅 物联网设备集成
- 📅 语音助手集成
传说
- ✅ 完成
- 🔄 部分执行
- 🚧 在开发中
- 📅 计划的
设置工作区
# Clone the repo
git clone https://github.com/GalaxyLLMCI/lyraios
cd lyraios
# Create + activate a virtual env
python3 -m venv aienv
source aienv/bin/activate
# Install phidata
pip install 'phidata[aws]'
# Setup workspace
phi ws setup
# Copy example secrets
cp workspace/example_secrets workspace/secrets
# Create .env file
cp example.env .env
# Run Lyraios locally
phi ws up
# Open [localhost:8501](http://localhost:8501) to view the Streamlit App.
# Stop Lyraios locally
phi ws down在本地运行Lyraios
- 安装
- 导出凭据
我们使用gpt-4o作为LLM,因此导出您的OpenAI API密钥
export OPENAI_API_KEY=sk-***
# To use Exa for research, export your EXA_API_KEY (get it from [here](https://dashboard.exa.ai/api-keys))
export EXA_API_KEY=xxx
# To use Gemini for research, export your GOOGLE_API_KEY (get it from [here](https://console.cloud.google.com/apis/api/generativelanguage.googleapis.com/overview?project=lyraios))
export GOOGLE_API_KEY=xxx
# OR set them in the `.env` file
OPENAI_API_KEY=xxx
EXA_API_KEY=xxx
GOOGLE_API_KEY=xxx
# Start the workspace using:
phi ws up
# Open [localhost:8501](http://localhost:8501) to view the Streamlit App.
# Stop the workspace using:
phi ws downAPI文档
REST API端点
API助理
POST /api/v1/assistant/chat
- 使用AI助手处理聊天消息 - 支持上下文感知对话 - 返回包含工具使用信息的结构化响应
健康检查
GET /api/v1/health
- 监控系统健康状态 - 返回版本和状态信息
API文档
- API交互式文档可在
/docs - 重新记录替代文件
/redoc - OpenAPI规范
/openapi.json
开发指南
项目结构
lyraios/
├── ai/ # AI core functionality
│ ├── assistants.py # Assistant implementations
│ ├── llm/ # LLM integration
│ └── tools/ # AI tools implementations
├── app/ # Main application
│ ├── components/ # UI components
│ ├── config/ # Application configuration
│ ├── db/ # Database models and storage
│ ├── styles/ # UI styling
│ ├── utils/ # Utility functions
│ └── main.py # Main application entry point
├── assets/ # Static assets like images
├── data/ # Data storage
├── tests/ # Test suite
├── workspace/ # Workspace configuration
│ ├── dev_resources/ # Development resources
│ ├── settings.py # Workspace settings
│ └── secrets/ # Secret configuration (gitignored)
├── docker/ # Docker configuration
├── scripts/ # Utility scripts
├── .env # Environment variables
├── requirements.txt # Python dependencies
└── README.md # Project documentation环境配置
- 环境变量设置
# Copy the example .env file
cp example.env .env
# Required environment variables
EXA_API_KEY=your_exa_api_key_here # Get from https://dashboard.exa.ai/api-keys
OPENAI_API_KEY=your_openai_api_key_here # Get from OpenAI dashboard
OPENAI_BASE_URL=your_openai_base_url # Optional: Custom OpenAI API endpoint
# OpenAI Model Configuration
OPENAI_CHAT_MODEL=gpt-4-turbo-preview # Default chat model
OPENAI_VISION_MODEL=gpt-4-vision-preview # Model for vision tasks
OPENAI_EMBEDDING_MODEL=text-embedding-3-small # Model for embeddings
# Optional configuration
STREAMLIT_SERVER_PORT=8501 # Default Streamlit port
API_SERVER_PORT=8000 # Default FastAPI port- OpenAI配置示例
# Standard OpenAI API
OPENAI_API_KEY=sk-***
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_CHAT_MODEL=gpt-4-turbo-preview
# Azure OpenAI
OPENAI_API_KEY=your_azure_api_key
OPENAI_BASE_URL=https://your-resource.openai.azure.com/openai/deployments/your-deployment
OPENAI_CHAT_MODEL=gpt-4
# Other OpenAI API providers
OPENAI_API_KEY=your_api_key
OPENAI_BASE_URL=https://your-api-endpoint.com/v1
OPENAI_CHAT_MODEL=your-model-name- 流光灯配置
# Create Streamlit config directory
mkdir -p ~/.streamlit
# Create config.toml to disable usage statistics (optional)
cat > ~/.streamlit/config.toml << EOL
[browser]
gatherUsageStats = false
EOL开发脚本
该项目包括方便的开发脚本来管理应用程序:
- 使用dev.py脚本
# Run both frontend and backend
python -m scripts.dev run
# Run only frontend
python -m scripts.dev run --no-backend
# Run only backend
python -m scripts.dev run --no-frontend
# Run with custom ports
python -m scripts.dev run --frontend-port 8502 --backend-port 8001- 手动维修启动
# Start Streamlit frontend
streamlit run app/app.py
# Start FastAPI backend
uvicorn api.main:app --reload依赖关系管理
- 核心依赖关系
# Install production dependencies
pip install -r requirements.txt
# Install development dependencies
pip install -r requirements-dev.txt
# Install the project in editable mode
pip install -e .- 其他工具
# Install python-dotenv for environment management
pip install python-dotenv
# Install development tools
pip install black isort mypy pytest开发最佳实践
- 代码的风格
- 遵循PEP 8指南
- 使用类型提示
- 为函数和类编写文档字符串
- 使用黑色进行代码格式化
- 使用isort进行导入排序
- 测试
# Run tests
pytest
# Run tests with coverage
pytest --cov=app tests/- 预提交钩子
# Install pre-commit hooks
pre-commit install
# Run manually
pre-commit run --all-files部署指导
Docker部署
- 开发环境
# Build development image
docker build -f docker/Dockerfile.dev -t lyraios:dev .
# Run development container
docker-compose -f docker-compose.dev.yml up- 生产环境
# Build production image
docker build -f docker/Dockerfile.prod -t lyraios:prod .
# Run production container
docker-compose -f docker-compose.prod.yml up -d配置选项
- 环境变量
# Application Settings
DEBUG=false
LOG_LEVEL=INFO
ALLOWED_HOSTS=example.com,api.example.com
# AI Settings
AI_MODEL=gpt-4
AI_TEMPERATURE=0.7
AI_MAX_TOKENS=1000
# Database Settings
DATABASE_URL=postgresql://user:pass@localhost:5432/dbname- 缩放选项
- 通过以下方式配置工作进程
GUNICORN_WORKERS - 通过以下方式调整内存限制
MEMORY_LIMIT - 通过以下方式设置并发性
MAX_CONCURRENT_REQUESTS
监控与维护
- 健康检查
- 监视器
/health端点 - 通过Prometheus端点检查系统指标
- 查看登录
/var/log/lyraios/
- 备份与恢复
# Backup database
python scripts/backup_db.py
# Restore from backup
python scripts/restore_db.py --backup-file backup.sql- 故障排除
- 检查应用程序日志
- 验证环境变量
- 确保数据库连接
- 监控系统资源
数据库配置
该系统支持SQLite和PostgreSQL数据库:
- SQLite(默认)
# SQLite Configuration
DATABASE_TYPE=sqlite
DATABASE_PATH=data/lyraios.db- PostgreSQL
# PostgreSQL Configuration
DATABASE_TYPE=postgres
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=lyraios
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_password如果没有提供PostgreSQL配置,系统将自动使用SQLite。
贡献
我们欢迎捐款!请查看 贡献.md 文件以获取详细信息。
许可证
此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
