受bookmark-summary开导,制作了一套翻译流程,利用浏览器插件收藏文章后,自动翻译并提交pr到github仓库,流程如下:
流程
浏览器插件Memo
浏览器收藏页面,支持添加标签,可以根据标签执行不同的流程,需要翻译的文章我会在增加一个#translate标签
github actions
github actions会监听到浏览器插件的收藏事件(仓库中markdown文件会新增一行),然后调用dify workflow翻译文章,翻译效果会提交到github仓库
dify workflow
利用jina抓取网页内容,返回markdown格式,在调用gpt翻译
创建pr
利用github actions创建pr
设置:
- # 创建pr
- - name: pr blog
- uses: peter-evans/create-pull-request@v7
- with:
- path: blog # 需要pr的repo位置
- token: ${{ secrets.GH_TOKEN }} # github accesstoken
- commit-message: 提交翻译到仓库
- committer: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- author: ${{ github.actor }} <${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com>
- signoff: false
- branch: posts
- delete-branch: true
- title: "提交翻译到仓库"
- body: |
- 新增翻译内容
- - Auto-generated by [create-pull-request][1]
- [1]: https://github.com/peter-evans/create-pull-request
- labels: |
- automated pr : translate
- draft: false
复制代码 注意
在一个github action 任务中checkout出2个仓库时有些需要注意的点,防止踩坑:
- pr的目标仓库需要先设置答应访问(设置中打开 “Accessible from repositories owned by the user xxx”),否则会报错
- - name: Checkout bookmark
- uses: actions/checkout@v4
- with:
- path: bookmark
- # 需要再blog repo打开配置 Access-> Accessible from repositories owned by the user 'yiGmMk'
- - name: Checkout blog
- uses: actions/checkout@v4
- with:
- token: ${{ secrets.GH_TOKEN }}
- path: blog
- repository: yiGmMk/blog
- ref: master
复制代码 效果
效果
工具
在这个流程中利用的工具:
- dify,实现翻译工作流:抓取文章,调用gpt翻译
- openrouter,提供各种gpt接口,并按统一的格式返回效果
- github actions,创建pr
- Memo插件
- d2,示意图画图工具
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |