Token导航 LogoToken导航TokenDH.com
Nila AI logo
AI代理未说明官方级别未说明来源级核验

Nila AI

MCP Server

NILA是一款Slack机器人,帮助开发团队直接在对话中管理敏捷工作流,支持自定义工具和GitHub集成。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
工作流自动化TypeScript团队协作AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

naluinui

提供方

naluinui

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

nila-genkit

NILA:自然在线敏捷-敏捷团队的Slack Bot

NILA是一个Slack机器人,可以帮助开发团队直接从他们的对话中管理敏捷工作流。该项目演示了如何使用Firebase Genkit构建一个强大的AI Agent,利用工具调用将其功能扩展到简单的对话之外。

建筑

NILA遵循一个简单的流程来处理用户请求:

  1. 💬 他们懈怠了:用户通过在Slack频道中提及机器人与NILA进行交互
  2. ⚡️ Webhook(云功能):Firebase云函数处理传入的Slack事件
  3. 🧠 AI代理(Firebase Genkit):请求由LLM驱动的代理处理。使用Genkit,您可以选择自己选择的LLM模型。我们在这个演示中使用了Gemini 2.5 Flash
  4. ⚒️ 工具:代理使用定制的工具,我们可以定义自己和GitHub MCP服务器来采取行动。在这个演示中,我们构建了一个工具,用于汇总线程中的消息并起草问题。

以这种方式构建它意味着我们可以将AI Flow与您选择的其他Webhook重用。您只需在中创建另一个云功能,即可将NILA扩展到与LINE、WhatsApp或任何其他平台一起使用 src/index.ts 而核心AI代理逻辑保持不变。

先决条件

  • Node.js
  • pnpm
  • Genkit
  • Firebase命令行界面
  • ngrok

设置

  1. 安装依赖项
   cd functions
   pnpm install
  1. 设置Firebase项目

1. 创建新的Firebase项目 1. 启用Blazed计划(按需付费)以使用Firebase功能 1. 更新 .firebaserc 项目根目录中的文件,以包含Firebase项目名称

   {
   "projects": {
       "default": "[your_project_name]"
   }
   }
  1. 设置Slack应用程序

1. 首选https://api.slack.com/apps点击“创建新应用” 1. 选择“从应用清单”选项,然后选择您的工作区 1. 用您的应用程序名称更新下面的JSON

   {
       "display_information": {
           "name": "[YOUR_APP_NAME]",
           "description": "[YOUR_APP_DESCRIPTION]",
       },
       "features": {
           "bot_user": {
               "display_name": "[YOUR_APP_NAME]",
               "always_online": true
           }
       },
       "oauth_config": {
           "scopes": {
               "bot": [
                   "app_mentions:read",
                   "chat:write",
                   "files:read",
                   "groups:history",
                   "incoming-webhook",
                   "mpim:history"
               ]
           }
       },
       "settings": {
           "event_subscriptions": {
               "request_url": "https://[YOUR_DOMAIN]/events",
               "bot_events": [
                   "app_mention",
                   "message.mpim"
               ]
           },
           "org_deploy_enabled": true,
           "socket_mode_enabled": false,
           "token_rotation_enabled": false
       }
   }

4. 转到“基本信息”,在“应用程序凭据”下找到“签名密钥”。这将是一个环境变量 SLACK_SIGNING_SECRET 1. 转到“OAuth和权限”,找到“Bot用户OAuth令牌”。这将是一个环境变量 SLACK_BOT_TOKEN 1. 将您的机器人添加到Slack频道,以便我们在后续步骤中进行测试

   /invite @[YOUR_APP_NAME]
  1. 设置GitHub令牌

要允许您的AI代理管理GitHub,您需要 GITHUB_PERSONAL_ACCESS_TOKEN MCP服务器。

