使用Huginn打造自动化云端信息助手

前言

半年前我在简书上分享过一篇文章——Huginn 安装教程—建立你自己的 IFTTT,简单地介绍了一下Huginn到底是什么以及它部署到Heroku云平台上的方法。后来,我和利器群里结识的几个群友一起完成了Huginn教程的翻译;就在上个月,我们把这些教程都放到了网上(托管Github和Coding),于是就有了现在的Huginn中文网。但是,当我向其他人推荐这个开源应用时,大家还是不理解这个应用到底有大的用途,或者是有哪些有趣的玩法,恐怕就连Huginn这个单词很多人都不知道它的意思,更不要说它其中的典故。所以,我想结合我这近十个月左右的使用经验跟大家谈一谈它

本文不会详细地去介绍如何去使用它,如果你想学习Huginn的话,请看我们的Huginn中文网;更加深入地学习,请访问该项目的Github地址如果你还不知道Huginn是什么,或者还不是十分清楚它的用途,或是想知道它到底有哪些有趣的玩法,可以继续看下去

Huginn的典故出处

简介与原理

Huginn是北欧神话中奥丁肩膀上的乌鸦,它会帮助奥丁收集全世界的信息。在Huginn的项目主页上,作者对它有详细的介绍,我们的中文网上也有一篇简介——Huginn 简介。作者的原话是“Huginn is a system for building agents that perform automated tasks for you online”,所以,你可以理解成Huginn是一个在线自动化任务系统或者是云端私人助手;如果你对IFTTTYahoo!Pipes很了解的话,你也可以理解成 Huginn >= IFTTT + Yahoo!Pipes 。

Huginn的原理跟IFTTT云服务的原理类似,在IFTTT中,通过将每个Recipe串连起来,组合成一个Applet,就可以实现一个功能;在Huginn中也有相似的概念,Agent对应Recipe,Scenario对应Applet(两者稍微有点差别,在Huginn中,Scenario其实只是一些标签)。在Huginn中,通过编写一连串的Agents,就可以实现一个功能。在简书上的这篇文章中——Huginn: 烧录 RSS 的神器,作者将Huginn比如成一个加工工厂,每个Agents就像是流水线上的工人或机器,一组串联起来的Agents组成了一条流水线,我觉得这个比喻非常地恰当。

下面我举一个简单的例子吧,例如,我们想把某个人的知乎回答制作成RSS,用来在RSS阅读器上进行阅读。那么,我们需要写三个Agents,第一个Agent抓取回答的标题和链接,第二个Agent会根据链接抓取回答的全文,最后一个Agent将标题、链接和全文组合在一起,制作成RSS,这样就可以得到一个跟踪某人知乎回答的RSS源。在Huginn中,会按照下图所示的流程进行工作:

使用Huginn将知乎回答制作成RSS

定制化推送与一站式阅读

Huginn具体有哪些作用或用途,作者其实也列举了很多,比如,监测天气变化,监测Twitter热点,监测商品价格,监测Gmail邮箱,发送提醒,制作RSS,还可以连接到各种丰富的第三方应用(比如,邮箱、微博、Twitter、Wunderlist、Slack、Pushbullet,等等),可以组合出很多很多有趣的功能。经过我这一段时间的使用,总得来说,我觉得Huginn可以帮助我们做到两件事情,一是定制化推送或提醒,二是一站式阅读

首先,定制化推送或提醒就像你平时设定闹钟一样,设定好时间或条件后,当时间或条件满足时,Huginn就会把信息推送给你,或提醒你该去做某件事情。比如说,明天下雨,提醒你带伞;电视剧或漫画更新,提醒你去观看或直接推送给你;感兴趣的商品降价,提醒你去购买;发生有趣的热点新闻,也会推送给你。。。诸如此类生活中很多零散的信息地处理,甚至可以说,我们每天都在接收并处理这些信息。但是,这些明显带有个人主观喜好的事情,每个人的需求都不一样,有些人喜欢看西部世界,有些人喜欢看射雕英雄传,有些人喜欢看电视,有些人喜欢看漫画,有些人喜欢阅读文章,有些人喜欢欣赏照片……但是,很难有一个应用能够满足所有人的需求。如果要想满足所有人的需求的话,那就必须要让用户自己也参与进来,自己去筛选信息、制作信息源

去年出现了一个非常火的app,叫做即刻,我相信很多人都用过它或者还在使用它,这个app上有很多有趣的主题,诸如,有豆瓣8.0分以上的新电影、今天微博都在热议什么,等等,这个app在豌豆荚上的下载量已经有了34万,但是,尽管它有如此之多的主题,仍然不可能满足所有人的需求,比如,我想让它推送豆瓣7.5分以上的新电影,因为它没有这个主题,用户就无法得到这个信息。但是,对于Huginn来说,这种自定义是最简单不过的啦,因为Huginn的自定义界面是可以从底层信息源开始,它是一个通用的云端信息处理工具,只要你能熟悉掌握它,就可以满足你想要的大部分定制化推送。当然,它的操作和使用成本是比较高的,需要自建服务器,学习它的操作方法,再深入一些还需要用户懂一些编程方面的知识。

再说一说一站式阅读吧,我个人理解的一站式阅读是指在一处阅读所有的关注信息,包括但不仅限于微信公众号、知乎、简书、豆瓣、微博、Instagram……首先,我想讲一讲,为什么我们要去做一站式阅读。不知道大家有没有这样的体验,自己订阅了很多的微信公众号,但是却很少阅读,哪怕是当时觉得这个公众号的文章非常非常好,而过了很久才发现,我每天却很少打开它,除了微信公众号以外,知乎、简书、微博上的关注都可能会出现这种状况,这是为什么呢?我觉得很大一部分的原因是因为,这些信息的分布太过于分散。比如,你想要看微信公众号的话,需要打开微信,找到订阅号;阅读知乎需要打开知乎app,微博、简书也是这样;而除了这些主流的信息渠道,还有很多其它的信息渠道需要单独去阅读,我想你肯定是难搞定的;即使能做到定期阅读这些信息渠道,我觉得你肯定也耗费了不少精力,毕竟打开、关闭这些app累计下来的时间也应该有不少。所以,简化日常阅读信息的流程是非常重要的,而且,更重要是我们要不忘初心,因为既然你已经订阅或关注了这些内容,我觉得还是应该花时间去看一看的,这也是对过去承诺的负责。

因此,最好的解决方法就是一站式阅读,将所有自己关注的信息全部放在一处,而一站式阅读的最好方法就是RSS——将自己关注的信息渠道都制作成一个个RSS源,然后在RSS阅读器中集中阅读,之前我在简书上写过一篇文章【干货】信息大爆炸时代,该如何高效阅读,其中就有讲到各种信息源的RSS解决方案,而Huginn就是该方案的终极工具。

信息终极解决方案

在日常生活中,信息有很多种,有比较隐私的,有比较零散的,有希望可以分享的,有希望能即时获取的。。。而针对不同的信息,Huginn配合第三方应用都有很好的解决方案,比如一些优质的博客,我们可以制作成RSS,集中在RSS阅读器中阅读,等等,除了RSS阅读这种最佳的方式,下面我再介绍一些通过Huginn实现的信息解决方案。

1. Huginn与即刻配合使用(创建分享信息)

即刻通过人工和爬虫的方式制作了很多有趣的主题,每个主题下的信息都可以点赞和评论,具备了很好的社交功能。最新版的即刻还推出了创建提醒的功能,通过app提供的机器人可以将微信公众号、知乎、微博或RSS制作成主题,然后分享给其他人订阅。但是,它并不能将任意网站制作成主题,不过,因为它可以将RSS制作成主题,那么这样的话,借助Huginn制作RSS的强大功能,理论上就可以将绝大多数网站上的信息制作成主题。例如我有这样一个需求,我想将七原罪的漫画更新制作成即刻主题。首先,我需要寻找信息源,漫画因为版权的问题,在很多主流网站上都找不到,只有万能的百度贴吧上有(而且更新是最快的)。有了信息渠道后,我在Huginn中建立了一连串的Agents,它的功能是分析贴吧中的热门(置顶)帖子,一旦帖子中出现“东立汉化”并且是最新一话时,就会生成RSS中的一个item,最后通过即刻机器人将RSS制作成主题。

