Skip to content

Latest commit

 

History

History
389 lines (275 loc) · 17.1 KB

File metadata and controls

389 lines (275 loc) · 17.1 KB

LocalAIStack 功能列表

概述

本文档枚举了 LocalAIStack 文档中描述的所有功能,按实现阶段优先级组织。

当前项目状态: 已完成基础与控制层脚手架,进入持续开发阶段。

图例: ✅ 已完成 | 🟡 进行中 | ⏳ 未开始


实现阶段

第0阶段:基础设施(必须首先完成)

状态: ✅ 已完成

这些功能构成了所有其他功能的基础。在构建任何其他功能之前必须先实现它们。

优先级 功能 描述 依赖项
P0 ✅ 项目结构与构建系统 初始化仓库结构、CI/CD、打包系统
P0 ✅ 测试框架与质量门槛 单元/集成/回归测试体系,覆盖率与基准门槛 项目结构与构建系统
P0 ✅ 兼容性矩阵与验收标准 OS/GPU/驱动/运行时兼容矩阵与验收标准 项目结构与构建系统
P0 ✅ 配置管理 所有组件的集中配置系统
P0 ✅ 日志与监控 结构化日志、指标收集、健康检查
P0 ✅ 核心控制层框架 硬件检测、策略评估、状态管理的基础框架 配置、日志

第1阶段:控制层核心

状态: 🟡 进行中

管理硬件检测、策略评估和系统状态的核心控制逻辑。

优先级 功能 描述 依赖项
P0 ✅ 硬件检测器 检测并规范化 CPU、GPU、内存、存储属性 第0阶段
P0 ✅ 硬件配置文件规范化 将原始硬件数据转换为标准化配置文件 硬件检测器
P0 ✅ 能力策略引擎 声明式策略评估(分层定义、约束条件) 硬件配置文件
P0 ✅ 策略定义格式 硬件能力策略的 YAML 架构
P1 ✅ 默认策略集 预定义的 Tier 1/2/3 策略 策略引擎
P1 用户覆盖机制 允许显式能力覆盖(可追踪、可逆) 策略引擎
P0 ✅ 状态管理器 持久化系统状态跟踪(已安装模块、版本、状态) 第0阶段
P1 ✅ 状态协调 检测并修复状态不一致 状态管理器
P1 ✅ 版本锁定与回滚 跟踪版本并支持回滚 状态管理器

第2阶段:模块系统与注册中心

状态: 🟡 进行中

模块系统定义了软件的打包、发现和管理方式。

优先级 功能 描述 依赖项
P0 ✅ 模块清单架构 模块定义的 YAML 架构 第0阶段
P0 ✅ 模块注册中心 模块清单的仓库 第0阶段
P0 ✅ 模块生命周期状态 状态机:可用 → 已解析 → 已安装 → 运行中 → 已停止 状态管理器
P1 ✅ 依赖解析器 解析模块依赖、冲突、兼容性 策略引擎
P1 软件解析器 确定可安装模块、兼容版本 依赖解析器
P1 ✅ 验证与完整性检查 验证模块清单、校验和、签名 模块注册中心
P2 模块扩展 API 添加自定义模块类型的 API 模块注册中心

第3阶段:运行时层

状态: 🟡 进行中

容器和原生进程的运行时执行引擎。

优先级 功能 描述 依赖项
P0 ✅ 容器运行时集成 用于基于容器执行的 Docker/Podman 集成 第0阶段
P0 ✅ 原生执行管理器 原生二进制文件的生命周期管理 第0阶段
P1 ✅ 执行模式选择 根据策略和偏好选择容器或原生执行 策略引擎
P1 资源隔离 强制资源限制、GPU 访问控制 容器运行时
P1 ✅ 进程生命周期管理 启动/停止/重启进程,处理信号 容器/原生运行时
P1 ✅ 日志收集与存储 从所有运行时捕获并持久化日志 日志
P0 ✅ 健康报告 运行模块的定期健康检查 运行时管理器
P2 混合执行 容器+原生执行的组合模式 执行模式选择

第4阶段:系统与环境管理

状态: ⏳ 未开始

系统级包、驱动程序和编程语言环境。

