一、几年前的我:七八个 AI 网站来回切

写代码卡住,开 ChatGPT,免费额度又没了。

换 Claude,得先折腾网络。想给文章配张图,打开 Midjourney,30 刀一个月的订阅费。偶尔还要去 Suno 搞点背景音乐、去可灵生成视频素材。

浏览器常驻七八个标签页,每个都要登录,大部分还要续费。

我折腾过不少方案。镜像站跑路了,共享账号被封了,自建代理维护太累。后来一个朋友推荐了 IMYAI,我当时想的是——“又一个聚合站,能好用才怪。”

但事实是,从 2023 年底用到现在,这个网站确实是我日常打开频率最高的 AI 工具。这篇文章就聊聊它到底能做什么,顺便带你用它从零写一个 Python 项目。


二、先看它接了什么模型

IMYAI 是 B站 UP 主图欧君(60万粉)和团队做的,2023 年 5 月上线。说它是个"模型超市"可能更贴切,把一批国内外模型放进了同一个网页。

当前可选的对话、推理和搜索模型

厂商/类别 官网当前可选模型
IMYAI IMYAI-Agent-全能模型、IMYAI-Ava-默认模型
OpenAI GPT-5.6-luna、GPT-5.6-terra、GPT-5.6-sol、GPT-5.5、GPT-5.4、GPT-oss-120b
Anthropic Claude-Haiku-4.5、Claude-Sonnet-4.6、Claude-Opus-4.7、Claude-Opus-4.8、Claude-Opus-4.8-max、Claude-Sonnet-5、Claude-Sonnet-5-max、Claude-Fable-5、Claude-Fable-5-max、Claude-Opus-5、Claude-Opus-5-max
阿里通义 Qwen-3.6-flash、Qwen-3.6-plus、Qwen-3.7-plus、Qwen-3.7-max
智谱 GLM-4.5-air、GLM-5、GLM-5.1、GLM-5.2
Hy3 Hy3
月之暗面 kimi-k2.5、kimi-k2.6、kimi-k2.7-code、kimi-k3
阶跃星辰 Step-3.7-flash、Step-3.5-flash
DeepSeek DeepSeek-V4-Flash、DeepSeek-V4-Pro、DeepSeek-V3.2、DeepSeek-V3.1、DeepSeek-OCR-2-识图
秘塔 metaso-极速·搜索、metaso-极速·思考、metaso-长思考·R1
MiniMax Minimax-M3、MiniMax-M2.7、MiniMax-M2.5
字节豆包 Doubao-Seed-2.0-mini、Doubao-Seed-2.0-lite、Doubao-Seed-2.0-pro、Doubao-Seed-2.0-code、Doubao-Seed-2.1-pro
Google Gemini-3.1-flash-lite、Gemini-3.1-pro、Gemini-3.5-flash、Gemini-3.5-flash-lite、Gemini-3.6-flash
美团 美团龙猫-LongCat-2.0
xAI Grok-4.1-fast、Grok-4.5、Grok-4.3、Grok-4.2
小米 小米-MiMo-V2.5-Pro、小米-MiMo-V2.5
UniFuncs S3-深度搜索、S3-Pro-深度搜索、U3-深度研究、U3-Pro-深度研究

其中,S3/S3 Pro 是深度搜索模型,U3/U3 Pro 是深度研究模型;秘塔的三个条目也属于搜索型模型。它们和普通聊天模型的用途、积分消耗都不一样,不能简单按"聊天模型"理解。

另外,官网还单独列了 5 个 GPT 推理档位:GPT-5.6-lunaGPT-5.6-terraGPT-5.6-solGPT-5.5 GPT-5.4。它们在列表里属于独立的推理条目,所以我把它们也算进上面的当前可选清单。

其他创作入口

绘画、音乐和视频并不是全部以同一种模型列表形式展示,而是分别放在专业绘画、音乐创作和视频创作入口里。当前首页配置明确列出的创作方向包括:

  • AI 绘画: MidjourneyNano Banana即梦可灵GPT-image 等。
  • AI 音乐: Suno AI 音乐全功能。
  • AI 视频: 可灵海螺ViduRunwayVeo 3Seedance 2.0 等。

