大家好,我是极客老墨。

前几天折腾了一整天,终于把"每日一Go"的自动化流程跑通了。说实话,搞完的那一刻,我坐在椅子上发了会儿呆——这玩意儿真的能自己干活了?

让我从头说说这事儿。

起因:不想每天手动发图

做公众号的都知道,每天发图文是个体力活。选题、写题、生成代码图、上传素材、创建草稿、发布……一套下来,半小时没了。

我就在想:能不能让小墨(我的智能AI助理)自己干这事儿?

说干就干。

整个系统长这样

先给你看个整体架构图,不然光说容易晕:

[题库] → [小墨] → [daily-go-skill] → [图片生成]
                                        ↓
                                [content-publisher] → [微信公众号]

三个核心组件:

1. daily-go-skill 小墨自己写的 skill,专门用来生成 Go 题目的图片。用 Python 实现的,代码高亮直接用现成的库,简单粗暴。

2. content-publisher 这是我自己搞的微信 API 中转服务。为啥要搞这个?因为微信的 appid 和 appsecret 太敏感了,直接放小墨那儿不安全。这个服务跑在我自己的服务器上,小墨只能通过 API 调用,拿不到敏感信息。

3. 题库 小墨自己维护的,用飞书的多维表格。字段包括题目、答案、难度、状态、日期等。后期题库大了可以直接上数据库,但现在飞书够用了。 题库

小墨的工作流程

我给你还原一下它"脑子里"想什么。

第一步:接任务

我说:“小墨,发一道每日一Go到公众号。”

小墨的第一反应:“好的,老大。我先看看题库里有什么。”

第二步:读题库

小墨打开飞书表格,扫了一遍未发布的题目。

[题库查询]
- 题目1:Go 的 defer 执行顺序?(已发布)
- 题目2:slice 和 array 的区别?(已发布)
- 题目3:map 是并发安全的吗?(未发布)✓

“找到了,就这道吧。”

第三步:生成图片

小墨调用 daily-go-skill,把题目传过去。

[小墨] → [daily-go-skill]
"题目:map 是并发安全的吗?"
      ↓
[Python 脚本执行]
- 代码高亮渲染
- 背景样式生成
- 输出图片
      ↓
[返回图片路径]
"/tmp/go-daily-20260309.png"

“图片生成好了,现在上传到微信。”

第四步:上传素材

小墨调用 content-publisher 的上传接口。

[小墨] → [content-publisher]
POST /api/image/upload
{
  "image": "/tmp/go-daily-20260309.png"
}
      ↓
[验证权限]
- 检查 API Token
- 验证调用来源
      ↓
[调用微信 API]
POST https://api.weixin.qq.com/cgi-bin/material/add_material
      ↓
[返回结果]
{
  "media_id": "xxx",
  "url": "https://mmbiz.qpic.cn/xxx"
}

“牛逼,接口通了!素材上传成功,media_id 是 xxx。”

第五步:创建草稿

拿到 media_id 后,小墨继续调用草稿创建接口。

[小墨] → [content-publisher]
POST /api/create-draft
{
  "title": "每日一Go:map 是并发安全的吗?",
  "media_id": "xxx"
}
      ↓
[调用微信 API]
POST https://api.weixin.qq.com/cgi-bin/draft/add
      ↓
[返回结果]
{
  "media_id": "draft_xxx"
}

“草稿创建成功,media_id 是 draft_xxx。”

第六步:发布(可选)

这一步我其实没让小墨执行,因为个人公众号的发布接口不开放了。但代码是写好的,如果开放了,小墨可以直接调。

[小墨] → [content-publisher]
POST /api/publish
{
  "draft_media_id": "draft_xxx"
}
      ↓
[调用微信 API]
POST https://api.weixin.qq.com/cgi-bin/freepublish/submit
      ↓
[返回结果]
{
  "publish_id": "xxx",
  "msg_data_id": "xxx"
}

“发布成功!老大你去看看对不对。”

小墨的自我总结

我看了下小墨的日志,它居然自己总结了整个流程:

“今天老大让我发一道每日一Go,我走了一遍完整流程:

  1. 从题库拿题
  2. 调用 skill 生成图片
  3. 调用中转服务上传素材
  4. 创建草稿
  5. (可选)发布

流程都通了,下次老大说’发一道’,我直接走这个流程就行。”

说实话,看到这段日志我有点感慨——这玩意儿真的在"学习"。

我的思考

折腾完这个系统,我有几个感悟:

1. AI 不是工具,是伙伴

一开始我把小墨当工具用,“你给我生成个图片”、“你给我写段代码”。但现在它是伙伴了,有自己的"记忆"和"流程"。

我说"发一道",它知道要做什么,不需要我一步步指导。

2. 安全第一

content-publisher 这个中转服务,一开始我觉得多此一举。但后来想想,把 appid 和 appsecret 直接给 AI,确实不安全。现在小墨只能通过 API 调用,拿不到敏感信息,心里踏实多了。

3. 题库是核心

题库的质量直接决定了内容的质量。小墨现在能自动维护题库,但题目、答案、难度这些,还是需要我人工把关。

后期题库大了,可能要上数据库,但现在的飞书方案够用了。

4. 自动化不是目的,是手段

我搞这个系统,不是为了炫技,是为了省时间。每天半小时的体力活,现在一句话搞定。

但省下来的时间干什么?写更好的内容、思考更有价值的问题。这才是自动化的意义。

接下来的计划

目前系统跑通了,但还有几个优化点:

1. 定时任务 现在还是我手动触发,后续可以让小墨每天固定时间自动执行。

2. 题库质量 小墨能自动维护题库,但题目质量需要我把关。计划每周 review 一次题库,淘汰不好的题目。

3. 数据分析 统计每道题的阅读量、点赞量,分析哪些题目受欢迎,反向优化题库。

4. 扩展到图文 这个流程不仅适用于每日一Go,图文也是一样的。后续可以扩展到更多内容类型。


总结一下

折腾这个系统,当然不可能是很顺利的。我遇到的坑:

  1. 记忆丢失,隔天就可能忘记了昨天给他说过的东西,所以需要告诉他随时提取关键点记下来,仿佛在教一个小学生;
  2. 编码问题,skill中,小墨的代码还是存在像字符编码错误这样的问题,尤其是在windows上。不过老墨慢慢教他,他可以努力学习并解决。

我最大的收获不是"自动化"本身,而是对 AI 的理解变了。

它不是工具,是伙伴。它有"记忆",能"学习",能"总结"。

给它一个目标,它会自己想怎么实现。给它一个流程,它会记住并重复执行。

这才是 AI 的正确打开方式。

如果恰好你也需要相同的流程,可以私聊我,一起交流!


互动时间

你有没有用 AI 自动化过什么工作流?效果怎么样?欢迎评论区交流!

极客老墨,继续折腾!


相关阅读