1. 首选 .设置令牌的名称和描述 1. 选择资源所有者:这可以是您自己的GitHub或您的组织。如果您不是组织管理员,您可能需要管理员批准您创建令牌的请求 1. 选择仓库访问权限:取决于你想给你的人工智能多少权力。我只会选择我只感兴趣的仓库 1. 选择权限:MCP服务器可以使用许多GitHub API,因此启用您认为授予AI工具的权限是一种很好的做法。对于此AI代理,我们只需要对Issues进行读写访问,这也将自动启用元数据的强制权限 1. 点击“生成令牌”,您应该得到一个以开头的令牌 github_pat_[xyz]请确保其安全,因为您将无法再次访问它。

  1. 设置环境变量
   cp .secret.local.example .secret.local
  1. 将API密钥添加到 .secret.local:
   GOOGLEAI_API_KEY=your_api_key
   SLACK_BOT_TOKEN=your_bot_token
   SLACK_SIGNING_SECRET=your_signing_secret
   GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token

地方发展

使用Firebase模拟器套件和Firebase Genkit UI进行本地测试。

  1. 运行本地开发服务器
   pnpm run dev
  1. 设置ngrok以公开您的本地服务器(使您的本地模拟器可以在线访问)
   ngrok http 5001
  1. 使用ngrok URL更新Slack应用程序的事件订阅URL。它位于“事件订阅”下
   https://[your-ngrok-id].ngrok.io/[YOUR_PROJECT_NAME]/us-central1/slack

等待请求URL验证确认,然后单击“保存更改”按钮

  1. 将Slack聊天机器人添加到频道中,并通过提及其名称来发送您的第一条消息。
   @NILA Hello, can you help me?

您应该已经收到回复消息,首先说“键入…”,然后是AI代理的准确回复。

调试

  • 使用Firebase模拟器调试您的webhook功能http://localhost:4001/logs
  • 使用Firebase Genkit UI调试您的AI Flowhttp://localhost:4000/

部署

要使用Firebase进行身份验证并访问您的项目,请使用Firebase CLI登录命令:

$ firebase login

为了在使用Firebase函数时保护密钥的安全,请将密钥作为秘密值存储在Google Cloud secret Manger中:

$ firebase functions:secrets:set GOOGLEAI_API_KEY
? Enter a value for GOOGLEAI_API_KEY [input is hidden]
$ firebase functions:secrets:set SLACK_BOT_TOKEN
? Enter a value for SLACK_BOT_TOKEN [input is hidden]
$ firebase functions:secrets:set SLACK_SIGNING_SECRET
? Enter a value for SLACK_SIGNING_SECRET [input is hidden]
$ firebase functions:secrets:set GITHUB_PERSONAL_ACCESS_TOKEN
? Enter a value for GITHUB_PERSONAL_ACCESS_TOKEN [input is hidden]

要确认您的密钥已正确存储为机密,请使用以下命令:

$ firebase functions:secrets:access OPENAI_API_KEY
your_api_key
$ firebase functions:secrets:access SLACK_BOT_TOKEN
your_bot_token
$ firebase functions:secrets:access SLACK_SIGNING_SECRET
your_signing_secret
$ firebase functions:secrets:set GITHUB_PERSONAL_ACCESS_TOKEN
your_github_personal_access_token

保护好密钥后,您就可以将应用程序部署到Firebase Functions了:

$ pnpm run deploy

部署后,使用生产URL再次更新Slack应用程序的事件订阅URL。 https://slack-[your_function_id]-uc.a.run.app/events.更换 [your_function_id] 您可以在Firebase控制台的函数仪表板下找到Firebase项目值。

NILA建议提示

@nila Hello! Can you help me track our project tasks?
@nila Create a new bug report for the login page crash on mobile devices
@nila Draft a task for implementing email notifications when tasks are assigned 
@nila List all open bugs in our repository
@nila What's the status of the dashboard page?
@nila Create a task to refactor the payment processing module with proper test coverage

尝试这些提示或变体,看看NILA如何帮助您的团队直接从Slack对话中管理工作流程。

鸣谢

本项目建立在以下基础之上:

许可证

Apache许可证

目录标签

目录标签

工作流自动化TypeScript团队协作AI代理敏捷开发本地部署Slack机器人GitHub集成

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP