大家好,我是极客老墨。
前几天折腾了一整天,终于把"每日一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,我走了一遍完整流程:
- 从题库拿题
- 调用 skill 生成图片
- 调用中转服务上传素材
- 创建草稿
- (可选)发布
流程都通了,下次老大说’发一道’,我直接走这个流程就行。”
说实话,看到这段日志我有点感慨——这玩意儿真的在"学习"。
我的思考
折腾完这个系统,我有几个感悟:
1. AI 不是工具,是伙伴
一开始我把小墨当工具用,“你给我生成个图片”、“你给我写段代码”。但现在它是伙伴了,有自己的"记忆"和"流程"。
我说"发一道",它知道要做什么,不需要我一步步指导。
2. 安全第一
content-publisher 这个中转服务,一开始我觉得多此一举。但后来想想,把 appid 和 appsecret 直接给 AI,确实不安全。现在小墨只能通过 API 调用,拿不到敏感信息,心里踏实多了。
3. 题库是核心
题库的质量直接决定了内容的质量。小墨现在能自动维护题库,但题目、答案、难度这些,还是需要我人工把关。
后期题库大了,可能要上数据库,但现在的飞书方案够用了。
4. 自动化不是目的,是手段
我搞这个系统,不是为了炫技,是为了省时间。每天半小时的体力活,现在一句话搞定。
但省下来的时间干什么?写更好的内容、思考更有价值的问题。这才是自动化的意义。
接下来的计划
目前系统跑通了,但还有几个优化点:
1. 定时任务 现在还是我手动触发,后续可以让小墨每天固定时间自动执行。
2. 题库质量 小墨能自动维护题库,但题目质量需要我把关。计划每周 review 一次题库,淘汰不好的题目。
3. 数据分析 统计每道题的阅读量、点赞量,分析哪些题目受欢迎,反向优化题库。
4. 扩展到图文 这个流程不仅适用于每日一Go,图文也是一样的。后续可以扩展到更多内容类型。
总结一下
折腾这个系统,当然不可能是很顺利的。我遇到的坑:
- 记忆丢失,隔天就可能忘记了昨天给他说过的东西,所以需要告诉他随时提取关键点记下来,仿佛在教一个小学生;
- 编码问题,skill中,小墨的代码还是存在像字符编码错误这样的问题,尤其是在windows上。不过老墨慢慢教他,他可以努力学习并解决。
我最大的收获不是"自动化"本身,而是对 AI 的理解变了。
它不是工具,是伙伴。它有"记忆",能"学习",能"总结"。
给它一个目标,它会自己想怎么实现。给它一个流程,它会记住并重复执行。
这才是 AI 的正确打开方式。
如果恰好你也需要相同的流程,可以私聊我,一起交流!
互动时间
你有没有用 AI 自动化过什么工作流?效果怎么样?欢迎评论区交流!
极客老墨,继续折腾!