优先级 功能 描述 依赖项
P1 操作系统检测与验证 检测 Ubuntu 22.04/24.04,验证兼容性 硬件检测器
P1 系统包管理器集成 用于系统包的 apt/dnf 集成 状态管理器
P1 GPU 驱动程序管理 检测、安装、升级 GPU 驱动程序 硬件检测器
P1 CUDA 兼容层 管理 CUDA 版本和兼容性 GPU 驱动程序管理
P1 安全升级机制 支持回滚的原子升级 状态管理器
P2 系统镜像配置 用于离线/本地安装的包镜像管理 系统包管理器
P2 Python 环境管理器 带隔离 venv 的多版本 Python 状态管理器
P2 Java 环境管理器 带版本切换的 OpenJDK 8/11/17 状态管理器
P2 Node.js 环境管理器 带版本管理的 LTS Node.js 状态管理器
P2 Ruby/PHP/Rust 环境管理器 支持其他语言运行时 状态管理器

第5阶段:AI 推理运行时

状态: ⏳ 未开始

由 LocalAIStack 管理的核心 AI 推理引擎。

优先级 功能 描述 依赖项
P0 Ollama 运行时模块 Ollama 安装、生命周期、集成 运行时层
P0 llama.cpp 运行时模块 llama.cpp 安装、原生执行 运行时层
P1 vLLM 运行时模块 vLLM 安装、多 GPU 支持 运行时层
P1 SGLang 运行时模块 SGLang 安装、高吞吐量推理 运行时层
P2 OpenVINO 运行时模块 OpenVINO 集成(Intel 专用) 运行时层
P1 最小模型管理 支持通过运行时或简单 CLI 下载/管理模型;明确模型目录布局(与第9阶段完整模型管理对齐) 状态管理器 + 运行时层
P2 运行时健康管理 监控推理引擎健康状态、自动重启 健康报告
P2 运行时性能分析 从运行时收集性能指标 运行时层

第6阶段:AI 开发框架

状态: ⏳ 未开始

与运行时和 CUDA 对齐的 AI/ML 框架。

优先级 功能 描述 依赖项
P1 PyTorch 框架模块 带对齐 CUDA 的 PyTorch 安装 推理运行时
P2 TensorFlow 框架模块 TensorFlow 安装(可选) 推理运行时
P1 Hugging Face Transformers HF Transformers 集成 PyTorch
P1 LangChain 框架模块 LangChain 安装和配置 Python 环境
P1 LangGraph 框架模块 LangGraph 安装和配置 LangChain
P2 框架版本对齐 确保框架版本与运行时/CUDA 匹配 策略引擎

第7阶段:数据与基础设施服务

状态: ⏳ 未开始

用于 AI 开发和 RAG 工作流的可选本地服务。

优先级 功能 描述 依赖项
P1 PostgreSQL 服务模块 带持久化数据、启动/停止控制的 Postgres 运行时层
P1 MySQL 服务模块 带持久化数据、启动/停止控制的 MySQL 运行时层
P1 Redis 服务模块 Redis 缓存和消息代理 运行时层
P2 ClickHouse 服务模块 ClickHouse 分析数据库 运行时层
P1 Nginx 服务模块 反向代理和 Web 服务器 运行时层
P1 服务数据持久化 所有服务的持久化数据目录 运行时层
P2 服务网络模式 仅本地或可网络访问的服务暴露 运行时层

第8阶段:AI 应用

状态: ⏳ 未开始

作为托管服务部署的精选开源 AI 应用。

优先级 功能 描述 依赖项
P1 RAGFlow 应用模块 RAGFlow 安装、依赖隔离 数据服务
P1 ComfyUI 应用模块 ComfyUI 安装、端口管理 运行时层
P1 open-deep-research 应用模块 开放深度研究工具集成 运行时层
P2 应用依赖隔离 将应用依赖与系统隔离 运行时层
P2 应用端口管理 自动端口分配和冲突解决 运行时层
P2 应用统一端点 所有应用的集中访问端点 接口层
P2 应用清单系统 可扩展的应用清单格式 模块注册中心

第9阶段:模型管理

状态: ⏳ 未开始

用于搜索、下载和验证的统一模型管理层。

