AWPortrait-Z WebUI主题定制:CSS变量覆盖+渐变色系替换实操

张开发
2026/4/3 11:58:01 15 分钟阅读
AWPortrait-Z WebUI主题定制:CSS变量覆盖+渐变色系替换实操
AWPortrait-Z WebUI主题定制CSS变量覆盖渐变色系替换实操1. 引言为什么需要定制WebUI主题当你打开AWPortrait-Z的Web界面看到那个熟悉的紫蓝渐变标题栏时有没有想过“这个界面能不能换成我喜欢的颜色”或者“这个布局能不能调整得更顺手一些”AWPortrait-Z基于Z-Image构建的人像美化LoRA确实功能强大但默认的WebUI界面风格可能并不适合每个人的审美。也许你想要一个更符合自己品牌色调的界面或者只是单纯想换个心情。好消息是AWPortrait-Z的WebUI界面是完全可以自定义的而且方法比你想的要简单得多。今天我就带你一步步实操如何通过CSS变量覆盖和渐变色系替换把AWPortrait-Z的界面变成你想要的样子。不需要你是前端专家只需要会复制粘贴几行代码就能让整个界面焕然一新。2. 理解AWPortrait-Z的界面结构在开始动手之前我们先快速了解一下AWPortrait-Z的界面构成。这样你才知道要改哪里怎么改。2.1 界面布局概览AWPortrait-Z的WebUI采用了典型的卡片式设计主要分为几个区域┌─────────────────────────────────────────────────┐ │ AWPortrait-Z 人像生成 │ ← 标题区紫蓝渐变 ├─────────────────────────────────────────────────┤ │ webUI二次开发 by 科哥 │ ← 副标题区版权信息 ├──────────────────────┬──────────────────────────┤ │ 输入面板 │ 输出面板 │ │ - 提示词输入 │ - 生成结果图库 │ ← 主内容区左右双栏 │ - 参数预设按钮 │ - 状态信息 │ │ - 高级参数设置 │ │ │ - 生成按钮 │ │ ├──────────────────────┴──────────────────────────┤ │ 历史记录折叠面板 │ ← 历史记录区 └─────────────────────────────────────────────────┘2.2 默认配色方案默认的AWPortrait-Z界面使用了以下主要颜色标题区背景紫蓝渐变linear-gradient(135deg, #667eea 0%, #764ba2 100%)卡片背景白色#ffffff带轻微阴影按钮颜色紫色#667eea文字颜色深灰色#333333边框颜色浅灰色#e0e0e0这些颜色都是通过CSS变量定义的这就是我们可以轻松修改的原因。3. 准备工作找到CSS文件要修改界面样式首先需要找到存放样式的地方。AWPortrait-Z的样式文件通常位于以下几个位置之一3.1 定位样式文件WebUI根目录下的CSS文件cd /root/AWPortrait-Z find . -name *.css -o -name *.scss -o -name *.sass常见的样式文件位置./static/css/目录下./theme/目录下直接嵌入在HTML文件中的style标签快速定位方法如果你不确定样式文件在哪里可以打开浏览器开发者工具按F12打开开发者工具切换到元素Elements标签选中标题栏或其他元素在右侧样式Styles面板中查看应用的CSS规则点击CSS文件名可以查看完整文件3.2 备份原始文件重要提示在修改任何文件之前一定要先备份# 假设样式文件在 /root/AWPortrait-Z/static/css/main.css cp /root/AWPortrait-Z/static/css/main.css /root/AWPortrait-Z/static/css/main.css.backup # 或者整个目录备份 cp -r /root/AWPortrait-Z/static/css /root/AWPortrait-Z/static/css_backup这样即使修改出错也能随时恢复原状。4. CSS变量覆盖基础AWPortrait-Z的界面样式很可能使用了CSS自定义属性也就是CSS变量。这是一种现代CSS技术让我们可以像编程一样定义和使用颜色值。4.1 什么是CSS变量CSS变量让你可以在一个地方定义颜色、尺寸等值然后在其他地方重复使用。比如:root { --primary-color: #667eea; /* 定义主色调 */ --secondary-color: #764ba2; /* 定义次要色调 */ --background-color: #ffffff; /* 定义背景色 */ } .header { background-color: var(--primary-color); /* 使用变量 */ } .button { background-color: var(--primary-color); color: white; }这样做的最大好处是要修改整个界面的主色调只需要修改--primary-color这一个变量的值。4.2 查看AWPortrait-Z的CSS变量打开AWPortrait-Z的样式文件查找以--开头的属性名。你可能会看到类似这样的定义:root { --aw-primary: #667eea; --aw-secondary: #764ba2; --aw-gradient: linear-gradient(135deg, var(--aw-primary) 0%, var(--aw-secondary) 100%); --aw-bg: #ffffff; --aw-text: #333333; --aw-border: #e0e0e0; --aw-card-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); }这些就是我们可以修改的变量。如果没有找到这样的定义说明样式可能没有使用CSS变量那我们就要用其他方法。5. 方法一直接覆盖CSS变量推荐这是最简单、最安全的方法。我们不需要修改原始CSS文件只需要在页面加载后注入新的样式。5.1 创建自定义样式文件在AWPortrait-Z目录下创建一个新的CSS文件cd /root/AWPortrait-Z mkdir -p custom_styles nano custom_styles/awportrait-custom.css5.2 编写覆盖样式在awportrait-custom.css文件中添加以下内容/* AWPortrait-Z 自定义主题 - 深色科技风 */ /* 覆盖根元素的CSS变量 */ :root { /* 主色调 - 深蓝色系 */ --aw-primary: #1e3a8a; --aw-secondary: #0ea5e9; /* 渐变色背景 */ --aw-gradient: linear-gradient(135deg, var(--aw-primary) 0%, var(--aw-secondary) 100%); /* 背景色 - 深色主题 */ --aw-bg: #0f172a; --aw-card-bg: #1e293b; /* 文字颜色 */ --aw-text: #f8fafc; --aw-text-secondary: #94a3b8; /* 边框和阴影 */ --aw-border: #334155; --aw-card-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); /* 按钮颜色 */ --aw-button-bg: var(--aw-primary); --aw-button-hover: #1d4ed8; /* 成功/警告/错误颜色 */ --aw-success: #10b981; --aw-warning: #f59e0b; --aw-error: #ef4444; } /* 应用新的背景色 */ body { background-color: var(--aw-bg) !important; color: var(--aw-text) !important; } /* 标题栏样式 */ .header, .gradio-header { background: var(--aw-gradient) !important; color: white !important; border-bottom: 2px solid var(--aw-border) !important; } /* 卡片样式 */ .gradio-container .card, .gradio-box { background-color: var(--aw-card-bg) !important; border: 1px solid var(--aw-border) !important; box-shadow: var(--aw-card-shadow) !important; color: var(--aw-text) !important; } /* 输入框样式 */ textarea, input[typetext], input[typenumber], select { background-color: #1e293b !important; border: 1px solid var(--aw-border) !important; color: var(--aw-text) !important; } textarea:focus, input[typetext]:focus, input[typenumber]:focus { border-color: var(--aw-primary) !important; box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.2) !important; } /* 按钮样式 */ button { background-color: var(--aw-button-bg) !important; color: white !important; border: none !important; transition: background-color 0.2s ease !important; } button:hover { background-color: var(--aw-button-hover) !important; } /* 生成按钮特殊样式 */ button.primary { background: var(--aw-gradient) !important; font-weight: bold !important; } /* 滑块样式 */ input[typerange] { accent-color: var(--aw-primary) !important; } /* 折叠面板样式 */ details { border: 1px solid var(--aw-border) !important; background-color: var(--aw-card-bg) !important; } details summary { color: var(--aw-text) !important; } /* 状态信息样式 */ .status-box { background-color: rgba(30, 58, 138, 0.1) !important; border-left: 4px solid var(--aw-primary) !important; color: var(--aw-text-secondary) !important; } /* 历史记录缩略图容器 */ .thumbnail-container { border: 1px solid var(--aw-border) !important; background-color: #1e293b !important; }5.3 应用到WebUI有几种方法可以将自定义样式应用到AWPortrait-Z方法A修改HTML模板如果允许找到WebUI的HTML模板文件通常是index.html或类似文件在head部分添加link relstylesheet href/filecustom_styles/awportrait-custom.css方法B通过浏览器插件注入临时方案如果你不想修改服务器文件可以使用浏览器插件如Stylus来注入CSS安装Stylus浏览器插件点击插件图标选择为此网站编写新样式将上面的CSS代码粘贴进去保存并启用方法C直接修改主CSS文件不推荐如果找不到其他方法可以尝试在主CSS文件末尾添加自定义样式cat custom_styles/awportrait-custom.css /root/AWPortrait-Z/static/css/main.css6. 方法二渐变色系替换实操现在让我们重点看看如何替换那个标志性的紫蓝渐变。渐变不仅仅是颜色变化还涉及角度、颜色停靠点等参数。6.1 理解默认渐变默认的标题栏渐变是background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);这表示linear-gradient线性渐变135deg渐变角度从左上到右下#667eea 0%起始颜色是紫色在0%位置#764ba2 100%结束颜色是蓝紫色在100%位置6.2 创建自己的渐变色系这里我提供几个不同风格的渐变色系方案你可以直接使用或修改方案1深色科技蓝--aw-gradient: linear-gradient(135deg, #0f172a 0%, #1e40af 50%, #3b82f6 100%);方案2温暖橙红--aw-gradient: linear-gradient(135deg, #dc2626 0%, #ea580c 50%, #f59e0b 100%);方案3自然森林绿--aw-gradient: linear-gradient(135deg, #065f46 0%, #059669 50%, #10b981 100%);方案4柔和紫粉--aw-gradient: linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #d946ef 100%);方案5单色深色系--aw-gradient: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);6.3 渐变角度调整除了颜色渐变角度也会影响视觉效果/* 水平渐变从左到右 */ --aw-gradient: linear-gradient(90deg, #667eea 0%, #764ba2 100%); /* 垂直渐变从上到下 */ --aw-gradient: linear-gradient(180deg, #667eea 0%, #764ba2 100%); /* 对角线渐变从左上到右下*/ --aw-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%); /* 径向渐变圆形扩散 */ --aw-gradient: radial-gradient(circle at center, #667eea 0%, #764ba2 100%);6.4 多颜色停靠点你可以在渐变中添加多个颜色停靠点创建更丰富的效果/* 三色渐变 */ --aw-gradient: linear-gradient( 135deg, #667eea 0%, #8b5cf6 33%, #a855f7 66%, #764ba2 100% ); /* 彩虹渐变 */ --aw-gradient: linear-gradient( 90deg, #ef4444 0%, #f59e0b 20%, #10b981 40%, #3b82f6 60%, #8b5cf6 80%, #ec4899 100% );7. 完整主题方案示例下面我提供几个完整的主题方案你可以直接复制使用。7.1 深色模式主题/* AWPortrait-Z 深色模式主题 */ :root { /* 颜色变量 */ --aw-primary: #3b82f6; --aw-secondary: #1d4ed8; --aw-accent: #10b981; /* 渐变背景 */ --aw-gradient: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); /* 背景色 */ --aw-bg: #0f172a; --aw-card-bg: #1e293b; --aw-input-bg: #334155; /* 文字颜色 */ --aw-text: #f1f5f9; --aw-text-secondary: #94a3b8; --aw-text-muted: #64748b; /* 边框和阴影 */ --aw-border: #475569; --aw-border-light: #64748b; --aw-card-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3); /* 状态颜色 */ --aw-success: #10b981; --aw-warning: #f59e0b; --aw-error: #ef4444; --aw-info: #3b82f6; } /* 应用样式 */ body { background-color: var(--aw-bg); color: var(--aw-text); font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif; } /* 标题栏 */ .gradio-header, .header { background: var(--aw-gradient); color: white; padding: 1.5rem; border-bottom: 1px solid var(--aw-border); } /* 卡片 */ .gradio-container .gradio-box { background: var(--aw-card-bg); border: 1px solid var(--aw-border); border-radius: 0.75rem; box-shadow: var(--aw-card-shadow); padding: 1.5rem; margin-bottom: 1rem; } /* 输入框 */ textarea, input[typetext], input[typenumber] { background: var(--aw-input-bg); border: 1px solid var(--aw-border); color: var(--aw-text); border-radius: 0.5rem; padding: 0.75rem; width: 100%; transition: all 0.2s; } textarea:focus, input:focus { outline: none; border-color: var(--aw-primary); box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2); } /* 按钮 */ button { background: linear-gradient(135deg, var(--aw-primary) 0%, var(--aw-secondary) 100%); color: white; border: none; border-radius: 0.5rem; padding: 0.75rem 1.5rem; font-weight: 600; cursor: pointer; transition: all 0.2s; } button:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3); } /* 滑块 */ input[typerange] { accent-color: var(--aw-primary); height: 6px; border-radius: 3px; } /* 标签 */ label { color: var(--aw-text-secondary); font-weight: 500; margin-bottom: 0.5rem; display: block; } /* 状态消息 */ .status-message.success { color: var(--aw-success); background: rgba(16, 185, 129, 0.1); border-left: 4px solid var(--aw-success); padding: 1rem; border-radius: 0.5rem; } .status-message.error { color: var(--aw-error); background: rgba(239, 68, 68, 0.1); border-left: 4px solid var(--aw-error); padding: 1rem; border-radius: 0.5rem; }7.2 浅色简约主题/* AWPortrait-Z 浅色简约主题 */ :root { /* 颜色变量 - 蓝色系 */ --aw-primary: #2563eb; --aw-secondary: #3b82f6; --aw-accent: #10b981; /* 渐变背景 - 浅蓝渐变 */ --aw-gradient: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%); /* 背景色 */ --aw-bg: #f8fafc; --aw-card-bg: #ffffff; --aw-input-bg: #ffffff; /* 文字颜色 */ --aw-text: #1e293b; --aw-text-secondary: #64748b; --aw-text-muted: #94a3b8; /* 边框和阴影 */ --aw-border: #e2e8f0; --aw-border-light: #f1f5f9; --aw-card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); /* 状态颜色 */ --aw-success: #10b981; --aw-warning: #f59e0b; --aw-error: #ef4444; --aw-info: #3b82f6; } /* 应用样式 */ body { background-color: var(--aw-bg); color: var(--aw-text); font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif; } /* 标题栏 */ .gradio-header, .header { background: var(--aw-gradient); color: var(--aw-text); padding: 1.5rem; border-bottom: 1px solid var(--aw-border); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } /* 卡片 */ .gradio-container .gradio-box { background: var(--aw-card-bg); border: 1px solid var(--aw-border); border-radius: 0.75rem; box-shadow: var(--aw-card-shadow); padding: 1.5rem; margin-bottom: 1rem; transition: box-shadow 0.2s; } .gradio-container .gradio-box:hover { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); } /* 输入框 */ textarea, input[typetext], input[typenumber] { background: var(--aw-input-bg); border: 1px solid var(--aw-border); color: var(--aw-text); border-radius: 0.5rem; padding: 0.75rem; width: 100%; transition: all 0.2s; } textarea:focus, input:focus { outline: none; border-color: var(--aw-primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); } /* 按钮 */ button { background: linear-gradient(135deg, var(--aw-primary) 0%, var(--aw-secondary) 100%); color: white; border: none; border-radius: 0.5rem; padding: 0.75rem 1.5rem; font-weight: 600; cursor: pointer; transition: all 0.2s; } button:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2); } /* 预设按钮组 */ .preset-buttons { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1rem; } .preset-button { background: var(--aw-card-bg); border: 1px solid var(--aw-border); color: var(--aw-text-secondary); padding: 0.5rem 1rem; border-radius: 0.5rem; cursor: pointer; transition: all 0.2s; } .preset-button:hover { background: var(--aw-primary); color: white; border-color: var(--aw-primary); } /* 历史记录缩略图 */ .history-thumbnail { border: 2px solid transparent; border-radius: 0.5rem; overflow: hidden; transition: all 0.2s; } .history-thumbnail:hover { border-color: var(--aw-primary); transform: scale(1.05); } .history-thumbnail.selected { border-color: var(--aw-primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2); }8. 高级定制技巧如果你想要更精细的控制这里有一些高级技巧。8.1 响应式设计调整让主题在不同屏幕尺寸下都有良好表现/* 移动端优化 */ media (max-width: 768px) { :root { /* 调整间距 */ --aw-spacing: 1rem; /* 调整字体大小 */ --aw-font-size-base: 14px; --aw-font-size-lg: 16px; } .gradio-container { padding: 0.5rem !important; } .gradio-row { flex-direction: column !important; } .gradio-column { width: 100% !important; margin-bottom: 1rem; } button { padding: 0.5rem 1rem !important; font-size: 14px !important; } } /* 平板端优化 */ media (min-width: 769px) and (max-width: 1024px) { :root { --aw-spacing: 1.5rem; --aw-font-size-base: 15px; } .gradio-container { max-width: 95% !important; margin: 0 auto !important; } } /* 桌面端优化 */ media (min-width: 1025px) { :root { --aw-spacing: 2rem; --aw-font-size-base: 16px; } .gradio-container { max-width: 1400px !important; margin: 0 auto !important; } }8.2 动画效果增强添加一些微妙的动画让界面更生动/* 渐变动画 */ keyframes gradientShift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .animated-gradient { background: linear-gradient(135deg, #667eea, #764ba2, #667eea); background-size: 200% 200%; animation: gradientShift 3s ease infinite; } /* 按钮点击效果 */ button { position: relative; overflow: hidden; } button:after { content: ; position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; background: rgba(255, 255, 255, 0.5); opacity: 0; border-radius: 100%; transform: scale(1, 1) translate(-50%); transform-origin: 50% 50%; } button:focus:not(:active)::after { animation: ripple 1s ease-out; } keyframes ripple { 0% { transform: scale(0, 0); opacity: 0.5; } 100% { transform: scale(20, 20); opacity: 0; } } /* 卡片悬停效果 */ .card-hover { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); } /* 加载动画 */ .loading-spinner { display: inline-block; width: 20px; height: 20px; border: 3px solid rgba(59, 130, 246, 0.3); border-radius: 50%; border-top-color: var(--aw-primary); animation: spin 1s ease-in-out infinite; } keyframes spin { to { transform: rotate(360deg); } }8.3 自定义字体更换界面字体提升视觉效果/* 导入字体 */ import url(https://fonts.googleapis.com/css2?familyInter:wght300;400;500;600;700displayswap); :root { /* 字体变量 */ --aw-font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif; --aw-font-mono: SF Mono, Monaco, Cascadia Code, Roboto Mono, monospace; /* 字体大小 */ --aw-font-size-xs: 0.75rem; /* 12px */ --aw-font-size-sm: 0.875rem; /* 14px */ --aw-font-size-base: 1rem; /* 16px */ --aw-font-size-lg: 1.125rem; /* 18px */ --aw-font-size-xl: 1.25rem; /* 20px */ --aw-font-size-2xl: 1.5rem; /* 24px */ /* 字体粗细 */ --aw-font-weight-light: 300; --aw-font-weight-normal: 400; --aw-font-weight-medium: 500; --aw-font-weight-semibold: 600; --aw-font-weight-bold: 700; } /* 应用字体 */ body { font-family: var(--aw-font-family); font-size: var(--aw-font-size-base); font-weight: var(--aw-font-weight-normal); line-height: 1.6; } /* 标题字体 */ h1, h2, h3, h4, h5, h6 { font-family: var(--aw-font-family); font-weight: var(--aw-font-weight-semibold); line-height: 1.3; } h1 { font-size: var(--aw-font-size-2xl); font-weight: var(--aw-font-weight-bold); } h2 { font-size: var(--aw-font-size-xl); } h3 { font-size: var(--aw-font-size-lg); } /* 代码和输入框使用等宽字体 */ code, pre, textarea, input[typetext] { font-family: var(--aw-font-mono); font-size: var(--aw-font-size-sm); } /* 按钮字体 */ button { font-family: var(--aw-font-family); font-weight: var(--aw-font-weight-semibold); letter-spacing: 0.025em; }9. 调试与问题解决在定制主题时可能会遇到一些问题这里是一些常见问题的解决方法。9.1 样式不生效如果自定义样式没有生效可以按以下步骤排查检查CSS文件路径# 确认文件存在 ls -la /root/AWPortrait-Z/custom_styles/awportrait-custom.css # 检查文件权限 chmod 644 /root/AWPortrait-Z/custom_styles/awportrait-custom.css检查HTML引用在浏览器中查看页面源代码确认CSS文件被正确引用。使用浏览器开发者工具按F12打开开发者工具切换到控制台Console查看错误切换到元素Elements查看应用的样式检查是否有样式被覆盖有删除线增加CSS特异性如果样式被覆盖可以增加选择器的特异性/* 原来的 */ .header { background: blue; } /* 增加特异性 */ body .header { background: blue !important; }9.2 颜色不协调如果修改后的颜色看起来不协调可以使用在线配色工具Coolors.co - 快速生成配色方案Adobe Color - Adobe的配色工具Paletton - 专业配色方案生成遵循60-30-10原则60% 主色调背景30% 次要色调卡片、面板10% 强调色按钮、链接检查对比度确保文字和背景有足够的对比度可以使用在线对比度检查工具。9.3 布局错乱如果修改样式后布局出现问题逐步修改不要一次性修改大量样式逐步测试每个修改。使用浏览器开发者工具实时修改样式并查看效果。恢复备份如果问题严重恢复备份文件cp /root/AWPortrait-Z/static/css/main.css.backup /root/AWPortrait-Z/static/css/main.css10. 总结通过CSS变量覆盖和渐变色系替换你可以轻松地将AWPortrait-Z的WebUI界面定制成自己喜欢的样子。整个过程不需要深厚的前端知识只需要一些CSS基础就能完成。10.1 关键要点回顾找到样式文件首先定位AWPortrait-Z的CSS文件位置备份原始文件修改前一定要备份防止出错使用CSS变量通过覆盖:root中的变量来全局修改颜色渐变色定制可以修改渐变角度、颜色和停靠点完整主题方案提供了深色和浅色两个完整主题示例高级技巧响应式设计、动画效果、自定义字体等调试方法使用浏览器开发者工具排查问题10.2 个性化建议从简单开始先修改主色调和渐变满意后再调整其他细节保持一致性确保整个界面的颜色和风格协调统一考虑可用性不要为了美观牺牲可读性和易用性测试不同场景在不同光照环境和屏幕尺寸下测试效果收集反馈如果多人使用可以收集他们的意见10.3 下一步探索如果你对界面定制感兴趣还可以进一步探索自定义图标替换默认的图标为更符合主题的设计布局调整修改面板的排列方式和大小交互效果添加更多的动画和过渡效果主题切换实现亮色/暗色主题的切换功能记住最好的主题是那个既美观又实用的主题。不要过度设计保持界面的清晰和易用性才是最重要的。现在就去尝试定制你的AWPortrait-Z界面吧从一个简单的颜色修改开始逐步打造出完全属于你自己的AI绘画工作环境。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章