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.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或更高版本:
  • 使用 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

shell 复制代码
oc new-app -f https://raw.githubusercontent.com/huginn/huginn/master/openshift/templates/huginn-mysql.json

或者

shell 复制代码
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(六)

相关推荐
King's King2 小时前
自动化立体库安全使用管理制度完整版
运维·自动化
m0_548503032 小时前
(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)
自动化·jenkins·maven
DX_水位流量监测2 小时前
水库水位监测系统的自动化功能:减少人工干预,可实现实时监控
运维·前端·人工智能·自动化·制造·信息与通信·零售
萝卜知识库2 小时前
[开源]自动化定位建图系统
运维·自动化
PengShuaiD518 小时前
【网页自动化】篡改猴入门教程
运维·自动化
伊织code20 小时前
MetaGPT - 多Agent框架
ai·agent·智能体·metagpt
ExcaliburUnlimited21 小时前
【AutoSAR】【底软自动化】Arxml自动配置平台
运维·自动化
Fuweizn1 天前
喜报|富唯智能荣获暨2024年广州科技创新创业大赛二等奖
人工智能·自动化·科技创新
工业通讯探索者1 天前
Profinet转EtherNet/IP网关连接AB PLC的应用案例
运维·服务器·数据库·网络协议·自动化·信息与通信
大模型之路1 天前
Chain of Agents(COA):大型语言模型在长文本任务中的协作新范式
人工智能·语言模型·agent·ai agent·ai代理