当前位置: 首页 > article >正文

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的可破解版本。你总是知道谁有你的数据。你知道。

the origin of the name



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介绍性截屏!

现在,一些示例屏幕截图。下面是帮助您入门的说明。

Example list of agents


Event flow diagram


Detecting peaks in Twitter


Logging your location over time


Making a new agent


二、安装


1、Docker

查看Huginn最快最简单的方法是使用官方的Docker镜像。看看文档。


2、本地安装

如果您只是想玩玩,您可以简单地fork此存储库,然后执行以下步骤:

  • 运行git remote add upstream https://github.com/huginn/huginn.git将主存储库添加为fork的远程。
  • 复制.env.example.envcp .env.example .env)并编辑.env,至少更新APP_SECRET_TOKEN变量。
  • 确保你安装了MySQL或PostgreSQL。(在Mac上,最简单的方法是使用Homebrew。如果你要使用PostgreSQL,你需要在下面的所有命令前加上DATABASE_ADAPTER=postgresql。)
  • 运行bundle以安装依赖项
  • 运行bundle exec rake db:createbundle 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中。

注意:默认情况下,电子邮件在developmentRails环境中被拦截,这就是您刚刚设置的。您可以查看 他们在http://localhost:3000/letter_opener。如果你想在玩的时候通过SMTP发送真实的电子邮件 本地使用Huginn,在.env文件中将SEND_EMAIL_IN_DEVELOPMENT设置为true

如果您需要更详细的说明,请参阅新手设置指南。


3、开发

所有代理都有规格!还有模拟在无头浏览器中运行Huginn的验收测试。

  • 安装PhantomJS2.1.1或更高版本:
    • 使用节点包管理器:npm install phantomjs
    • 使用Homebrew在OSXbrew 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.exampleAdditional 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

使用mysqlpostgres

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(六)


http://www.kler.cn/a/467096.html

相关文章:

  • 常用的数据结构API概览
  • 关系分类(RC)模型和关系抽取(RE)模型的区别
  • 音视频入门基础:MPEG2-PS专题(3)——MPEG2-PS格式简介
  • 我的创作纪念日——《惊变128天》
  • 【工具类】RedisUtil 操作相关
  • 记一次k8s下容器启动失败,容器无日志问题排查
  • C语言 memcpy和memcpy_s区别 - C语言零基础入门教程
  • 【开源社区openEuler实践】hpcrunner
  • 检查字符是否相同
  • 【AI日记】25.01.04 kaggle 比赛 3-3 | 王慧玲与基层女性
  • [python]实现可以自动清除过期条目的缓存
  • node.js内置模块之---stream 模块
  • 自动驾驶三维重建
  • Java 正则表达式入门与应用(详细版)
  • RocketMQ场景问题
  • 三甲医院等级评审八维数据分析应用(三)--主数据管理篇(下)
  • 小程序组件 —— 30 组件 - 背景图片的使用
  • xdoj 判断字符串子串
  • Cocos2dx Lua绑定生成中间文件时参数类型与源码类型不匹配
  • 综合课程设计I报告题目: 血氧仪设计
  • SCT12A0,一款2.7V-14V Vin、30W全集成同步升压转换器
  • 【hustoj注意事项】函数返回值问题
  • asp.net core 属性路由和约定路由
  • 用Redis缓存数据、SpringCache
  • lovelyAIMaster - 在windows任何地方调用AI进行输入
  • 如何批量注册Outlook邮箱账号并防止关联?