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

相关推荐
中科岩创7 小时前
某公园楼栋自由曲面薄壳结构自动化监测
大数据·网络·物联网·自动化
KAXA_14 小时前
AGV通信第3期|AGV集群智能应急响应系统:从故障感知到快速恢复
网络·自动化·硬件工程·工业通信
一起喝芬达201017 小时前
A2A与MCP定义下,User,Agent,api(tool)间的交互流程图
流程图·交互·agent
漠月瑾-西安1 天前
网络安全自动化:找准边界才能筑牢安全防线
安全·web安全·自动化
AI蜗牛车1 天前
【LLM+Code】Devin Prompt&Tools详细解读
人工智能·语言模型·prompt·copilot·agent
试着2 天前
【AI面试准备】掌握常规的性能、自动化等测试技术,并在工作中熟练应用
面试·职场和发展·自动化·测试
ALex_zry2 天前
告别手动输入密码:基于SSHPass的自动化文件传输实践告别手动输入密码:基于SSHPass的自动化文件传输实践
运维·自动化
WikeSoft2 天前
.net core workflow流程定义
.net·.net core·workflow·流程引擎·工作流
whoarethenext2 天前
agent初识
人工智能·chatgpt·agent
水银嘻嘻2 天前
web 自动化之 selenium+webdriver 环境搭建及原理讲解
前端·selenium·自动化