优先级 功能 描述 依赖项
P1 模型元数据存储 跟踪模型元数据(大小、格式、要求) 状态管理器
P1 模型存储布局 按提供商/格式组织的模型存储 状态管理器
P1 Hugging Face 集成 从 Hugging Face 搜索和下载 模型元数据
P2 ModelScope 集成 从 ModelScope 搜索和下载 模型元数据
P1 GGUF 格式支持 下载并验证 GGUF 模型 模型元数据
P1 safetensors 格式支持 下载并验证 safetensors 模型 模型元数据
P1 模型完整性验证 校验和和签名验证 模型元数据
P1 硬件兼容性检查 验证模型要求与硬件匹配 策略引擎
P2 模型缓存与去重 避免重复下载模型 模型存储

第10阶段:开发者工具

状态: ⏳ 未开始

用于 AI 开发工作流的集成开发工具。

优先级 功能 描述 依赖项
P2 VS Code Server 模块 VS Code 本地服务器模式集成 运行时层
P2 Aider 集成 Aider 代码助手集成 Python 环境
P2 OpenCode 集成 OpenCode AI 编程助手 运行时层
P2 RooCode 集成 RooCode AI 助手集成 运行时层
P2 工具集成框架 工具集成的统一框架 接口层

第11阶段:接口层

状态: 🟡 进行中

用于系统管理和交互的用户界面。

优先级 功能 描述 依赖项
P0 ✅ REST API 服务器 用于所有控制操作的 RESTful API 控制层
P0 ✅ CLI 框架 命令行界面框架 控制层
P0 认证与授权(RBAC/Token/本地用户) 接口层访问控制与身份管理 控制层、配置管理
P0 密钥/凭据管理(API Token/第三方凭据存储) 安全存储与轮换接口凭据 配置管理、控制层
P1 审计日志(记录敏感操作) 对关键操作进行可追溯审计 日志与监控、认证与授权
P1 Web UI 框架 管理界面的 Web 应用框架 REST API
P1 Web UI - 仪表板 显示系统状态的主仪表板 Web UI 框架
P1 Web UI - 模块管理 安装/卸载/升级模块 Web UI 框架
P1 Web UI - 服务控制 启动/停止服务、查看日志 Web UI 框架
P1 Web UI - 模型浏览器 浏览、搜索、下载模型 Web UI 框架
P2 Web UI - 资源监控 实时资源使用可视化 Web UI 框架
P2 ✅ CLI - 模块命令 模块生命周期的 CLI 命令 CLI 框架
P2 ✅ CLI - 服务命令 服务控制的 CLI 命令 CLI 框架
P2 ✅ CLI - 模型命令 模型管理的 CLI 命令 CLI 框架

第12阶段:国际化

状态: ⏳ 未开始

界面和文档的多语言支持。

优先级 功能 描述 依赖项
P2 UI 文本键系统 基于 UI 文本的提取 Web UI 框架
P2 语言解析 检测并设置用户语言偏好 Web UI 框架
P2 内置翻译 核心 UI 翻译(EN、ZH 等) UI 文本系统
P2 AI 辅助翻译 用于缺失语言的 AI 翻译(可选) Web UI 框架
P2 翻译缓存 本地缓存 AI 翻译 状态管理器

第13阶段:高级功能

状态: ⏳ 未开始

基于核心功能构建的高级功能。

优先级 功能 描述 依赖项
P2 离线模式 完全离线操作支持(无外部依赖) 所有核心阶段
P2 多节点支持 可选的多节点集群管理 控制层
P2 高级备份/恢复 增量备份、跨主机恢复、加密与校验 基础备份/恢复
P2 配置导出/导入 系统间配置共享 配置管理
P2 自动更新 带安全检查的自动更新机制 升级机制
P2 遥测与分析 匿名使用和性能遥测 日志与监控
P3 插件系统 通过插件扩展功能 模块注册中心

可选集成:Intel AOG

