Files
Arch1Panel/skills/examples/example-usage.md
arch3rPro 1bf528acc8 feat: add AI-powered 1Panel app builder skill
- Add skill configuration for generating 1Panel app configs via AI
- Include templates for data.yml and docker-compose.yml
- Add utility scripts for app generation, icon download, and validation
- Provide reference examples and usage documentation
- Update .gitignore to exclude .trae directory
- Update README.md with skill usage instructions
2026-03-24 19:00:47 +08:00

4.1 KiB
Raw Blame History

使用示例

示例 1从 GitHub 项目生成

# 输入
./scripts/generate-app.sh https://github.com/alist-org/alist

# 输出
./apps/alist/v3.45.0/
├── data.yml
├── docker-compose.yml
├── logo.png
├── README.md
└── README_en.md

生成的 data.yml

name: AList
tags:
    - 实用工具
    - 云存储
title: AList - 文件列表程序
description: 支持多存储的文件列表程序和私人网盘
additionalProperties:
    key: alist
    name: AList
    tags:
        - Storage
        - Tool
    shortDescZh: 支持多存储的文件列表程序和私人网盘
    shortDescEn: Supporting multi-storage file listing program
    website: https://alist.nn.ci/
    github: https://github.com/alist-org/alist

生成的 docker-compose.yml

services:
  alist:
    container_name: ${CONTAINER_NAME}
    restart: always
    networks:
      - 1panel-network
    ports:
      - "${PANEL_APP_PORT_HTTP}:5244"
    volumes:
      - ./data/data:/opt/alist/data
    environment:
      - PUID=0
      - PGID=0
      - UMASK=022
    image: xhofe/alist:v3.45.0
    labels:
      createdBy: "Apps"
networks:
  1panel-network:
    external: true

示例 2从 docker run 命令生成

# 输入
./scripts/generate-app.sh "docker run -d --name=nginx -p 80:80 nginx:latest"

# 输出
./apps/nginx/latest/
├── data.yml
├── docker-compose.yml
├── logo.png
├── README.md
└── README_en.md

生成的 docker-compose.yml

services:
  nginx:
    container_name: ${CONTAINER_NAME}
    restart: always
    networks:
      - 1panel-network
    ports:
      - "${PANEL_APP_PORT_HTTP}:80"
    volumes:
      - ./data/data:/app/data
    environment:
      - PUID=0
      - PGID=0
      - UMASK=022
    image: nginx:latest
    labels:
      createdBy: "Apps"
networks:
  1panel-network:
    external: true

示例 3从 docker-compose 文件链接生成

# 输入
./scripts/generate-app.sh https://raw.githubusercontent.com/portainer/portainer/develop/docker-compose.yml

# 输出
./apps/portainer/latest/
├── data.yml
├── docker-compose.yml
├── logo.png
├── README.md
└── README_en.md

示例 4从本地文件生成

# 创建测试文件
cat > /tmp/test-compose.yml << 'EOF'
version: '3'
services:
  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"
    volumes:
      - redis-data:/data

volumes:
  redis-data:
EOF

# 运行脚本
./scripts/generate-app.sh /tmp/test-compose.yml ./my-apps

# 输出
./my-apps/redis/7-alpine/
├── data.yml
├── docker-compose.yml
├── logo.png
├── README.md
└── README_en.md

示例 5单独下载图标

# 下载 Redis 图标
./scripts/download-icon.sh redis ./redis-logo.png 200

# 输出
✓ 从 Simple Icons 下载成功
✓ 图标下载完成: ./redis-logo.png

示例 6自定义输出目录

# 输出到指定目录
./scripts/generate-app.sh https://github.com/portainer/portainer ~/my-1panel-apps

# 输出
/Users/username/my-1panel-apps/portainer/latest/
├── data.yml
├── docker-compose.yml
├── logo.png
├── README.md
└── README_en.md

完整工作流程示例

# 1. 生成应用配置
./scripts/generate-app.sh https://github.com/alist-org/alist

# 2. 查看生成的文件
cd ./apps/alist/v3.45.0
cat data.yml
cat docker-compose.yml

# 3. 手动优化配置
# - 补充应用描述
# - 添加合适的标签
# - 替换 logo.png

# 4. 测试 docker-compose
docker-compose up -d

# 5. 确认无误后,提交到应用商店
git add .
git commit -m "feat: add alist app"
git push

故障排除

问题:图标下载失败

# 手动下载图标
# 访问https://dashboardicons.com/icons?q=alist
# 下载后保存为 logo.png

问题:端口冲突

# 修改 docker-compose.yml 中的端口映射
ports:
  - "${PANEL_APP_PORT_HTTP}:5244"  # 修改此处

问题:镜像版本不对

# 手动编辑 docker-compose.yml
image: xhofe/alist:v3.45.0  # 修改版本号