在AI生图的日常使用中,很多从业者都会遇到这样的问题:切换ChatGPT和Grok平台反复登录、提示词每次手动输入效率低、参考图批量上传匹配混乱、生图后图片保存零散……这些痛点不仅拉低了生图效率,还容易因操作繁琐导致出错。
作为一名长期深耕AI工具开发的从业者,今天就和大家分享一款自研的ChatGPT&Grok生图工具,从功能设计到底层逻辑,拆解它如何解决这些实际使用中的核心问题。
针对多平台切换的痛点,工具的核心设计是模块化的BrowserManager类,专门负责不同平台的浏览器实例管理。无论是ChatGPT还是Grok,都能通过独立的浏览器进程运行,避免了单浏览器多标签页的冲突问题。
从代码逻辑来看,每个平台都有专属的用户数据目录、Cookie文件路径,启动时会自动检测端口占用情况,从指定端口段(GPT对应9222-9242,Grok对应9332-9352)中选择可用端口,确保浏览器实例独立且稳定:
def init(self, headless=False):
if self.page is not None and self._current_headless == headless:
if self.is_alive():
self.log(f"[{self.name}] 浏览器已运行,复用现有连接")
return True
os.makedirs(self.data_dir, exist_ok=True)
try:
co = ChromiumOptions()
co.set_user_data_path(self.data_dir)
co.set_cache_path(os.path.join(self.data_dir, "Cache"))
port_start = 9222 if self.name == "GPT" else 9332
port_end = port_start + 20
for port in range(port_start, port_end):
try:
co.set_local_port(port)
self.page = ChromiumPage(co)
break
except Exception as ex:
self.log(f"[{self.name}] 端口{port}被占用: {ex}")
continue
# 后续逻辑省略
同时,工具会自动保存和加载各平台的Cookie,重启后无需重复登录,还能检测登录状态(比如ChatGPT检测输入框是否存在,Grok检测可编辑文本区域),一旦连接断开会自动重连并恢复登录状态,彻底解决了多平台反复登录的麻烦。
AI生图的效果,很大程度上依赖提示词的精准度,而反复输入相同的固定指令是常见的效率痛点。工具针对这一问题,设计了分平台的固定提示词配置功能,用户可预设GPT和Grok的专属固定提示词,发送时会自动追加到Excel提示词后方,无需手动重复输入。
在UI设计上,通过独立的输入框分别管理GPT和Grok的固定提示词,底层通过字符串变量存储,运行时直接拼接:
self.var_gpt_suffix = tk.StringVar(value="直接生成1∶1九宫格图片发给我,无需回复文字内容。")
ttk.Entry(gpt_prompt_row, textvariable=self.var_gpt_suffix, width=80).pack(side=tk.LEFT, padx=4, fill=tk.X, expand=True)
self.var_grok_suffix = tk.StringVar(value="保持图片完整,无其他多余内容。")
ttk.Entry(grok_prompt_row, textvariable=self.var_grok_suffix, width=80).pack(side=tk.LEFT, padx=4, fill=tk.X, expand=True)
这种设计既保留了提示词的灵活性(Excel提示词可批量修改),又固定了核心指令,比如要求GPT生成1:1九宫格图片、Grok保持图片完整性,让生图结果更符合预期,避免因指令遗漏导致的无效生图。
参考图是AI生图的重要参考依据,手动上传不仅效率低,还容易出现“提示词和参考图不匹配”的问题。工具设计了系统化的参考图管理逻辑,从目录设置到上传数量、等待时间,全流程可配置。
用户只需指定参考图根目录,工具会按照“子文件夹对应每条提示词”的规则自动匹配,同时可设置每次上传的图片数量、上传后的等待时间(确保上传完成):
self.var_ref_dir = tk.StringVar()
ttk.Entry(row_ref_dir, textvariable=self.var_ref_dir, width=50).pack(side=tk.LEFT, padx=4, fill=tk.X, expand=True)
ttk.Button(row_ref_dir, text="浏览", command=self._browse_ref_dir).pack(side=tk.LEFT)
self.var_ref_count = tk.StringVar(value="1")
ttk.Entry(row_ref_count, textvariable=self.var_ref_count, width=5).pack(side=tk.LEFT, padx=4)
self.var_ref_wait = tk.StringVar(value="10")
ttk.Entry(row_ref_wait, textvariable=self.var_ref_wait, width=5).pack(side=tk.LEFT, padx=4)
这一设计解决了批量生图时参考图上传的两大痛点:一是手动上传的重复性劳动,二是参考图与提示词的错配问题,尤其适合需要批量生成风格统一、参考依据明确的图片场景。
手动发送提示词、等待生图、保存图片的流程,不仅耗时还容易因疏忽导致超时。工具内置了自动化流程管控逻辑,从发送间隔到图片超时等待,全参数可配置,兼顾效率与稳定性。
用户可设置发送间隔(避免平台限流)、图片生成超时时间,底层通过线程管理确保流程自动化运行,同时实时记录日志,方便排查问题:
self.var_interval = tk.StringVar(value="5")
ttk.Entry(row_delay, textvariable=self.var_interval, width=6).pack(side=tk.LEFT, padx=4)
self.var_timeout = tk.StringVar(value="120")
ttk.Entry(row_delay, textvariable=self.var_timeout, width=6).pack(side=tk.LEFT, padx=4)
发送间隔的设置能适配不同平台的限流规则,避免因发送过快导致账号受限;超时时间的配置则能自动终止长时间未生成的任务,避免流程卡顿,让批量生图的全流程更顺畅。
一款工具的稳定性,核心在于底层架构的设计。这款生图工具采用“主类+模块化子类”的结构,ChatGPTImageTool作为主类整合UI、配置、流程控制,BrowserManager作为子类专注浏览器管理,职责划分清晰,降低了耦合度。
在并发处理上,工具使用线程池处理多平台请求,避免单线程阻塞;异常处理覆盖了浏览器启动、Cookie加载、网络请求等关键环节,即使某一步出错,也不会导致整个程序崩溃:
def reconnect(self, headless=False):
self.log(f"[{self.name}] 浏览器连接断开,正在重新启动...")
self.page = None
self._current_headless = None
if not self.init(headless=headless):
self.log(f"[{self.name}] 浏览器重启失败")
return False
try:
self.page.get(self.url)
time.sleep(3)
if self.check_login():
self.log(f"[{self.name}] 浏览器重连成功,登录状态有效")
return True
# 异常处理省略
这种模块化+异常容错的设计,让工具在长时间批量生图场景下也能保持稳定,减少因程序崩溃导致的进度丢失问题。
生图后的图片保存零散、配置每次重启都要重新设置,是很多工具的常见问题。这款工具设计了配置自动保存和图片定向保存功能,解决了这两个痛点。
工具会将用户设置的保存目录、参考图目录、各类时间参数等配置,自动保存到config.json文件中,重启后自动加载:
def load_config():
if os.path.exists(CONFIG_FILE):
try:
with open(CONFIG_FILE, "r", encoding="utf-8") as f:
return json.load(f)
except Exception:
return {}
return {}
def save_config(cfg):
with open(CONFIG_FILE, "w", encoding="utf-8") as f:
json.dump(cfg, f, ensure_ascii=False, indent=2)
同时,用户可指定统一的图片保存目录,工具会将生成的图片自动保存到该目录下,避免了手动逐个保存的麻烦,也方便后续整理和使用。
总结来说,这款ChatGPT&Grok生图工具的核心价值,在于将AI生图的全流程“自动化、模块化、可配置化”,从多平台适配到提示词管理,从参考图匹配到流程管控,每一个功能设计都围绕解决实际使用中的效率痛点。对于需要批量、高效生成AI图片的从业者来说,这种贴合实际使用场景的功能设计,能真正提升生图效率,减少重复性劳动。
? 步里软件【编号2614】ChatGPT&Grok生图工具下载地址
光鸭:
https://www.guangyapan.com/s/1904906172824768606_aeWodBu726g3wbwI
夸克:https://pan.quark.cn/s/41a1c2e8c673
百度:https://pan.baidu.com/s/50vl87ekW69UI7yYNZrm19g
兰奏:https://buliba.lanzoul.com/b0zkuhl9i 密码:2614
阿里:https://www.alipan.com/s/jpbbD4reRCP
迅雷:
https://pan.xunlei.com/s/VOtEqQoXbfnduSjOkPthcPteA1?pwd=vkty
123:https://1847315599.share.123pan.cn/123pan/LkEvvd-n7W9
豆包:
https://feishu.doubao.com/drive/shr/INXKf6lRklgq20dmvgScNlWnnid
Git库:https://gitcode.com/buliba/2614/releases/
如果上面都没有合适的快速下载,请咨询客服直接索取安装包文件。