Files
EPEEAIKit/art-agent
2026-04-15 00:21:43 +08:00
..
2026-04-15 00:21:43 +08:00
2026-04-15 00:21:43 +08:00
2026-04-13 00:41:23 +08:00

EPEEKit

AI 美术资源生成工具集 — 通过对话生成游戏美术资源。

快速开始

1. 准备 API Key

你需要两个 API Key

2. 启动后端

cd art-agent/backend

# 创建虚拟环境(推荐)
python -m venv venv
venv\Scripts\activate      # Windows
# source venv/bin/activate  # macOS/Linux

# 安装依赖
pip install -r requirements.txt

# 配置环境变量
copy .env.example .env
# 编辑 .env填入你的 API Key 和模型配置

# 启动(--host 0.0.0.0 允许局域网/穿透访问)
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

3. 启动前端

cd art-agent/frontend

# 安装依赖(需要 Node.js >= 18
npm install

# 启动
npm run dev

4. 使用

打开浏览器访问 http://localhost:3000

  • 输入文字描述你想要的美术资源
  • 可以上传参考图引导风格
  • 生成的图片可以点击"保存"按钮下载
  • 持续对话进行迭代修改

访问地址

场景 前端页面 后端 API 后端文档
本机 http://localhost:3000 http://localhost:8000 http://localhost:8000/docs
局域网(同一 WiFi http://<你的IP>:3000 http://<你的IP>:8000 http://<你的IP>:8000/docs
外网Cloudflare Tunnel https://xxx.trycloudflare.com(每次启动不同) https://yyy.trycloudflare.com

查看本机局域网 IP

# Windows
Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.InterfaceAlias -eq 'WLAN' }

# macOS / Linux
ifconfig | grep "inet " | grep -v 127.0.0.1

配置说明

所有可配置项都集中在 backend/.env 文件中,分为以下几组:

配置组 变量 说明
LLM 对话 OPENAI_API_KEY API 密钥
OPENAI_BASE_URL API 基地址,支持任何 OpenAI 兼容 API
LLM_MODEL 模型名称,如 gpt-4o-minideepseek-chat
LLM_MAX_ITERATIONS Agent 单轮最大工具调用次数
图像生成 REPLICATE_API_TOKEN Replicate API Token
IMAGE_MODEL 图像生成模型,如 black-forest-labs/flux-schnell
IMAGE_ASPECT_RATIO 默认宽高比,如 1:1
IMAGE_OUTPUT_FORMAT 输出格式,如 png
网络 HTTP_PROXY / HTTPS_PROXY 代理配置
服务 PORT 后端服务端口

切换 LLM 供应商只需修改 OPENAI_BASE_URL + OPENAI_API_KEY + LLM_MODEL 三个值。

项目结构

art-agent/
  backend/           # Python FastAPI 后端
    app/
      main.py        # 入口
      config.py      # 集中配置(读取 .env
      api/chat.py    # 对话 API
      agent/         # Agent Loop 核心
      services/      # AI 服务封装
  frontend/          # Next.js 前端
    src/
      app/           # 页面
      components/    # UI 组件
      lib/           # 工具函数
  docs/              # 文档

远程访问(外网穿透)

通过 Cloudflare Quick Tunnel 免费穿透内网,手机或朋友在任何网络下都能访问,无需买服务器。

安装 cloudflared

# Windows任选一种
winget install Cloudflare.cloudflared

# 或手动下载
# https://github.com/cloudflare/cloudflared/releases/latest
# 下载 cloudflared-windows-amd64.exe放到项目目录下即可
# macOS
brew install cloudflared

# Linux
# https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/

一键启动穿透

确保前后端服务已经在运行,然后在另一个终端执行:

cd art-agent
.\start-tunnel.ps1

脚本会自动:

  1. 为后端和前端各创建一条穿透隧道
  2. 更新 frontend/.env.local 中的后端 API 地址为穿透地址
  3. 打印手机可访问的公网 HTTPS 链接
  4. 关闭脚本时Ctrl+C自动恢复 .env.local 为 localhost

重要:穿透启动后需要重启前端 (npm run dev) 才能读取新的 .env.local

穿透管理

操作 方式
启动 运行 .\start-tunnel.ps1,等待打印出两条 trycloudflare.com 地址
停止 在脚本窗口按 Ctrl+C,或在任务管理器中结束 cloudflared.exe 进程
查看状态 检查日志:Get-Content $env:TEMP\epeekit-tunnel-backend.log
重启 先停止再启动地址会变Quick Tunnel 每次分配随机域名)

注意事项

  • Quick Tunnel 免费无需账号,但地址每次启动都会变化
  • 如果 cloudflared 连接超时可能需要配置代理Clash 等),在运行脚本前设置:
    $env:HTTP_PROXY = "http://127.0.0.1:7890"
    $env:HTTPS_PROXY = "http://127.0.0.1:7890"
    .\start-tunnel.ps1
    
  • 电脑关机、休眠或代理断开后隧道会自动失效
  • 停止穿透后,start-tunnel.ps1 会自动将 .env.local 恢复为 localhost;如果手动杀进程,需要自行恢复

技术栈

  • 前端Next.js + TypeScript + Tailwind CSS
  • 后端Python FastAPI + SSE
  • AI可配置 LLM默认 GPT-4o-mini+ 可配置图像模型(默认 Replicate Flux