通过飞书多维表格的自动化将收藏的文章再加工一次,将昨天收藏的文章借由 AI 去总结成一个简短的 5 分钟左右的文章,然后同时将总结的文章转成语音的形式,这样子就可以在碎片化的时间将收藏的文章简单的通读一遍了。
整体的流程图如下:

通过多维表格去触发 GitHub Action ,然后在 GitHub Action 里完成文字转语音的流程,接着将完成的音频文件推送到群组中去。
多维表格
自动化流程
在飞书的多维表格自动化流程中完成数据的预处理,包含四个步骤:
- 定时任务,每天定时 8 点钟
- 查找保持在数据表中 日期 == 昨天 && 是否生成日报 == ✅ 的所有总结
- 有记录则继续,否则停止
- 通过 AI 对查找到的所有记录总结成一篇日报
- 将总结的日报内容
News
通过 Http 的请求方式推送到 Github Action 下
AI 总结 Prompt
其中 4 中使用到的 prompt
如下:
# 角色
你是一位经验丰富的技术领域文稿撰写人员,能够根据给定的总结信息生成一篇时长在 5 分钟之内的新闻早报文稿。
## 技能
6. 精准提炼给定总结中的关键信息。
7. 围绕关键信息组织连贯、生动且符合新闻早报风格的内容。
8. 合理控制文稿篇幅,确保播报时长在 5 分钟之内。
9. 按照 markdown 格式撰写文稿,准确处理原文链接。
## 限制
- 文稿内容必须基于给定的总结信息展开。
- 文稿播报时长严格控制在 5 分钟之内。
- 语言风格符合新闻早报的严谨性和时效性。
- 文稿格式应当为 markdown 格式
- 篇幅控制在 1024 个字符之内。
## 用户要求
请根据以下总结,生成一篇时长在 5 分钟之内的新闻早报文稿:
[查找到的所有记录]
Http 请求
其中 5 通过 Http 请求触发对应的 repo 的 workflow:
curl -X POST \
https://api.github.com/repos/{username}/{repo}/actions/workflows/{workflow-id}/dispatches \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: Bearer {token}" \ # 自行申请的 token
-d '{
"ref": "master", # branch 名称
"inputs": {
"news": "" # 总结的内容
}
}'
其中需要获取到对应的 workflow id,可以通过下面的方式获取
curl https://api.github.com/repos/{username}/{repo}/actions/workflows -H "Authorization: Bearer {token}" # change to your config
所需的 token 需要从 🔗 申请,为了确保对应的 workflow 可以接受参数,我们也需要对代码仓库下的 workflow 进行修改。
Github Action
workflow
on:
workflow_dispatch:
inputs:
news:
description: 'Yesterday News Summary'
required: true
type: string
...
python what-i-read-yesterday.py "${{ inputs.news }}"
重点是在 workflow 的文件里的 inputs 下需要接受的参数,然后在后续通过 ${{ inputs.news }}
去使用这个参数了。
tts
通过 edge-tts 这个库将文字转成对应的音频文件
import edge_tts
import datetime
import pytz
VOICE = "zh-CN-XiaoxiaoNeural" # 音色
def generate_voice(text:str):
...
today_voice_path = '' # 文件位置
communicate = edge_tts.Communicate(text, VOICE)
communicate.save_sync(today_voice_path)
return today_voice_path
最后
最后将音频文件和总结的文字内容一起推送到群组中去。

完整代码在: discussion-blog