我可以托pipeMS Bot框架Node.js实例本地

我们已经构build了一个MS Bot框架bot,在对话期间使用我们现有的内部本地API。 我们希望通过将Web聊天组件放入我们现有的面向内部的本地应用程序的DOM中来释放此机器人。

使用我们现有的架构, 我们自然也想在内部托pipe这个机器人 –以利用我们现有的所有configuration和部署stream程。 我们知道,无论如何,机器人都必须与LUIS沟通 – 这对我们来说是很好的; 它不需要Azure直接连接到我们内部业务数据API的更复杂(更大的攻击面,更less的中央IT买入)设置。

我认为这个图更清晰:

Bot托管配置

我们可以实现底层托pipeconfiguration中所描述的内容吗?

编辑1:我们是否也可以托pipe直接线路或类似的连接器本地,而不必编写自定义连接器? 另外,我们可以通过这种连接器与我们的机器人聊天,而不必为DOM编写自定义聊天组件/小部件吗? (只要指向我们的频道,networking聊天组件就可以正常工作。)

这里的最终目标是让我们所有的聊天stream量保持在本地,因为这是一个数据驱动的聊天机器人,服务于敏感数字。 在另一个完全可以在本地运行的框架中重新开发这个框架需要花费更less的时间,而不是从我们的中央IT部门获得批准。

注意:我知道Azure堆栈预览。 最低的硬件要求(也可能是订阅成本)是极端矫枉过正的。 (毕竟,我们正在谈论一个Node应用程序。)

这不是这个问题的重复,因为这个问题也解决了直接/线路连接器本地托pipe的关键因素,其他问题假设连接器仍然在Azure上运行。

我目前面临着类似的架构困境。 从我们设法build立 – 原则上,是的。 怎么样? bot只是一个Web服务。 您可以将其部署到任何您想要的地方,但是必须有另一个Web服务介于bot框架应用程序和客户端之间 – 一个自定义连接器。

如果您想使用Bot服务(networking聊天,Skype,Slack)的各种连接器服务,则必须部署到Azure。

如果您想要从本地连接到这些通道中的某些通道,则需要再次编写自己的连接器。

如何编写连接器? 深入了解Microsoft的bot模拟器应用程序如何模拟“DirectLine API”是一个好的开始,在我的特定情况下,如果我们耗尽了部署到Azure的法律/安全途径,我们可能会这样做。

我们正在做一个类似的工作 – jira-journal – 我们用ngrok来托pipe这个机器人。 bot驻留在本地,并使用ngrok来暴露我们在bot门户上更新的端点。

我们目前面临的痛点是如果我们重新托pipe机器人,我们得到一个新的端点,我们必须去和更新机器人门户:(