课程导学


00 - 课程导学


学完这门课,你能做什么?

完成全部 8 个章节后,你将拥有:

  • 一个 完整的桌面端 AI 应用(可分发为 .exe / .dmg / .AppImage)
  • 一套 可复用的 Go 服务架构 模板(配置管理 → AI 调用 → API 集成 → 文档生成 → 编排)
  • Wails3 框架 的深入理解(绑定机制、服务注册、跨平台打包)
  • 大模型嵌入桌面产品 的实战经验

更重要的是,这套模式可以快速迁移到任何内容创作场景 — 把"宠物"换成"科技"“美食"“旅游”,把 DeepSeek 换成 OpenAI / 文心一言 / 通义千问,把 Pexels 换成 Unsplash / 自有图库,核心架构不变。


我们做什么?

pet-content-creator — 今日头条宠物内容创作工具。

一句话描述:

输入主题 → AI 自动写文章 + 搜配图 → 一键导出图文并茂的 Word 文档

工作流程:

用户输入: 主题 + 宠物类型 + 写作风格 + 字数 + 配图数
                ↓
   ┌────────────────────────────┐
   │  1. AI 生成文章 (DeepSeek) │
   │     输出: 标题 + 正文       │
   │     输出: 配图搜索关键词    │
   └────────────┬───────────────┘
                ↓
   ┌────────────────────────────┐
   │  2. 搜索配图 (Pexels API)  │
   │     按关键词搜索            │
   │     下载图片到内存          │
   └────────────┬───────────────┘
                ↓
   ┌────────────────────────────┐
   │  3. 生成 Word (OOXML)      │
   │     拼接 XML 模板           │
   │     嵌入图片                │
   │     打包为 .docx            │
   └────────────┬───────────────┘
                ↓
        📄 输出文件到 Documents/

核心组件一览

backend/
├── config.go    → 配置管理    (JSON 读写 + 脱敏)
├── agent.go     → AI 创作     (Eino + DeepSeek ChatModel)
├── pexels.go    → 图片搜索    (Pexels REST API)
├── word.go      → 文档生成    (纯 Go OOXML Builder)
└── creator.go   → 编排服务    (串联以上 3 个服务)

frontend/
└── src/
    └── App.tsx  → React UI    (表单 + 结果展示)

main.go          → 应用入口    (Wails3 注册)

为什么选这套技术栈?

技术 为什么选它
Wails3 Go 后端 + Web 前端的桌面方案中,Wails3 最轻量,不需要嵌入浏览器内核,直接复用系统 WebView
Go 编译为原生二进制,无运行时依赖;goroutine 天然适合并发 API 调用
DeepSeek 国产大模型中性价比最高,API 兼容 OpenAI 格式,有官方 Go SDK
Eino 字节跳动开源的 AI 框架,提供统一的 ChatModel 抽象,方便未来切换模型
Pexels 免费图片 API,无需信用卡,注册即用,图库质量高
OOXML Word 文档本质是 ZIP 包 + XML,纯 Go 标准库就能生成,零额外依赖
React + TypeScript 类型安全 + 生态丰富 + Wails3 自动生成类型绑定

章节学习路线

00 课程导学  ← 你在这里
 │
 ├─ 01 环境搭建       ← 搭好开发环境,跑通第一个 Wails3 窗口
 │   └ 产出: 空白桌面窗口
 │
 ├─ 02 配置管理       ← 用 Go 写第一个服务,学会 Wails 服务注册
 │   └ 产出: 带配置面板的应用
 │
 ├─ 03 AI 文章生成    ← 接入 DeepSeek,写 Prompt,解析 AI 返回
 │   └ 产出: 能独立生成文章的后端
 │
 ├─ 04 Pexels 图库    ← 调用 REST API,搜索 + 下载图片
 │   └ 产出: 输入关键词返回图片列表
 │
 ├─ 05 Word 文档       ← 徒手构建 OOXML ZIP 包,嵌入文字和图片
 │   └ 产出: 一键导出 .docx 文件
 │
 ├─ 06 前后端桥接     ← Wails 绑定 + React 组件开发
 │   └ 产出: 完整的桌面 UI
 │
 ├─ 07 编排流水线     ← 串联所有服务,实现"一键生成"
 │   └ 产出: 完整的端到端创作流程
 │
 └─ 08 打包与扩展     ← 跨平台打包 + Docker 部署 + 扩展思路
     └ 产出: 可分发的安装包

阅读提示

代码块格式说明:

// ✅ 课程示例中的代码 (带行号 + 标注)

文中出现的代码路径均相对于项目根目录,例如:

  • backend/config.go → 项目根目录下的 backend/config.go
  • frontend/src/App.tsx → 项目根目录下的 frontend/src/App.tsx

图标约定:

  • 💡 — 知识点 / 原理说明
  • ⚠️ — 常见坑 / 注意事项
  • 🔧 — 动手练习
  • 📌 — 关键概念

开发环境速览

项目 版本
Go 1.24+ (推荐 1.25)
Node.js 18+
Wails3 CLI 最新 @latest
操作系统 Windows 10/11 · macOS 13+ · Linux (Ubuntu 22.04+)

Windows 用户特别提示: 需要安装 WebView2 Runtime(Windows 11 已内置,Windows 10 可能需要手动安装)。


预备知识自检

开始第 01 章之前,确认以下基础:

  • 能用 Go 写简单的函数、struct、error 处理
  • 知道 packageimportgo mod init 的作用
  • 了解 JavaScript 的基本语法(变量、函数、对象)
  • 知道 API Key 是什么、怎么申请

如果以上有打 ❌ 的项目,建议花 30 分钟快速浏览对应文档再继续。


准备好了吗?👉 下一章:环境搭建与 Wails3 初体验

如有疑问关注公众号给我留言
wx

关注公众号

©2017-2023 鲁ICP备17023316号-1 Powered by Hugo