状态: 📋 已研究(见 docs/aog_research.md

Intel AOG (AIPC Open Gateway) 是一个可为 LocalAIStack 提供额外价值的 API 网关。

优先级 功能 描述 预计工作量
P2 AOG 服务模块 AOG 作为托管服务(安装/启动/停止) 2-3 周
P1 API 网关层 通过 AOG 提供统一的 OpenAI/Ollama 兼容 API 3-4 周
P2 llama.cpp 的 AOG 插件 AOG 的 llama.cpp 提供商 2-3 周
P2 vLLM 的 AOG 插件 AOG 的 vLLM 提供商 2-3 周
P2 SGLang 的 AOG 插件 AOG 的 SGLang 提供商 2-3 周
P2 混合云调度 通过 AOG 实现本地/云智能路由 3-4 周
P2 AOG 控制面板集成 将 AOG UI 集成到 LocalAIStack 2-3 周

理由: AOG 提供 API 网关抽象、OpenAI 兼容性和混合调度,补充了 LocalAIStack 的基础设施方法。此集成是可选的,但推荐。


推荐实现顺序

MVP(最小可行产品)- 约6-8周

专注于 Tier 2(≈30B)本地推理工作流:

  1. 第0阶段: 基础设施(1 周)
    • 说明: 测试框架与质量门槛、兼容性矩阵与验收标准需随 CI/CD 一起完成。
  2. 第1阶段: 控制层核心(2 周)
  3. 第2阶段: 模块系统(1 周)
  4. 第3阶段: 运行时层(1 周)
  5. 第5阶段: Ollama 和 llama.cpp(1 周)
  6. 第11阶段: 基础 CLI + REST API + 安全基线(认证与授权、密钥/凭据管理、审计日志)(1 周)
    • 理由: MVP 需要最小可用的访问控制、凭据保护与敏感操作可追溯性,避免“先暴露再补安全”的风险。
    • 依赖: 配置管理、日志与监控、控制层。

成果: 能够安装和管理具有硬件感知策略的 Ollama/llama.cpp。

v0.1 版本 - 约12-16周

添加全面的模块支持:

  1. 第6阶段: 核心 AI 框架(PyTorch、HF、LangChain)(2 周)
  2. 第7阶段: 核心数据服务(PostgreSQL、Redis)(2 周)
  3. 第9阶段: 模型管理(HF 集成)(2 周)
  4. 基础备份/恢复: 配置+状态导出、模型目录快照(1 周)
    • 依赖: 状态管理器、模型存储布局。
  5. 第11阶段: 基本 Web UI(2-4 周)

成果: 具有完整功能的本地 AI 开发环境和 Web UI。

v0.2 版本 - 约20-28周

扩展生态系统:

  1. 第5阶段: vLLM、SGLang 运行时(2-3 周)
  2. 第4阶段: 系统与环境管理(2-3 周)
  3. 第8阶段: 核心 AI 应用(RAGFlow、ComfyUI)(3-4 周)
  4. 第10阶段: 开发者工具(VS Code Server)(2-3 周)
  5. 第12阶段: 国际化(2-3 周)

成果: 带有集成应用和工具的综合本地 AI 工作站。

v1.0 版本 - 约32-40周

生产就绪:

  1. 第13阶段: 高级功能(4-6 周)
  2. 可选: AOG 集成(8-12 周)
  3. 测试、优化、文档(4-6 周)

成果: 稳定、生产就绪的本地 AI 基础设施平台。


优先级说明

优先级 含义 示例
P0 关键 - MVP 必备 硬件检测、运行时层
P1 高 - v0.1/v0.2 必需 核心运行时、Web UI、模型管理
P2 中 - v1.0 重要 可选运行时、额外工具、国际化
P3 低 - 锦上添花 插件系统、高级分析

说明

  1. 依赖关系: 某些功能对早期阶段或特定组件有依赖。这些在依赖项列中注明。

  2. 硬件分层重点: 初始开发应专注于 Tier 2(≈30B 推理)硬件能力,稍后添加 Tier 1 和 Tier 3 支持。

  3. Ubuntu 24.04 优先: Ubuntu 24.04 上提供完整的 OpenVINO 支持。Ubuntu 22.04 支持可能更有限。

  4. AOG 集成: Intel AOG 集成是可选的,但推荐。它提供 API 网关功能和混合本地/云调度,补充 LocalAIStack 的基础设施方法。详细分析见 docs/aog_research.md

  5. 迭代: 这些阶段是建议的实现顺序,但根据用户反馈、资源可用性和新出现的需求,实际优先级可能会发生变化。


相关文档


文档版本: 1.0 最后更新: 2026-01-23 状态: 草稿 - 待审核