GPTimage2图片生成软件开发
·

软件功能列表
软件名称:旷世 GPT image2生成

定位:ChatGPT 多账号隔离启动与自动登录工具。
账号管理
- 手动添加账号,支持填写邮箱和可选密码。
- 批量导入 TXT 账号文件。
- 支持识别
邮箱----密码----其他内容、制表符、空格、||、==等分隔格式。 - 自动校验邮箱格式。
- 自动去重,重复账号可更新密码。
- 支持搜索邮箱。
- 支持全选、取消选择、移除账号。
- 支持导出邮箱列表。
- 显示账号状态、最近启动时间、隔离目录名称。
浏览器启动
- 支持启动选中的多个账号窗口。
- 每个账号使用独立浏览器配置目录,互不串号。
- 支持自动检测浏览器。
- 支持指定 Microsoft Edge。
- 支持指定 Google Chrome。
- 支持自定义浏览器 exe 路径。
- 支持自定义打开地址,默认
https://chatgpt.com/。 - 支持设置多窗口启动间隔。
自动登录
- 可开关自动登录功能。
- 可设置单步超时时间。
- 自动打开 ChatGPT。
- 自动点击 ChatGPT 登录按钮。
- 自动点击“使用 Google 账户继续”。
- 自动填写 Google 邮箱。
- 自动填写 Google 密码。
- 自动点击 Google 下一步。
- 支持已登录状态检测,已登录则跳过登录流程。
- 无密码账号自动改为普通启动模式。
中断续接规则
- 支持 Google 已保存账号选择页:出现
Choose an account时,自动点击当前账号本身。 - 支持注册中断后的 Google 授权页:自动点击
Continue。 - 支持 Google Workspace 条款页:自动点击蓝色向下箭头或滚到底部,再点击“我了解”。
- 支持 OpenAI 年龄页:自动填写年龄并点击“完成账户创建”。
- 支持最后的“继续 / Continue / Done / Get started”按钮自动点击。
本地数据
- 账号和设置保存在本地
%LOCALAPPDATA%\KuangShiGptImage2。 - 每个账号独立配置目录保存在
profiles文件夹。 - 可打开选中账号配置目录。
- 可清理选中账号配置目录。
- 可打开软件数据目录。
安全提示
- 密码仅保存在本地 JSON 文件,不上传服务器。
- 密码为本地明文保存,需要保护好电脑环境。
- 遇到验证码、二次验证、风控验证时,需要人工处理。
- 下载地址
QueueSave();
}
private void ImportAccounts()
{
using var dialog = new OpenFileDialog
{
Title = "导入账号 TXT",
Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*",
Multiselect = false
};
if (dialog.ShowDialog(this) != DialogResult.OK)
{
return;
}
var lines = File.ReadAllLines(dialog.FileName, Encoding.UTF8);
var imported = 0;
var skipped = 0;
var duplicates = 0;
var seen = _accounts.Select(a => a.Email).ToHashSet(StringComparer.OrdinalIgnoreCase);
foreach (var line in lines)
{
var parsed = ParseImportLine(line);
if (parsed is null)
{
skipped++;
continue;
}
if (!seen.Add(parsed))
{
duplicates++;
continue;
}
AddAccountRecord(new AccountRecord
{
Email = parsed,
Selected = true,
Status = "已导入",
Notes = "导入时已忽略密码字段"
});
imported++;
}
SaveAll();
UpdateSummary();
MessageBox.Show(
this,
$"导入完成:新增 {imported} 个,重复 {duplicates} 个,跳过 {skipped} 行。",
"导入结果",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
private static string? ParseImportLine(string line)
{
var raw = (line ?? string.Empty).Trim();
if (string.IsNullOrWhiteSpace(raw) || raw.StartsWith("#", StringComparison.Ordinal))
{
return null;
}
var first = raw.Split(["----"], StringSplitOptions.None)[0].Trim();
if (!EmailRegex.IsMatch(first))
{
var match = Regex.Match(raw, @"[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}", RegexOptions.IgnoreCase);
first = match.Success ? match.Value : first;
}
return EmailRegex.IsMatch(first) ? first.ToLowerInvariant() : null;
}
private void AddAccount()
{
using var dialog = new AddAccountDialog();
if (dialog.ShowDialog(this) != DialogResult.OK)
{
return;
}
var email = dialog.Email.Trim().ToLowerInvariant();
if (!EmailRegex.IsMatch(email))
{
MessageBox.Show(this, "邮箱格式不正确。", "无法添加", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (_accounts.Any(a => string.Equals(a.Email, email, StringComparison.OrdinalIgnoreCase)))
{
MessageBox.Show(this, "这个邮箱已经存在。", "无法添加", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
AddAccountRecord(new AccountRecord
{
Email = email,
Selected = true,
Status = "已添加"
});
SaveAll();
}
private void AddAccountRecord(AccountRecord account)
{
account.PropertyChanged += AccountChanged;
_accounts.Add(account);
}
更多推荐


所有评论(0)