一个为 AI 应用量身定制的 Linux 环境安装解决方案,通过 YAML 配置文件实现一键式自动化部署。本系统支持在不同的 Linux 环境(包括 Ubuntu、CentOS 等)下安装 AI 应用,主要处理不同环境下的路径差异和权限需求。
克隆仓库及安装依赖:
git clone https://cnb.cool/fuliai/aitools.git && cd aitools && bash aitools.sh
将获取到的配置文件复制到 aitools/configs 目录下,然后使用以下命令安装:
查找 configs 目录下的配置文件,使用预设环境安装应用:
# 安装comfyui 使用base环境
python -m installer install comfyui --env base
# 安装指定配置文件 使用github环境
python -m installer install --config configs/demo.yml -e github
3.安装comfyui插件: 安装comfyui-sonic 使用base环境
python -m installer install comfyui-sonic --env base
系统支持配置文件继承机制,可以通过 parent 字段指定父配置文件:
version: "1.0"
name: "comfyui-sonic"
description: "安装 ComfyUI Sonic 插件及工作流"
parent: "comfyui" # 指定父配置文件
install:
environments:
base:
# 只需要定义插件特定的配置
repo_name: "ComfyUI_Sonic"
plugin_repo: "https://github.com/smthemex/ComfyUI_Sonic.git"
父配置引用
parent 字段指定父配置文件变量引用语法
{parent.xxx} 语法引用父配置的值{parent.environments.base.venv_dir}配置合并规则
version: "1.0"
name: "comfyui"
install:
environments:
base:
base_dir: "/workspace"
venv_dir: "venv_confyui"
repo_name: "ComfyUI"
version: "1.0"
name: "comfyui-sonic"
parent: "comfyui"
install:
environments:
base:
repo_name: "ComfyUI_Sonic" # 覆盖特定配置
steps:
- name: "安装插件"
common:
- |
cd {parent.environments.base.base_dir}/{parent.environments.base.repo_name} # 引用父配置路径
配置分层
路径管理
环境配置
使用独立配置文件生成程序来生成配置文件:
configs/variables.md 了解可用变量configs/variables.md 提供了详细的变量说明和常用命令模板:
可用变量:
命令模板:
使用技巧:
version: "1.0"
name: "comfyui"
description: "Stable Diffusion 可视化工作流环境"
# 使用预设环境
environment: "ubuntu-a"
# 安装步骤
steps:
- name: "prepare"
description: "准备环境"
common:
- "uv venv {venv_dir} --python={python_ver}"
- ". {venv_dir}/bin/activate"
- "uv pip install --upgrade pip -i {pip_index}"
| 变量名 | 说明 | 示例 |
|---|---|---|
| {name} | 应用名称 | "comfyui" |
| {base_dir} | 安装目录 | "/home/user/ai_apps/comfyui" |
| {python_cmd} | Python 命令 | "python3" |
| {use_sudo} | 是否使用 sudo | "true" |
| {pip_index} | pip镜像源 | "https://pypi.org/simple" |
| {pip_timeout} | pip超时时间 | 60 |
| {pip_retries} | pip重试次数 | 3 |
| {venv_dir} | 虚拟环境目录 | "venv_confyui" |
| {python_ver} | Python 版本 | "3.12.9" |
| {app_repo} | 应用仓库地址 | "https://openi.pcl.ac.cn/niubi/ComfyUI.git" |
| {repo_name} | 仓库目录名 | "ComfyUI" |
| {parent.xxx} | 父配置引用 | "{parent.environments.base.venv_dir}" |
使用 --set 参数覆盖配置变量:
# 基础应用安装
python -m installer install comfyui --env ubuntu-a --set base_dir=/custom/path
# 插件安装(会自动继承父配置的设置)
python -m installer install comfyui-sonic --env ubuntu-a
安装过程的日志文件位于 logs 目录:
{app_name}_install.log: 安装过程日志{app_name}_commands.log: 所有执行命令的详细日志{app_name}_installer.log: 安装器运行日志配置错误:
错误: 配置文件必须包含 version 和 name 字段
环境错误:
错误: 环境 ubuntu-c 未在配置文件中定义
命令执行错误:
错误: 安装失败: 命令执行失败: Permission denied 命令: mkdir -p /opt/ai/test
installer/ ├── __init__.py ├── cli.py # 命令行入口 ├── core/ │ ├── config.py # 配置加载和验证 │ ├── installer.py # 安装流程控制 │ ├── executor.py # 命令执行器 │ └── logger.py # 日志管理 └── templates/ # 配置模板
core 目录下创建新模块cli.py 中添加新命令使用最小化测试配置验证功能:
python -m installer install --config configs/demo.yml --env ubuntu-a
安装失败如何继续?
如何在新环境中使用?
environments 部分添加新环境支持哪些 Python 版本?
如有问题或建议,请提交 Issue 或联系维护者。