Slack 集成设置指南 本指南提供了与 LEANN 进行 Slack 集成的逐步说明。 概述 LEANN 的 Slack 集成使用 MCP(模型上下文协议)服务器来获取并索引您的 Slack 消息,以便进行 RAG(检索增强生成)。这使您能够通过自然语言查询搜索您的 Slack 对话。 先决条件 Slack 工作区访问权限:您需要在 Slack 工作区中拥有管理员或所有者权限,以创建应用并配置 OAuth 令牌。 Slack MCP 服务器:安装一个 Slack MCP 服务器(例如,通过 npm 安装 ) LEANN:确保您已安装并正常运行 LEANN 步骤 1:创建 Slack 应用程序 1.1 访问 Slack API 控制台 访问 https://api.slack.
本指南提供了与 LEANN 进行 Slack 集成的逐步说明。
LEANN 的 Slack 集成使用 MCP(模型上下文协议)服务器来获取并索引您的 Slack 消息,以便进行 RAG(检索增强生成)。这使您能够通过自然语言查询搜索您的 Slack 对话。
Slack 工作区访问权限:您需要在 Slack 工作区中拥有管理员或所有者权限,以创建应用并配置 OAuth 令牌。
Slack MCP 服务器:安装一个 Slack MCP 服务器(例如,通过 npm 安装 slack-mcp-server)
LEANN:确保您已安装并正常运行 LEANN
channels:read - 读取公共频道信息channels:history - 读取公共频道中的消息groups:read - 读取私有频道信息groups:history - 读取私有频道中的消息im:read - 读取直接消息信息im:history - 读取直接消息mpim:read - 读取群组直接消息信息mpim:history - 读取群组直接消息users:read - 读取用户信息team:read - 读取工作区信息一些 MCP 服务器可能需要应用级令牌:
connections:write 范围xapp- 开头)xoxb- 开头)xoxp- 开头)# Install globally npm install -g slack-mcp-server # Or install locally npm install slack-mcp-server
# Use directly without installation npx slack-mcp-server
# Install Ollama using Homebrew (macOS) brew install ollama # Or download from https://ollama.ai/
# Start Ollama as a service brew services start ollama # Or start manually ollama serve
# Pull a lightweight model for testing ollama pull llama3.2:1b # Verify the model is available ollama list
创建一个 .env 文件或设置环境变量:
# Required: User OAuth Token SLACK_OAUTH_TOKEN=xoxp-your-user-oauth-token-here # Optional: App-Level Token (if your MCP server requires it) SLACK_APP_TOKEN=xapp-your-app-token-here # Optional: Workspace-specific settings SLACK_WORKSPACE_ID=T1234567890 # Your workspace ID (optional)
python -m apps.slack_rag \ --mcp-server "slack-mcp-server" \ --test-connection \ --workspace-name "Your Workspace Name"
这将测试连接并列出可用工具,而不会索引任何数据。
python -m apps.slack_rag \ --mcp-server "slack-mcp-server" \ --workspace-name "Your Workspace Name" \ --channels general \ --query "What did we discuss about the project?"
本节展示了针对 Sky Lab Computing 工作区“random”频道的成功 Slack RAG 集成查询。系统成功检索了实际对话消息,并进行了语义搜索,获得了高相关性得分,包括找到特定的研究论文公告和技术讨论。
查询:“训练黑盒模型以适应您的个人数据”
此查询展示了系统查找关于训练黑盒模型以适应个人数据的具体研究公告的能力。



查询:“AI驱动的研究系统 ADRS”
此查询展示了系统查找关于 AI 驱动的研究系统和算法发现的具体研究公告的能力。



/invite @YourBotName)export SLACK_MCP_XOXP_TOKEN="xoxp-***-redacted-***"
顾问模型查询:
python -m apps.slack_rag \ --mcp-server "slack-mcp-server" \ --workspace-name "Sky Lab Computing" \ --channels C0GN5BX0F \ --max-messages-per-channel 100000 \ --query "train black-box models to adopt to your personal data" \ --llm ollama \ --llm-model "llama3.2:1b" \ --llm-host "http://localhost:11434" \ --no-concatenate-conversations
蛮族来袭查询:
python -m apps.slack_rag \ --mcp-server "slack-mcp-server" \ --workspace-name "Sky Lab Computing" \ --channels C0GN5BX0F \ --max-messages-per-channel 100000 \ --query "AI-driven research systems ADRS" \ --llm ollama \ --llm-model "llama3.2:1b" \ --llm-host "http://localhost:11434" \ --no-concatenate-conversations
这些示例展示了系统从对话历史中查找和检索具体研究公告和技术讨论的能力,彰显了 Slack 数据中语义搜索的强大功能。
python test_channel_by_id_or_name.py \ --channel-id C0GN5BX0F \ --workspace-name "Sky Lab Computing" \ --query "What is LEANN about?"
注意:
not_in_channel, invite the bot to the channel and re-run.channel_not_found,请确认频道 ID 和工作区。问题:您看到此警告:
WARNING - Failed to fetch messages from channel random: Failed to fetch messages: {'code': -32603, 'message': 'users cache is not ready yet, sync process is still running... please wait'}
解决方案:这是一个常见的时序问题。LEANN 集成现在包含自动重试逻辑:
python -m apps.slack_rag \ --mcp-server "slack-mcp-server" \ --max-retries 10 \ --retry-delay 3.0 \ --channels general \ --query "Your query here"
# Terminal 1: Start MCP server slack-mcp-server # Terminal 2: Run LEANN (it will connect to the running server) python -m apps.slack_rag --mcp-server "slack-mcp-server" --channels general --query "test"
问题:MCP 服务器没有预期的工具。
解决方案:
问题:尝试访问频道时出现权限错误。
解决方案:
问题:即使频道中有消息,也没有返回任何消息。
解决方案:
python -m apps.slack_rag \ --mcp-server "slack-mcp-server" \ --channels general \ --max-messages-per-channel 1000 \ --query "test"
如果您需要向 MCP 服务器传递额外参数:
python -m apps.slack_rag \ --mcp-server "slack-mcp-server --token-file /path/to/tokens.json" \ --workspace-name "Your Workspace" \ --channels general \ --query "Your query"
要处理多个 Slack 工作区,您可以:
为了在大型工作区中获得更好的性能:
python -m apps.slack_rag \ --mcp-server "slack-mcp-server" \ --workspace-name "Your Workspace" \ --max-messages-per-channel 500 \ --no-concatenate-conversations \ --query "Your query"
brew services start ollama)ollama pull llama3.2:1b)If you continue to have issues:
--test-connection to verify the MCP server is workingollama serve) and the model is available (ollama list)# Test connection python -m apps.slack_rag --mcp-server "slack-mcp-server" --test-connection # Index specific channels python -m apps.slack_rag \ --mcp-server "slack-mcp-server" \ --workspace-name "My Company" \ --channels general random \ --query "What did we decide about the project timeline?"
# With custom retry settings python -m apps.slack_rag \ --mcp-server "slack-mcp-server" \ --workspace-name "My Company" \ --channels general \ --max-retries 10 \ --retry-delay 5.0 \ --max-messages-per-channel 2000 \ --query "Show me all decisions made in the last month"
免责声明:
本文档采用基于机器的 AI 翻译服务进行翻译。尽管我们力求准确,但请注意,自动翻译可能存在错误或不准确之处。应以原文语言版本的文档作为权威依据。如需获取关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。