Huginn - 构建代理、执行自动化任务
文章目录
- 一、关于 Huginn
- 什么是Huginn?
- Huginn 功能
- 加入Huginn
- 展示
- 二、安装
- 1、Docker
- 2、本地安装
- 3、开发
- 三、使用Huginn代理gems
- 四、部署
- 1、Heroku
- 2、OpenShift
- OpenShift 在线
- 3、在任何服务器上手动安装
- 4、可选设置
- 4.1 私人开发设置
- 4.2 启用WeatherAgent
- 4.3 禁用SSL
一、关于 Huginn
- github : https://github.com/huginn/huginn
- 讨论:ttps://gitter.im/huginn/huginn
什么是Huginn?
创建代表您监视和行动的代理。您的代理随时待命!
Huginn是一个系统,用于构建代理,为您在线执行自动化任务。他们可以读取网络,观察事件,并代表您采取行动。Huginn的代理创建和消费事件,沿着有向图传播它们。把它想象成您自己服务器上的IFTTT或Zapier的可破解版本。你总是知道谁有你的数据。你知道。
Huginn 功能
以下是您可以使用Huginn做的一些事情:
- 跟踪天气并在明天下雨(或下雪)时收到一封电子邮件(“别忘了你的雨伞!”)
- 列出你关心的术语,并在它们在Twitter上的出现发生变化时收到电子邮件。(例如,想知道机器学习的世界什么时候发生了有趣的事情?Huginn会在Twitter上观看术语“机器学习”,并告诉你什么时候讨论激增。)
- 留意航空旅行或购物交易
- 在Twitter上关注您的项目名称,并在人们提到它们时获得更新
- 删除网站并在更改时接收电子邮件
- 连接到Adioso、HipChat、FTP、IMAP、Jabber、JIRA、MQTT、nextbus、Push弹、Pushover、RSS、Bash、Slack、StubHub、翻译API、Twilio、Twitter和微博,仅举几例。
- 在一天中的特定时间发送包含您关心的事情的摘要电子邮件
- 跟踪高频事件的计数,并在事件激增时发送短信,例如术语“旧金山紧急情况”
- 发送和接收WebHooks
- 运行自定义JavaScript或CoffeeScript函数
- 随着时间的推移跟踪您的位置
- 创建亚马逊土耳其机器人工作流作为代理的输入或输出(亚马逊土耳其机器人代理被称为“人类任务代理”)。例如:“每天一次,向5个人询问一张有趣的猫照片;将结果发送给另外5个人进行评分;将评分最高的照片发送给5个人进行有趣的标题;发送给最后5个人进行最有趣的标题评分;最后,在我的博客上发布最佳字幕照片。”
加入Huginn
想帮助Huginn吗?鼓励所有贡献!您可以进行UI改进,添加新代理,编写文档和教程,或者尝试解决标记为#“需要帮助”的问题。请分叉,添加规格,并发送拉取请求!
真的想要修复或功能吗?想解决一些社区问题并赚取一些额外的咖啡钱吗?看看Bountysource上当前的赏金。
有一个很棒的想法,但还没有准备好做出贡献?前往我们的官方“建议代理”帖子并告诉我们!
展示
请查看Huginn介绍性截屏!
现在,一些示例屏幕截图。下面是帮助您入门的说明。
二、安装
1、Docker
查看Huginn最快最简单的方法是使用官方的Docker镜像。看看文档。
2、本地安装
如果您只是想玩玩,您可以简单地fork此存储库,然后执行以下步骤:
- 运行
git remote add upstream https://github.com/huginn/huginn.git
将主存储库添加为fork的远程。 - 复制
.env.example
到.env
(cp .env.example .env
)并编辑.env
,至少更新APP_SECRET_TOKEN
变量。 - 确保你安装了MySQL或PostgreSQL。(在Mac上,最简单的方法是使用Homebrew。如果你要使用PostgreSQL,你需要在下面的所有命令前加上
DATABASE_ADAPTER=postgresql
。) - 运行
bundle
以安装依赖项 - 运行
bundle exec rake db:create
,bundle exec rake db:migrate
,然后bundle exec rake db:seed
以创建带有一些示例代理的开发数据库。 - 运行
bundle exec foreman start
,访问http://localhost:3000/,并使用用户名admin
和密码登录password
- 设置一些代理!
- 阅读wiki以获取使用示例并开始制作新的代理。
- 定期运行
git fetch upstream
,然后git checkout master && git merge upstream/master
合并到最新版本的Huginn中。
注意:默认情况下,电子邮件在development
Rails环境中被拦截,这就是您刚刚设置的。您可以查看 他们在http://localhost:3000/letter_opener。如果你想在玩的时候通过SMTP发送真实的电子邮件 本地使用Huginn,在.env
文件中将SEND_EMAIL_IN_DEVELOPMENT
设置为true
。
如果您需要更详细的说明,请参阅新手设置指南。
3、开发
所有代理都有规格!还有模拟在无头浏览器中运行Huginn的验收测试。
- 安装PhantomJS2.1.1或更高版本:
- 使用节点包管理器:
npm install phantomjs
- 使用Homebrew在OSX
brew install phantomjs
- 使用节点包管理器:
- 使用
bundle exec rspec
运行所有 - 运行一个特定的规范与
bundle exec rspec path/to/specific/test_spec.rb
。 - 在这里 关于rspec for rails。
三、使用Huginn代理gems
现在可以将Huginn代理编写为外部 gem,并使用ADDITIONAL_GEMS
环境变量添加到Huginn安装中。有关详细信息,请参阅.env.example
的Additional Agent gems
部分。
如果你想写自己的Huginn代理宝石,请参阅huginn_agent。
我们的总体意图是鼓励将复杂和特定的代理编写为Gems,同时继续将新的通用代理添加到核心Huginn存储库中。
四、部署
请参阅Huginn Wiki,了解不同提供商的详细部署策略。
1、Heroku
试试Heroku上的Huginn:https://heroku.com/deploy(设置需要几分钟。阅读留档 当你在等待的时候,一定要在发布后点击“查看它”!)
Huginn仅在Heroku的付费订阅计划上启动。对于非实验性使用,我们强烈推荐Heroku的1GB付费计划或我们的Docker容器。
2、OpenShift
OpenShift 在线
在 OpenShift Online 上试用 Huginn
使用mysql
或postgres
:
oc new-app -f https://raw.githubusercontent.com/huginn/huginn/master/openshift/templates/huginn-mysql.json
或者
oc new-app -f https://raw.githubusercontent.com/huginn/huginn/master/openshift/templates/huginn-postgresql.json
注意:您还可以使用Web控制台通过转到“添加到项目”->“导入YAML/JSON”来导入任一json文件。
如果您在初学者计划中,请确保按照指南删除任何现有应用程序。
这些模板应该适用于v3安装或当前的在线v4。
3、在任何服务器上手动安装
看看安装指南。
4、可选设置
4.1 私人开发设置
请参阅wiki上的私有开发说明。
4.2 启用WeatherAgent
为了使用 WeatherAgent,您需要来自Pirate Weather的Weather Data API密钥。注册一个,然后更改种子WeatherAgent中api_key: your-key
的值。
4.3 禁用SSL
我们假设您的部署将在SSL上运行。这是一个非常好的主意!但是,如果您希望关闭它,您可能需要编辑config/initializers/devise.rb
并修改包含config.rememberable_options = { :secure => true }
的行。您还需要编辑config/environments/production.rb
并修改config.force_ssl
的值。
2024-01-04(六)