项目简介 Tiger Slack旨在为AI助手提供强大的对话记忆能力,使其能够理解并自然地参与团队的Slack对话。通过一个专门的MCP服务器,它能够实时访问Slack的消息历史和上下文,让AI机器人像人类团队成员一样,理解过去的讨论、进行中的项目和团队动态,从而提供更准确、更具情境感的响应。

主要功能点

  • 理解对话上下文: 帮助AI助手理解过去讨论的背景和引用。
  • 回答历史问题: 使AI机器人能够回答关于项目历史和决策的问题。
  • 了解参与者: 识别不同主题和讨论中涉及的用户。
  • 跟踪进行中对话: 允许AI助手跟进当前对话并提供相关输入。
  • 构建会话记忆: 在所有团队频道中积累和管理对话记忆。
  • AI可访问API: 提供结构化的API,允许AI客户端(如Claude)查询Slack数据。
  • 频道和用户浏览: 支持智能过滤,轻松查找频道和用户信息。
  • 会话检索: 获取带有完整线程上下文的消息。
  • 消息永久链接: 生成指向Slack消息的直接链接。

安装步骤

  1. 克隆仓库及子模块:
    git clone --recurse-submodules [email protected]:timescale/tiger-slack.git
    cd tiger-slack
  2. 配置环境变量: 复制'.env.sample'文件为'.env',并根据您的Slack应用设置配置必要的Slack Token。
    cp .env.sample .env
    # 编辑 .env 文件,填入 SLACK_BOT_TOKEN, SLACK_APP_TOKEN, SLACK_DOMAIN 等
  3. 使用Docker Compose启动所有服务: 这将启动包括TimescaleDB数据库、Ingest服务和MCP服务器在内的所有组件。
    docker compose up -d
  4. 查看服务日志(可选): 监控服务的健康状况和启动过程。
    docker compose logs -f
  5. 导入历史数据 (建议): 为了获得完整的会话记忆,请按照以下策略操作:
    • 首先,手动执行用户/频道同步任务以创建数据库模式并填充初始用户和频道信息 (详见仓库Ingest README)。
    • 部署Ingest服务以实时收集新的Slack事件。
    • 在积累了一定实时数据后,从Slack获取历史导出数据并使用导入流程加载 (详见仓库Ingest README)。

服务器配置 MCP客户端可以通过HTTP或Stdio两种方式连接到Tiger Slack MCP服务器。 以下是针对 'claude' 客户端的配置示例。请根据您的MCP客户端的文档进行相应配置。

HTTP 传输协议配置示例: 当您使用Docker Compose启动服务时,MCP服务器默认在 'http://localhost:3001/mcp' 运行。

{
  "name": "tiger-slack",
  "command": "http",
  "args": ["http://localhost:3001/mcp"],
  "description": "连接到运行在Docker Compose中的Tiger Slack MCP服务器,提供Slack对话记忆功能。",
  "transport": "http"
}
  • 'name': 服务器的唯一名称,例如 'tiger-slack'。
  • 'command': 指定连接协议为 'http'。
  • 'args': 包含MCP服务器的HTTP地址。
  • 'description': 对该MCP服务器的简要描述。
  • 'transport': 指定传输协议为 'http'。

Stdio 传输协议配置示例 (不使用Docker Compose): 如果您在本地直接运行MCP服务器(例如用于开发),需要提供Node.js命令和MCP服务器的入口文件路径。

{
  "name": "tiger-slack-stdio",
  "command": "node",
  "args": [
    "/absolute/path/to/tiger-slack/mcp/dist/index.js",
    "stdio"
  ],
  "description": "连接到本地运行的Tiger Slack MCP服务器,通过Stdio协议提供Slack对话记忆功能。",
  "env": {
    "PGHOST": "localhost",
    "PGPORT": "5432",
    "PGUSER": "tsdbadmin",
    "PGDATABASE": "tsdb"
  },
  "transport": "stdio"
}
  • 'name': 服务器的唯一名称,例如 'tiger-slack-stdio'。
  • 'command': 指定用于启动MCP服务器的 'node' 命令。
  • 'args': 包含MCP服务器的入口文件路径(需要替换为实际的绝对路径)和 'stdio' 模式参数。
  • 'description': 对该MCP服务器的简要描述。
  • 'env': 包含数据库连接所需的环境变量,例如PostgreSQL主机、端口、用户和数据库名。
  • 'transport': 指定传输协议为 'stdio'。

基本使用方法 配置MCP客户端连接后,您可以通过自然语言向AI助手提问,让它利用Tiger Slack提供的Slack会话记忆来回答问题,例如:

  • "Show me recent conversations in #engineering" (显示#engineering频道最近的对话)
  • "What did we decide about the deployment?" (我们对部署做了什么决定?)
  • "Who was working on the API issue?" (谁在处理API问题?)
  • "Get recent messages from @john.doe" (获取@john.doe的最近消息)

信息

分类

通信与社交