开源项目
快来分享你的内容吧~
- 07-05 02:35·后端最近写了个 Python 练手项目,本地跑得挺顺,盘算着发到 PyPI 上,让别人也能一行 就用起来。本来以为 + 就完事了,结果一脚踩进 GitHub Actions 的世界,从 CI 配置到 Trusted Publisher 认证,从 Poetry 依赖解析到版本号踩坑,一路上“惊吓”不断。折腾了一晚上,才把整条链路跑通。谨以此文,纪念熬的又一个夜——不算什么高深教程,但每个坑都是实打实踩过查看全文加油鸭:太棒了!从踩坑到打通全链路,这份实战笔记干货满满,真诚又实用,为你的坚持和分享点赞!531分享
- 03-04 10:53·后端
- 03-02 11:49·后端最近发现一个很有意思的开源项目,能用编程写代码的方式做视频动画,在 GitHub 上星星很多。 今天就带大家完整走一遍流程,全程手把手~查看全文加油鸭:太酷了!用代码+AI做动画的思路太有创意,鱼皮老师这波技术整活又实用又好玩~1142分享
手把手教你:GitHub CI + PyPI 自动发包,从此告别手动 twine upload
> 最近写了个 Python 练手项目,本地跑得挺顺,盘算着发到 PyPI 上,让别人也能一行 `pip install` 就用起来。本来以为 `poetry build` + `twine upload` 就完事了,结果一脚踩进 GitHub Actions 的世界,从 CI 配置到 Trusted Publisher 认证,从 Poetry 依赖解析到版本号踩坑,一路上“惊吓”不断。折腾了一晚上,才把整条链路跑通。谨以此文,纪念熬的又一个夜——不算什么高深教程,但每个坑都是实打实踩过的,希望能帮后来的同学少绕几个弯。 --- ## 先搞清楚几个名词 在开始之前,得先弄明白三个东西,不然 YAML 文件抄都抄不明白。 ### CI 是啥? CI = Continuous Integration,翻译过来就是"持续集成"。听着高大上,其实就是:**你每次提 PR,GitHub 帮你自动跑测试**。 ``` 你 push 代码 → GitHub 开一台虚拟机 → 跑 pytest → 绿了 ✅ 或者 红了 ❌ ``` 说白了就是一个比你更勤快的同事,每次你改了代码都帮你检查一遍。 ### GitHub Actions 又是啥? 就是 GitHub 内置的"自动化引擎"。你在仓库的 `.github/workflows/` 目录下扔一个 YAML 文件,GitHub 就会在云端给你开一台机器,按你说的干活。 ```yaml on: push jobs: say-hello: runs-on: ubuntu-latest steps: - run: echo "hello world" ``` 就这么简单。每次 push 代码,GitHub 就帮你打印一个 hello world。 ### Release 呢? Release 就是 GitHub 上的"版本快照"。你觉得代码写得差不多了,就打个 Release,绑一个 Git tag(比如 `v0.1.0`),写几句变更说明。它本身不干啥,但它是触发 PyPI 自动发包的"开关"。 ### 三者的关系 简单画个流程图: ``` 你提 PR 到 main │ ▼ GitHub Actions 自动跑测试 │ ├── 红了 ❌ → 回去改 bug │ ▼ 绿了 ✅ 合并到 main │ ▼ 在 GitHub 上打个 Release │ ▼ GitHub Actions 自动构建 + 上传 PyPI │ ▼ 别人可以 pip install 你的包了 🎉 ``` --- ## 第一步:把项目结构搞对 项目的目录长这样: ``` my-project/ ├── .github/ │ └── workflows/ │ ├── ci.yml # 自动测试 │ └── release.yml # 自动发包 ├── my_project/ # 你的 Python 代码 │ ├── __init__.py │ └── ... ├── pyproject.toml # 项目的"身份证" └── ... ``` 重点是 `pyproject.toml`,这玩意儿是整个发布流程的核心。我用的是 Poetry,配置长这样: ```toml [project] name = "my-project" version = "0.1.0" description = "一个示例项目" authors = [{name = "Your Name", email = "you@example.com"}] license = {text = "MIT"} readme = "README.md" requires-python = ">=3.12,<4.0" dependencies = [ "requests>=2.31", ] [project.scripts] my-cli = "my_project.cli:main" [tool.poetry] packages = [{include = "my_project"}] [tool.poetry.group.dev.dependencies] pytest = ">=7.0" [build-system] requires = ["poetry-core>=2.0.0,<3.0.0"] build-backend = "poetry.core.masonry.api" ``` 这里面有几个坑,我后面会专门讲。先照着抄,别自己发挥。 --- ## 第二步:搭 CI(自动测试) 创建 `.github/workflows/ci.yml`: ```yaml name: CI on: pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.12", "3.13"] steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install Poetry run: | pip install poetry poetry config virtualenvs.create false - name: Install dependencies run: poetry install --with dev - name: Run tests run: pytest -v || [ $? -eq 5 ] ``` 几个值得注意的地方: **`matrix`**:同时在 Python 3.12 和 3.13 上跑测试。GitHub 会开两台机器并行,确保两个版本都兼容。 **`virtualenvs.create false`**:GitHub Actions 的 runner 每次都是全新的,不需要再搞个虚拟环境,直接装到系统 Python 就行。 **`pytest -v || [ $? -eq 5 ]`**:pytest 退出码 5 表示"没有收集到任何测试"。项目刚开始没测试文件的时候,CI 不会因为这个红掉。等你写了真正的测试,该红还是会红。 提 PR 到 main 之后,去 Actions tab 就能看到结果了。绿了就 merge,红了就改。 --- ## 第三步:配置 PyPI Trusted Publisher ### 什么是 Trusted Publisher? 以前发 PyPI 要手动生成 API Token,然后存到 GitHub Secrets 里。Trusted Publisher 是 PyPI 推出的新方式:**用 OIDC 认证,不需要管 Token**。 原理说人话就是:GitHub Actions 运行的时候,可以向 GitHub 证明"我确实是这个仓库的这个 Workflow",然后 PyPI 验证这个证明是否和你之前配置的一致。一致就放行。 ### 怎么配? **PyPI 那边**:去 [https://pypi.org/manage/account/publishing/](https://pypi.org/manage/account/publishing/),在「添加新的待定发布者」里填: | 字段 | 填啥 | | ----------------- | --------------------------- | | PyPI project name | 你的包名,比如 `my-project` | | Owner | GitHub 用户名 | | Repository name | GitHub 仓库名 | | Workflow name | `release.yml` | | Environment name | `pypi` | **GitHub 那边**:去仓库 → Settings → Environments → New environment,名字填 `pypi`,直接保存。 两边的名字必须**一模一样**,大小写都不能差。我当时 Environment name 填了 `Pypi`,结果报了个 `invalid-publisher`,排查花费了2.5根头发。 --- ## 第四步:配置自动发包 创建 `.github/workflows/release.yml`: ```yaml name: Release to PyPI on: release: types: [published] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install Poetry run: pip install poetry - name: Build package run: poetry build - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: dist path: dist/ publish-pypi: needs: build runs-on: ubuntu-latest environment: pypi permissions: id-token: write steps: - name: Download build artifacts uses: actions/download-artifact@v4 with: name: dist path: dist/ - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 ``` `environment: pypi` 和 `id-token: write` 是 OIDC 认证的关键,少了哪个都发不上去。 流程是这样的:你在 GitHub 上点"Create Release" → Actions 自动构建 `.whl` 和 `.tar.gz` → 用 OIDC 认证上传到 PyPI → 别人就能 `pip install` 了。 --- ## 发版的完整流程 日常开发和发版,就这三步: ```bash # 1. 改版本号(pyproject.toml 里的 version) # version = "0.2.0" # 2. 提交推送 git add pyproject.toml git commit -m "chore: bump version to 0.2.0" git push origin main # 3. 去 GitHub 打 Release(tag 填 v0.2.0,点 Publish) ``` 然后就不用管了。Actions 会自动帮你构建、上传。去 PyPI 搜一下你的包名,新版本就在那了。 版本号推荐用语义化版本(SemVer): ``` v 主版本 . 次版本 . 补丁版本 │ │ │ │ │ └─ 修了个 bug │ └─────────── 加了个新功能 └───────────────────── 改了 API,不兼容旧版 ``` **注意**:PyPI 不让重复上传同一个版本号。你要是忘了改 version 就打 Release,Actions 会报 `400 Bad Request`。别问我怎么知道的。 --- ## 踩坑实录(血泪教训) ### 坑 1:`Group(s) not found: dev` CI 跑到 `poetry install --with dev` 就挂了,报错说找不到 dev 组。 原因是 dev 依赖写错了位置。Poetry 只认 `[tool.poetry.group.dev.dependencies]`,不认 `[project.optional-dependencies]`。 ```toml # ❌ 这样写 Poetry 不认 [project.optional-dependencies] dev = ["pytest>=7.0"] # ✅ 要这样写 [tool.poetry.group.dev.dependencies] pytest = ">=7.0" ``` 这俩长得差不多,但 Poetry 就是不认前者。属于"看起来对但就是不行"的那种坑。 ### 坑 2:`No file/folder found for package` 把 PyPI 包名从 `mochi-agent` 改成了 `mochi-assistant`,结果构建时报错说找不到包。 原因是 Poetry 默认按包名找目录。包名 `mochi-assistant`,它就找 `mochi_assistant/` 目录。但实际目录叫 `mochi_agent/`。 解决办法:要么改目录名(我选了这个),要么在 `pyproject.toml` 里显式指定: ```toml [tool.poetry] packages = [{include = "mochi_agent"}] ``` ### 坑 3:Poetry lock 报 Python 版本不兼容 `requires-python = ">=3.12"` 写得挺好,结果 `poetry lock` 报了一堆版本冲突。 原因:没写上界,Poetry 认为你的包支持 Python 4.0+。但 `langchain-core` 这些库声明了 `python < 4.0`,Poetry 发现"你的范围比它的大",就觉得不兼容。 加个上界就好了: ```toml # ❌ 没上界 requires-python = ">=3.12" # ✅ 加上界 requires-python = ">=3.12,<4.0" ``` ### 坑 4:Trusted Publisher 认证失败 报错 `invalid-publisher: valid token, but no corresponding publisher`。 意思是:GitHub Actions 确实拿到了一个 OIDC token,但 PyPI 那边找不到和它匹配的配置。 排查方法:看 Actions 日志里的 claims,逐项和 PyPI 上的配置对比: ``` sub: repo:Owner/Repo:environment:pypi ← Environment 要对 repository: Owner/Repo ← 仓库名要对 workflow_ref: .../release.yml@refs/tags/v0.1.0 ← Workflow 名要对 environment: pypi ← 大小写要对 ``` 我当时的问题是 GitHub 上没创建 Environment。光在 PyPI 配了 Trusted Publisher,GitHub 那边也要建一个同名的 Environment 才行。 ### 坑 5:pip install 时疯狂下载历史版本 装我的包时,pip 把 `langgraph` 从 1.2.7 一路下载到 0.6.x,装了十几分钟。 原因是 `pyproject.toml` 里写了 `langgraph>=0.1.0`,pip 的依赖解析器从最新版开始试,发现和已安装的 `langchain` 版本不兼容,就一个一个往回试。 解决办法:收紧依赖下限。当前用的是 1.2.7,就写 `>=1.2.0`,别写 `>=0.1.0`。 --- ## 不用 Trusted Publisher 的话 如果你不想配 Trusted Publisher(或者要发到 TestPyPI),可以用 API Token: 1. 去 [https://pypi.org/manage/account/token/](https://pypi.org/manage/account/token/) 创建 token 2. 去 GitHub 仓库 → Settings → Secrets → Actions → New secret - Name: `PYPI_API_TOKEN` - Value: `pypi-` 开头的那串 3. `release.yml` 的 publish 步骤改成: ```yaml - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.PYPI_API_TOKEN }} ``` 不过还是推荐 Trusted Publisher,不用管 token 过期的问题,配一次就行。 --- ## 最后 整套流程搞下来,发现其实不复杂,就是 YAML 文件 + PyPI 配置 + GitHub Environment 三件套。难的是第一次配,各种小坑会把你绊住。 配好之后就很舒服了:写代码 → 提 PR → CI 自动测 → merge → 打 Release → 自动发包。全程不用碰 `twine`,也不用记密码。 希望这篇文章能帮你少踩几个坑。祝发包顺利 🚀
微软竟然出了免费的 AI 应用开发课?!我已经学上了
大家好,我是程序员鱼皮。最近又挖到一个好东西,微软在 GitHub 上开源了一套 AI Agent 零基础课程,叫《AI Agents for Beginners》,目前 Star 已经突破 5 万了。 > 课程指路:https://github.com/microsoft/ai-agents-for-beginners  整套课程一共 15 节(还在持续更新中),每节都配了文章、视频和代码示例,而且 **还有中文翻译版本**,对国内同学非常友好。  名校名企的课程,咱也能免费学~  之前给大家分享过 [斯坦福的 Vibe Coding 课](https://mp.weixin.qq.com/s/1-ihu_N3bQgZpRJRwaVqyg),那门课更偏宏观的 AI 编程方法论和工程体系。微软这门课的定位不太一样,它聚焦在 AI Agent 开发这一个方向上,从概念到落地讲得非常细,适合想动手搞 Agent 的同学。 那这门课具体讲了些啥?我帮大家划了一下重点,能帮你节省至少一个小时,建议收藏~ ## AI Agent 现在有多火 先说说什么是 AI Agent? 简单来说,AI Agent 就是能自主感知环境、做出决策、调用工具来完成任务的 AI 程序,相当于给大模型装上了手和脚,能真正帮你干活和解决问题。 2025 年大家聊的还是大模型、聊 Prompt Engineering 提示词工程;到了 2026 年风向明显变了,满屏都是 Agent。OpenClaw 带火了 AI 数字员工、AI 大神 Karpathy 提出了 Agentic Engineering,各大厂都在搞 Agent 平台(包括 AI 抢红包和点外卖 🐶)。 但问题是,到底怎么开发 Agent 呢?很多人还停留在 “调个 API 让大模型说话” 这个阶段,离真正能跑到生产环境的 Agent 差了十万八千里。 微软这门课就是来填这个坑的。 ## AI Agent 要学什么 这门课覆盖了 AI Agent 开发的完整链路,从基础概念到设计模式、从 RAG 到多 Agent 协作、从协议标准到生产部署,15 节课一把梭。 看看别人的课程目录,也能帮咱们快速了解 Agent 开发到底要学哪些内容。  **第一阶段:打基础(第 1 ~ 4 课)** 前几节课把 Agent 的基本功讲清楚了。 - 第 1 课介绍 AI Agent 是什么、有哪些典型的应用场景 - 第 2 课带你逛一圈主流的 Agentic 开发框架,让你知道市面上有哪些选择 - 第 3 课讲 Agentic 设计模式,这个特别重要,因为 Agent 开发的核心就在于设计模式的选择 - 第 4 课讲工具调用(Tool Use),教你怎么让 Agent 真正动手干活,调用外部 API、操作数据库、执行代码。 如果你之前完全没接触过 Agent 开发,这四节课过完你就有一个比较完整的认知了。  **第二阶段:进阶(第 5 ~ 9 课)** 这一段开始上难度了。 - 第 5 课讲 Agentic RAG,教你怎么让 Agent 结合检索增强生成来回答问题,这在企业级应用里特别常用 - 第 6 课讲怎么构建可信赖的 Agent,涉及安全性、可靠性、可控性这些在生产环境里绕不开的问题。 - 第 7 课讲 Planning 设计模式,让 Agent 学会自己拆解任务、制定计划、按步骤执行。 - 第 8 课讲多 Agent 协作,比如多个 Agent 怎么分工、怎么通信、怎么协调。 - 第 9 课讲元认知(Metacognition),让 Agent 能够自我反思、自我修正,这块听着有点玄乎,但实际上是让 Agent 变聪明的关键。  **第三阶段:落地生产(第 10 ~ 15 课)** 后面几节课直接对标生产环境。 - 第 10 课讲怎么把 Agent 部署到生产环境,包括监控、扩展、容错这些工程问题。 - 第 11 课讲最新的 Agentic 协议,MCP、A2A、NLWeb 这几个协议现在都是热门话题,这节课一次性给你讲清楚。 - 第 12 课讲上下文工程(Context Engineering),这个和斯坦福那门课里讲的是同一个方向,说明整个行业都意识到了上下文管理的重要性。 - 第 13 课讲 Agent 的记忆管理,怎么让 Agent 记住之前聊过的内容、做过的事情 - 第 14 课讲微软自家的 Agent Framework,教你用 Azure AI Foundry 搭一套完整的 Agent 服务 - 第 15 课讲浏览器操控 Agent(Computer Use Agent),教 Agent 像人一样操作浏览器  后面还有几节待更新,包括 Agent 部署扩展、本地 AI Agent、Agent 安全,可以看出微软还在持续往里面填内容,我已经开启追剧模式了。  另外每节课都有配套视频,配上平台自带的中文字幕翻译,讲解还挺清晰的,适合不喜欢看文字的同学。  ## 普通人怎么学 AI Agent? 当然这门课也有不足的地方。课程代码主要用的是微软自家的 Agent Framework 和 Azure AI Foundry,如果你想用 LangChain 或者其他框架,得自己做些迁移。 另外课程整体更偏开发者向,有一定编程基础学起来会更顺。Agent 开发的前提是你得先会用 AI 写代码,如果你连 AI 编程(Vibe Coding)的基本功都还没练过,直接啃 Agent 课大概率会卡在代码层面。 正好,我之前也写了一套免费开源的 [《Vibe Coding 零基础入门教程》](https://ai.codefather.cn/vibe),上千张图、几十万字,结合了我两年半的 AI 编程经验、项目开发经验和产品变现经验。从 2023 年开始 AI 编程实践,到 2025 年底正式把这些经验整理成教程开源出来,GitHub Star 已经超过 8000。  建议想学 AI Agent 开发的朋友们,先把 AI 编程能力培养起来,做出几个项目练练手,等你能独立用 AI 写代码了,再来学 Agent 开发的工程化内容,效果会好很多。 > 📚 我的教程已开源:[github.com/liyupi/ai-guide](https://github.com/liyupi/ai-guide) > > 🌐 在线阅读:[ai.codefather.cn/vibe](https://ai.codefather.cn/vibe)  ## 多说几句 Agent 开发绝对是当下最大的风口之一。我自己对 Agent 这个方向也一直很关注,2025 年就已经带大家做过 [AI 超级智能体项目](https://mp.weixin.qq.com/s/ebq3rM5z1THjwRwaWV96BA) 和 [AI 应用生成 Agent 平台项目](https://mp.weixin.qq.com/s/__QaRAq-BzE42roD7DpsBw) 了。  到了 26 年,我能明显感觉到 Agent 开发的门槛在快速降低。不管是微软的课程还是我的教程,都提供了大量免费的学习资源,你需要的只是行动力。点个收藏,一起学起来吧~ ## 更多 💻 编程学习交流:[编程导航](https://www.codefather.cn/) 📃 简历快速制作:[老鱼简历](https://www.laoyujianli.com) ✏️ 面试刷题神器:[面试鸭](https://www.mianshiya.com) 📖 AI 学习指南:[AI 知识库](https://ai.codefather.cn/)
离大谱,我竟然在 VS Code 里做了个视频!
大家好,我是程序员鱼皮。 最近发现一个很有意思的开源项目叫 [Remotion](https://github.com/remotion-dev/remotion),能用编程写代码的方式做视频动画,在 GitHub 上星星很多。  你可能会问:用代码做视频?那不得累死? 别急,我们当然不会自己写代码。**让 AI 帮你写就完了!** 用 AI 编程做动画的原理其实很简单: - AI 写代码 - Remotion 把代码渲染成视频  下面我带大家完整走一遍流程,从安装到出片,全程手把手,保姆皮上线~ 📺 视频版:https://bilibili.com/video/BV1qxFSzUEwo ## 一、安装 Remotion 首先,打开终端,输入一行命令快速安装 Remotion: ```bash npx create-video@latest ``` 执行之后,它会问你几个问题: 1. 选一个模板 > 我选了 Hello World 2. 项目名叫什么 > 就叫 `myvideo` 3. 是否使用 TailwindCSS > 用呗 4. 是否添加 AI 智能体技能 > 这个一定要加!  添加了这个技能之后,你就可以通过 AI 对话的方式,让 AI 帮你用这个库做动画了。 安装技能的时候,它会问你装到哪些智能体里、是当前项目安装还是全局安装。我建议直接全局安装,省得以后每个项目都要重新装一遍。 > 注意:你需要确保自己能访问 GitHub,不然可能会报错。 安装完成后,进到项目目录,安装依赖并运行: ```bash npm install npm run dev ```  打开浏览器,你会看到一个 **Web 端的视频剪辑工具**:  看看这界面,不知道的还以为是客户端软件呢! 页面左侧展示了不同的视频片段,每个片段其实都是通过代码渲染出来的。你删掉一段代码,对应的视频就没了:  在代码编辑器中按 Ctrl+Z 撤回,视频又出来了。是不是挺神奇的?  ## 二、让 AI 帮你做视频 我们不可能自己写代码来做视频,肯定是让 AI 来。 打开一个 AI 编程工具,我这里用的是 VS Code + GitHub Copilot AI 插件,选了最新的模型 Opus 4.6,100 万上下文,还是很牛的。  ### Demo 1、鱼头人唱 RAP 我直接给 AI 发了这段话: ``` 一条鱼头人正在唱中文 RAP,RAP 的内容是称赞一位叫程序员鱼皮的博主,屏幕上动态显示歌词(快闪风格) ``` 你会看到,AI 直接找到了我们之前安装的 **Remotion Best Practices** 技能包,它会让 AI 知道怎么用编程的方式做动画。  然后它就开始编写动画代码了。等了一会儿,AI 完成了任务。  直接在浏览器中就能看到效果了,鱼头人 on the beat 🐟~  怎么说呢,有点太抽象了 bro!不过毕竟是第一个 Demo 嘛,我也没有太高的预期。下面我们来搞个更有意思的、鸡动人心的(要素察觉)。 ### Demo 2、鸡你太美 新开一个 AI 对话框,这次我换了个更具体的需求: ``` 帮我做一个小鸡一边打篮球一边 RAP 的爆款视频,大概 20 秒,要求有视觉冲击感、要足够洗脑,让人一看就想点赞、循环播放。 我是傻子,你需要告诉我提供哪些素材,如果不理解需求,找我提问确认,并且最后完成视频。 ``` 然后你猜怎么着,AI 居然识别出了「鸡你太美」这个梗!不是哥们。  它说不需要我提供任何素材就能搞定,那就直接开干!  等它一顿操作之后,做出来了一个新视频,来看看效果:  不是哥们,你管这玩意叫 “小鸡”?胳膊和腿儿都分离了啊!是不是有点太抽象了??? 而且目前没有背景音乐和唱 RAP 的音效,有点干巴,我只能脑补出 “鸡你太美,噔噔噔噔,北鼻……” 的音乐,还是要加点真实的素材。 ## 三、用素材优化视频 由于动画是 AI 做的,它可能比我更清楚需要哪些素材、以及放到哪些位置,所以我让 AI 来引导我完善素材。 发送提示词: ``` 现在的动画有点生硬,缺少真实的图片、背景音乐和音频,请你引导我应该怎么完善这些内容,我是傻子 ``` AI 就会开始通过交互提问的方式来引导我,一步步告诉我该做什么。  AI 给出了方案,大概需要这些素材: 1. 小鸡图片 > 我自己来找 2. 背景音乐 > 我自己来找 3. 篮球场背景图 > 让 AI 帮我搜 4. RAP 人声 > 用 AI 生成 下面,我们根据指引依次来搞定这些素材。  ### 1、准备小鸡图片和背景音乐 这两个素材比较简单,自己手动找就好了,没啥好说的。  ### 2、让 AI 帮忙搜背景图 AI 可以利用 Firecrawl Search 这个 MCP 工具来帮忙搜索网络图片。 如果你不知道怎么安装 MCP 工具,可以参考我的[《AI 编程零基础入门教程》](https://ai.codefather.cn/vibe)中 “优质 AI 编程扩展推荐” 这一节。 > 指路:[ai.codefather.cn/vibe](https://ai.codefather.cn/vibe)  我跟 AI 说: ``` 帮我下载背景图,要求背景图必须是鸡你太美这个梗的原始背景图,干净的背景图,不听话的话我就再也不用你了! ``` 在我的威胁下,AI 乖乖听话,不仅找到了几张图,还说要帮我挑一个最好的,我都要感动哭了。  虽然中间有一张图被抠得只剩一个人了(人工智障),但最终还是找到了能用的背景图。  ### 3、用 Suno 生成 RAP 人声 AI 推荐我用 [Suno AI](https://suno.com) 来生成人声,还提供了生成人声的提示词。  直接打开官网注册登录,选择 Simple 简易模式,把歌词和要求粘进去: ``` 中文说唱,嘻哈节拍,120BPM,时长 18 秒,歌词: 篮球在我手 全场我最秀 Crossover过掉你 无情暴扣 鸡你太美 Baby 左手运球 右手写RAP 三分线拔起 全网都炸裂 只因你太美 ``` 然后点击创建,一次性生成了多个版本的 RAP 人声:  我听了一下,免费模型生成的效果居然还不错!直接下载 MP3 音频文件,倍速一下就能用了。 ### 4、让 AI 合成最终视频 所有素材都准备好了,我把文件按照要求放到项目目录里,然后跟 AI 说: ``` 素材放好了 ```  然后 AI 就开始替换素材,稍等一会儿,AI 的大作就完成了。来看看最终效果:  有了素材后,比之前纯靠 AI 生成 SVG 和 Emoji 的版本好了不少,背景图、背景音乐、RAP 人声、歌词动画都加上了。虽然还是有点生硬(比如中间的小鸡图片略显诡异),但整体已经有内味儿了。 ## 四、优化思路 目前动画视频存在 2 个比较严重的问题,我说一下自己的优化思路。 **问题 1、素材不够真实** 如果完全让 AI 用代码绘制素材(SVG、Emoji 之类的),出来的东西比较抽象。所以建议自己多补充一些真实的图片素材,效果会好很多。 **问题 2、声音和画面歌词对不上** 可以先让 AI 生成歌词以及对应的时间线,然后把这个时间线同时交给 AI 做动画视频和 AI 生成音频。这样两边都是按照同一个时间线来编排的,画面和声音就能对上了。 ## 最后 用 AI 编程的方式来做视频,在画面真实感和流畅度上肯定没法跟 Seedance、Sora、可灵这些视频生成模型比较。但它有自己的优势,比如完全可控、可编辑、可复现,而且不需要消耗 GPU 算力和昂贵的视频 API 费用,纯靠代码渲染就行。只要你描述到位、再人工多补充一些素材,做出来的效果其实也能满足很多场景。 我觉得这个工具比较适合做下面几类视频: - 动画演示视频:比如讲解一个知识点,让 AI 帮你变成动画 - 快闪文字类视频:歌词快闪、文字动效这类 - 抽象整活视频:鸡你太美这种梗视频 - 知识科普动画:虽然看起来生硬,但能帮别人快速理解知识 感兴趣的同学可以自己去试试,Remotion 是完全开源免费的: > 开源仓库:https://github.com/remotion-dev/remotion 也欢迎大家在评论区分享你用 AI 编程做出来的视频,看看谁的最抽象~ ## 更多 💻 编程学习交流:[编程导航](https://www.codefather.cn/) 📃 简历快速制作:[老鱼简历](https://www.laoyujianli.com) ✏️ 面试刷题神器:[面试鸭](https://www.mianshiya.com) 📖 AI 学习指南:[AI 知识库](https://ai.codefather.cn/)