Huginn配合即刻创建主题

2. Huginn与IFTTT配合使用(自动发布信息)

IFTTT本身就是一款非常强大的云服务,它可以将几百种应用组合在一起,它自身就有很多地玩法,不了解的可以看看少数派的这篇文章——触发你的智能生活:IFTTT 入门。IFTTT可以接收RSS,因此可以先通过Huginn制作RSS,然后与IFTTT连接起来,但是更好的方式是通过IFTTT提供的Maker服务,这个Recipe可以接收或发起请求(Make/Receive a web request),而Huginn就有相对应的接口(Webhook/Website Agent),因此,两者之间是可以完全相互对接的。通过这样的组合,就极大地扩展了Huginn的第三方应用,也就是说,IFTTT上的几百种第三方服务都可以为Huginn所用
比如我想每天自动在微博上发一张APOD提供的天文图,就可以通过IFTTT将RSS源跟微博连接起来。但是,APOD官网提供的RSS源中的图片尺寸太小,因此我不想使用该源,而是使用Huginn将官网上提供的大图制作成RSS源,然后通过IFTTT将其发布到微博上。如果再结合使用即刻上的微博机器人的话,又可以在即刻上创建一个新的主题——每日一天文图

Huginn、IFTTT、即刻三者配合使用

3. Huginn配合Slack使用(零散私人信息)

Huginn没有自己的app,也就没有自己的信息接收端,因此,需要借助其他app来接收信息。如果是制作成RSS的话,RSS阅读器就是接收端;如果是触发邮件的话,邮箱就是接收端……但是,对于零散的信息,比如提醒你某个电视剧的更新,如果使用RSS或邮箱,显然是很不方便的,而且,如果是将自己私人有关的信息制作成RSS的话,一旦RSS地址被其他人知道了,就很不安全,因此,在这里我推荐使用Slack这个工具。Slack是个非常强大的团队协作工具,它可以聚合非常多的第三方服务,比如,Github、Wunderlist、Trello……Huginn可以借助Slack Agent将信息传递到Slack中的某个频道里。Slack有自己的app,因此你就可以在手机端浏览Huginn推送的定制化信息。

Huginn推送定制化信息到Slack私人频道

4. Huginn配合Pushbullet使用(即时信息)

如果想利用Huginn发送即时(实时)信息的话,经常使用邮箱的人,可以直接通过Huginn的 Email Digest Agent发送到你的常用邮箱;如果你经常使用微信,同时微信绑定了QQ邮箱,你可以发送到QQ邮箱,也能实现非常快的提醒。但是,通过邮箱来传递信息太过于传统,而且也不是完全的即时,因此,在这里推荐大家使用Pushbullet,这是一款用于传递电脑PC与手机端信息的应用工具,我在简书上的这篇文章中也有介绍-【干货】信息(时间)管理之最强工具包(解决方案)Huginn上有Pushbullet Agent,通过它,可以自动地将处理好的信息传递到你的Pushbullet上,如果你的手机安装了该应用,就可以接收到Huginn传递的即时信息

Huginn配合Pushbullet推送即时信息

除了上面我介绍的这些信息解决方案以外,其实还有很多有意思的方案,比如,使用Huginn中的Wunderlist Agent自动创建待办事项,使用Evernote Agent自动生成笔记,使用邮件触发Huginn处理信息,等等。有了Huginn,就像是有了一套万变的积木,通过它,你可以建造一个你自己想要的信息王国,And You are the king !!!

总结

现在这个时代是一个发展特别迅速的信息大爆炸时代,然而,我们平时接收的信息大都来自于朋友圈或其他应用的推荐,但是,我们不应该忘了,真正了解你的人应该是你自己,绝不是其他人或是什么乱七八糟的app。我们应该从源头上清楚自己需要看些什么,同时,用最方便最高效的方式阅读这些信息,这样的话,我们才不会被时代所抛弃,也不会被信息的洪流所淹没。Huginn, your agents are standing by!!!

发表回复