官网还提供联网引擎切换,公告中列出了基础版、Pro 版、搜狗夸克、秘塔和 U 深研等通道;这类联网引擎属于搜索能力或插件,不应和 GPT、Claude 这类基础模型混为一谈。

模型列表会持续更新,本文清单按本次访问官网接口时的启用状态整理。用的时候在对话框里切模型就行,不用换网站、不用重新登录。
在这里插入图片描述


三、程序员用得上哪些功能?

3.1 写代码和 Debug

默认的免费模型能应付大部分日常问题。

让它写个爬虫:

“用 Python 写一个爬虫,抓取豆瓣电影 Top250 的电影名、评分和简介,保存为 CSV”

大概 10 秒,完整的 requests + BeautifulSoup 代码就出来了,有注释,异常处理也写好了。

Debug 更省事。把报错直接贴进去:

“TypeError: ‘NoneType’ object is not subscriptable,这是我的代码……”

它能定位到第几行、变量为什么是 None、怎么修。

看不懂的代码也能扔进去让它逐行解释,对新手特别友好。

同一个需求,你可以分别丢给 GPT-5、Claude 4.5 和 DeepSeek,看哪个答案更好。三个模型比对着用,比守着单一模型踏实。

3.2 Midjourney 绘画

IMYAI接的是 MJ 的完整能力。文生图、垫图、Vary 局部修改、Upscale 放大、Pan 平移扩展、Zoom 缩放——这些在官网上收费不低的功能,这里都可以用。

内置了提示词库,不会写 prompt 的话点几下就能上手。我博客的封面图、PPT 里的示意插画基本都是这里出的。
在这里插入图片描述

3.3 长文和论文

填个标题、专业、学历,AI 先出大纲,再按章节生成正文。几万字的稿子几十秒就能跑完,支持带真实链接的参考文献。

我这篇文章的初版大纲就是用这个功能先搭的骨架,然后自己填充和调整。比从零敲键盘快得多。

3.4 思维导图

输入主题,自动生成结构图。梳理项目模块、做技术方案、整理学习笔记都挺方便。比如输入"Python 学习路线",它会从基础语法拆到 Web 框架和数据分析,比自己画高效。
在这里插入图片描述

3.5 应用广场

内置一千多个垂直场景的 AI 应用,覆盖编程、办公、创作、学习几个方向。比如代码生成器、正则助手、周报生成器、小红书文案、英语口语教练。

你也可以自己配提示词、设角色、挂知识库,搭一个专属的 AI 助手。
在这里插入图片描述


四、能白嫖到什么程度?

免费策略是让我留下来的主要原因。

默认模型不限次数,随便用。每天签到送积分,积分不会过期,一直攒着。积分可以换高级模型——GPT-5、Claude 4.5、Midjourney 这些。

一次 MJ 绘画大概消耗几十积分,签到几天就能画一张。GPT-5 一次对话消耗也很少,普通使用频率的话,每天签到的积分绰绰有余。

算一下:坚持签到一年,大概能拿一万八普通积分、一千八高级积分、一千八绘画积分。对比 ChatGPT Plus 一个月 20 美元,Claude Pro 年付也要 17 美元一个月——IMYAI 的免费额度对大多数个人开发者来说真的够了。
在这里插入图片描述

重度用户也可以开会员,价格比单买任何一个官方订阅都便宜,而且能解锁所有模型的无限使用。


五、实战:带着 IMYAI 从零写一个学生成绩管理系统

前面说了半天功能,这节来点实际的。完全不用提前懂 Python,跟着操作就行。

5.1 要做什么

一个命令行版的学生成绩管理工具,功能就这几样:

  1. 添加学生(姓名、学号、语文、数学、英语成绩)
  2. 查看所有学生,按总分排名
  3. 按学号查找学生
  4. 修改成绩
  5. 删除记录
  6. 统计各科平均分、最高分、最低分
  7. 数据存到 JSON 文件里,关了再打开还在

5.2 第一次对话:把需求说清楚就行

打开 IMYAI,把下面这段话贴进去:

请用 Python 写一个命令行版的学生成绩管理系统。功能要求:

  1. 可以添加学生(姓名、学号、语文成绩、数学成绩、英语成绩)
  2. 可以查看所有学生,按总分从高到低排序
  3. 可以按学号查找学生
  4. 可以修改学生成绩
  5. 可以删除学生
  6. 显示各科平均分、最高分、最低分
  7. 数据保存到 JSON 文件,下次启动自动加载

