受bookmark-summary 启发,制作了一套翻译流程,使用浏览器插件收藏文章后,自动翻译并提交pr到github仓库,流程如下:
流程 浏览器插件Memo 浏览器收藏页面,支持添加标签,可以根据标签执行不同的流程,需要翻译的文章我会在增加一个#translate标签
github actions github actions会监听到浏览器插件的收藏事件(仓库中markdown文件会新增一行 ),然后调用dify workflow翻译文章,翻译结果会提交到github仓库
dify workflow 使用jina抓取网页内容,返回markdown格式,在调用gpt翻译
创建pr 使用github actions 创建pr
配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -  name:  pr  blog   uses:  peter-evans/create-pull-request@v7    with:      path:  blog       token:  ${{  secrets.GH_TOKEN  }}       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”),否则会报错 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 -  name:  Checkout  bookmark   uses:  actions/checkout@v4    with:      path:  bookmark  -  name:  Checkout  blog   uses:  actions/checkout@v4    with:      token:  ${{  secrets.GH_TOKEN  }}      path:  blog      repository:  yiGmMk/blog      ref:  master  
 
效果 
工具 在这个流程中使用的工具: