机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
Huginn是什么?
Huginn 是一个用于构建可以为您在线执行自动任务的代理系统。它们可以读取网页、监控事件,并代表您采取行动。Huginn 的代理会创建和使用事件,并沿着有向图传播这些事件。可以把它看作是可在自己服务器上进行修改的 IFTTT 或 Zapier。您始终知道谁拥有您的数据。确实是您自己。
以下是您可以用 Huginn 做的一些事情:
- 跟踪天气,当明天要下雨(或下雪)时通过电子邮件提醒您(“别忘了带伞!”)
- 列出您关心的术语,并在它们在 Twitter 上的出现情况发生变化时收到电子邮件。(例如,想知道关于机器学习领域发生了什么有趣的事情吗?Huginn 会监控 Twitter 上的“machine learning”一词,并在讨论激增时通知您。)
- 监控航空旅行或购物优惠
- 关注您项目名称在 Twitter 上的提及,并在有人提到时获得更新
- 抓取网站内容,并在网站变化时收到电子邮件
- 连接到 HipChat、FTP、IMAP、Jabber、JIRA、MQTT、nextbus、Pushbullet、Pushover、RSS、Bash、Slack、StubHub、翻译 API、Twilio、Twitter 和微博,等等。
- 在一天中特定时间发送包含您关心内容的摘要邮件
- 追踪高频事件的计数,并在其激增时即时发送短信,例如“旧金山紧急情况”一词
- 发送和接收 WebHooks
- 运行自定义 JavaScript 函数
- 随时间跟踪您所在的位置
- 使用外部 HumanTaskAgent 创建 Amazon Mechanical Turk 工作流程。例如:“每天一次,请 5 人提供一张搞笑的猫照片;将结果发送给另外 5 人评分;将评分最高的照片发送给 5 人添加搞笑标题;发送给最后 5 人评选最搞笑标题;最后,将带有最佳标题的照片发布到我的博客。”
加入我们的 Gitter 聊天室 讨论该项目。
加入我们!
想要帮助 Huginn 吗?所有贡献都受到鼓励!您可以改进用户界面、添加新代理、编写文档和教程,或者尝试处理带有 #"help wanted" 标签的问题。请 fork、添加规范,并发送 pull 请求!
有一个很棒的想法,但还没准备好贡献吗?去我们的官方“建议代理”主题告诉我们吧!
示例
请查看 Huginn 入门演示视频!
现在,一些示例截图。 在它们下面是帮助你入门的说明。
入门指南
Docker
查看 Huginn 最快速、最简单的方法是使用官方 Docker 镜像。请查看 文档。
本地安装
如果你只是想玩玩,你可以简单地 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来创建一个带有示例 Agents 的开发数据库。 - 运行
bundle exec foreman start,访问 http://localhost:3000/,并使用用户名admin和rake db:seed打印的密码登录(或者设置SEED_PASSWORD来选择一个密码)。 - 设置一些 Agents!
- 阅读 wiki 获取使用示例并开始创建新的 Agents。
- 定期运行
git fetch upstream,然后git checkout master && git merge upstream/master来合并 Huginn 的最新版本。
注意:默认情况下,电子邮件消息会被拦截在 development Rails 环境中,这就是你刚设置的环境。你可以在 http://localhost:3000/letter_opener 查看它们。如果你希望在本地使用 Huginn 时通过 SMTP 发送真实邮件,将 SEND_EMAIL_IN_DEVELOPMENT 在你的 .env 文件中设置为 true。
如果你需要更详细的说明,请参阅 新手设置指南。
开发
所有 agents 都有规格(specs)!并且还有模拟在无头浏览器中运行 Huginn 的验收测试。
- 安装 Google Chrome 和 ChromeDriver 以运行本地功能测试规格
- 或者使用
docker/test/README.md中基于 Docker 的测试环境 - 运行所有规格使用
bundle exec rspec - 使用
bundle exec rspec path/to/specific/test_spec.rb运行特定的规范。 - 在这里阅读有关 Rails 的 rspec 的更多信息 这里。
使用 Huginn Agent 宝石
Huginn Agents 现在可以作为外部 gems 编写,并可以通过 ADDITIONAL_GEMS 环境变量添加到您的 Huginn 安装中。有关更多信息,请参见 .env.example 的 Additional Agent gems 部分。
如果您想编写自己的 Huginn Agent Gem,请参见 huginn_agent。
我们的一般意图是鼓励将复杂且特定的 Agents 编写为 Gems,同时继续向核心 Huginn 仓库添加新的通用 Agents。
部署
请参阅 Huginn Wiki 以获取不同提供商的详细部署策略。
Heroku
在 Heroku 上尝试 Huginn:(设置需要几分钟。在等待时阅读 文档,启动后务必点击 'View it'!)Huginn 仅在 Heroku 的付费订阅计划上启动。对于非实验性用途,我们强烈推荐 Heroku 的 1GB 付费计划或我们的 Docker 容器。
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
注意:您也可以使用网页控制台导入任意 json 文件,方法是进入“添加到项目” -> “导入 YAML/JSON”。
如果您使用的是入门计划,请确保按照指南删除任何现有应用程序。
模板应适用于 v3 安装或当前 v4 在线版本。
在任何服务器上手动安装
请查看安装指南。
可选设置
用于私有开发的设置
请参阅 wiki 上的私有开发说明。
Enable WeatherAgent
为了使用 WeatherAgent,您需要一个来自 Pirate Weather 的天气数据 API 密钥。注册一个,然后在您初始化的 WeatherAgent 中更改 api_key: your-key 的值。
限制共享实例上的出站请求
如果不完全信任的人可以在您的实例上创建 Agent,请通过出口代理路由出站请求,以便 Agent 无法访问内部服务。请参阅 doc/manual/outbound-requests.md。
Disable SSL
我们假设您的部署将通过 SSL 运行。这是非常好的做法!但是,如果您希望关闭此功能,您可能需要编辑 config/initializers/devise.rb 并修改包含 config.rememberable_options = { :secure => true } 的行。同时,您还需要编辑 config/environments/production.rb 并修改 config.force_ssl 的值。
许可证
Huginn 在 MIT 许可证下提供。
Huginn 最初由 @cantino 于 2013 年创建。从那时起,许多人的奉献使其发展成为今天的样子。
- 本文标题:huginn - 创建能够代表你监控和行动的代理
- 本文链接:https://www.cn121.com/automation/huginn-huginn.html
- 原项目:huginn/huginn 版权归原作者 huginn 及贡献者所有
- 收录信息:本站于 2026-10-10 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 huginn/huginn。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。