要求代码有清晰的中文注释,适合 Python 初学者阅读。

一个小建议:别用默认免费模型。切成 DeepSeek V3 或者 Claude 4.5,代码质量和注释水平明显好一截。消耗的积分很少,签到一天够用很多次。

出来的代码大概是这样的:

# ========== 学生成绩管理系统 ==========
# 这是一个命令行版的学生成绩管理系统,适合 Python 初学者学习

import json
import os

DATA_FILE = "students.json"


def load_data():
    """从 JSON 文件加载学生数据"""
    if os.path.exists(DATA_FILE):
        with open(DATA_FILE, "r", encoding="utf-8") as f:
            return json.load(f)
    return []


def save_data(students):
    """将学生数据保存到 JSON 文件"""
    with open(DATA_FILE, "w", encoding="utf-8") as f:
        json.dump(students, f, ensure_ascii=False, indent=2)


def add_student(students):
    """添加新学生"""
    print("\n===== 添加学生 =====")
    name = input("请输入姓名:")
    student_id = input("请输入学号:")

    # 检查学号是否重复
    for s in students:
        if s["学号"] == student_id:
            print(f"学号 {student_id} 已经存在,换个学号试试")
            return

    chinese = float(input("请输入语文成绩:"))
    math = float(input("请输入数学成绩:"))
    english = float(input("请输入英语成绩:"))

    student = {
        "姓名": name,
        "学号": student_id,
        "语文": chinese,
        "数学": math,
        "英语": english,
        "总分": chinese + math + english,
        "平均分": round((chinese + math + english) / 3, 1)
    }

    students.append(student)
    save_data(students)
    print(f"已添加 {name}")


def view_all_students(students):
    """查看所有学生,按总分从高到低"""
    if not students:
        print("\n还没有学生数据")
        return

    sorted_students = sorted(students, key=lambda x: x["总分"], reverse=True)

    print("\n===== 学生成绩列表(按总分排名)=====")
    print(f"{'排名':<4}{'姓名':<8}{'学号':<12}{'语文':<6}{'数学':<6}{'英语':<6}{'总分':<8}{'平均分':<6}")
    print("-" * 56)

    for i, s in enumerate(sorted_students, 1):
        print(f"{i:<4}{s['姓名']:<8}{s['学号']:<12}{s['语文']:<6}{s['数学']:<6}{s['英语']:<6}{s['总分']:<8}{s['平均分']:<6}")


def search_student(students):
    """按学号查找学生"""
    student_id = input("\n输入学号:")

    for s in students:
        if s["学号"] == student_id:
            print(f"\n{s['姓名']}{s['学号']})")
            print(f"语文:{s['语文']} | 数学:{s['数学']} | 英语:{s['英语']}")
            print(f"总分:{s['总分']} | 平均分:{s['平均分']}")
            return

    print(f"没找到学号 {student_id}")


def modify_student(students):
    """修改学生成绩"""
    student_id = input("\n输入要修改的学生学号:")

    for s in students:
        if s["学号"] == student_id:
            print(f"当前:{s['姓名']}")
            print(f"语文:{s['语文']} | 数学:{s['数学']} | 英语:{s['英语']}")

            s["语文"] = float(input("新的语文成绩(回车跳过):") or s["语文"])
            s["数学"] = float(input("新的数学成绩(回车跳过):") or s["数学"])
            s["英语"] = float(input("新的英语成绩(回车跳过):") or s["英语"])

            s["总分"] = s["语文"] + s["数学"] + s["英语"]
            s["平均分"] = round(s["总分"] / 3, 1)

            save_data(students)
            print(f"已更新 {s['姓名']} 的成绩")
            return

    print(f"没找到学号 {student_id}")


def delete_student(students):
    """删除学生记录"""
    student_id = input("\n输入要删除的学生学号:")

    for i, s in enumerate(students):
        if s["学号"] == student_id:
            confirm = input(f"确定删除 {s['姓名']}{student_id})?(y/n):")
            if confirm.lower() == "y":
                students.pop(i)
                save_data(students)
                print("已删除")
            else:
                print("取消删除")
            return

    print(f"没找到学号 {student_id}")


def show_statistics(students):
    """成绩统计"""
    if not students:
        print("\n没有数据可以统计")
        return

    chinese_scores = [s["语文"] for s in students]
    math_scores = [s["数学"] for s in students]
    english_scores = [s["英语"] for s in students]

    print("\n===== 成绩统计 =====")
    print(f"{'科目':<6}{'平均分':<10}{'最高分':<10}{'最低分':<10}{'及格率':<10}")
    print("-" * 46)

    for subject, scores in [("语文", chinese_scores), ("数学", math_scores), ("英语", english_scores)]:
        avg = round(sum(scores) / len(scores), 1)
        print(f"{subject:<6}{avg:<10}{max(scores):<10}{min(scores):<10}"
              f"{round(sum(1 for s in scores if s >= 60) / len(scores) * 100, 1)}%")


def show_menu():
    """主菜单"""
    print("\n" + "=" * 30)
    print("     学生成绩管理系统")
    print("=" * 30)
    print("1. 添加学生")
    print("2. 查看所有学生")
    print("3. 查找学生")
    print("4. 修改成绩")
    print("5. 删除学生")
    print("6. 成绩统计")
    print("0. 退出")
    print("=" * 30)


def main():
    students = load_data()
    print(f"已加载 {len(students)} 条记录")

    while True:
        show_menu()
        choice = input("请选择(0-6):")

        if choice == "1":
            add_student(students)
        elif choice == "2":
            view_all_students(students)
        elif choice == "3":
            search_student(students)
        elif choice == "4":
            modify_student(students)
        elif choice == "5":
            delete_student(students)
        elif choice == "6":
            show_statistics(students)
        elif choice == "0":
            print("再见")
            break
        else:
            print("输入不对,重新选")


if __name__ == "__main__":
    main()

存成 student_system.py,终端里跑:

python student_system.py

一个带数据持久化的成绩管理系统就跑起来了。
在这里插入图片描述

5.3 出错了怎么办?

比如用户不小心打了字母进去当成绩,程序会崩。别自己盯着屏幕找 bug,把报错贴给 IMYAI:

运行这段代码时如果用户输入了非数字的成绩会报错,请帮我加上输入校验

它直接给你补一段校验函数:

def input_score(prompt):
    """安全输入成绩,保证是 0-100 的数字"""
    while True:
        try:
            score = float(input(prompt))
            if 0 <= score <= 100:
                return score
            print("成绩范围 0-100,重新输入")
        except ValueError:
            print("请输入数字")

把原来那几个 float(input(...)) 换成这个函数调用就行。

5.4 再加点料

程序基本能用了,但终端输出全是白字,有点朴素。继续让 IMYAI 优化:

帮我把这个成绩管理系统升级一下:

  1. 用 colorama 给输出加颜色,标题蓝色、错误红色、成功绿色
  2. 统计数据用终端 ASCII 柱状图展示(* 表示长度)
  3. 增加导出 CSV 的功能

改完之后运行效果像样多了。

5.5 回头看看

整个过程里,你做的事就是描述需求、跑代码、发现问题再描述。真正花时间的不是敲键盘,而是想清楚你到底要什么。

AI 把"我想做什么"翻译成了可运行的东西。它写的代码未必没问题,但它帮你跳过了最磨人的环节:翻文档、搜 Stack Overflow、试参数。省出来的精力,你可以拿去想架构、捋业务逻辑、或者早点下班。


六、我的实际使用感受

用了快两年,好的坏的都有。

如果你同时用好几个 AI 模型,又不想管一堆账号和订阅,这网站很适合。写代码、写文章、做图、做视频,在不同 AI 工具间频繁切换的人,集中到一个地方会省很多事。学生和新手想低成本试试各种模型,也不用一个个去注册。

不太适合的情况也有。对延迟特别敏感的场景,直连官方 API 肯定更快。需要批量调 API 做自动化 pipeline 也不行,IMYAI定位是交互使用,不是 API 服务。还有就是处理敏感数据的时候,数据会经过第三方,自己掂量。

日常用它写代码、改 bug、配图、整理思路,够用。未必每项都是最强的,但胜在什么都在一起,不用来回切,大部分功能还免费。


几个入口:

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