连接频道

频道将 Themis 连接到外部服务。所有频道凭据由空间所有者或经理按空间配置。

可用频道

频道功能认证
GitHub审查 PR、检查 CI 状态、浏览代码、创建工单GitHub App 安装
Linear创建和管理工单、跟踪项目、分类 Bug按空间 API 密钥
Sentry监控错误、分类警报、更新问题状态按空间 API 令牌
Metabase查询数据库、生成图表、分析业务数据按空间 API 密钥
Google Drive搜索和阅读共享云端硬盘中的文档按用户 OAuth
Google Calendar查看和管理日程、查询忙闲状态、外出和专注时间按用户 OAuth
Gmail读取、搜索、打标签、归档(不支持发送)按用户 OAuth
Google Analytics查询 GA4 属性、自定义报表、实时指标按空间服务账号
Google Maps地理编码、地点、路线、距离矩阵、天气、空气质量按空间 API 密钥
Flight Search通过 Google Flights 搜索航班和灵活日期无需凭据(按需启用)
Microsoft Teams在 Teams 频道和私信中与 Themis 对话按空间机器人应用
Telegram通过 Telegram 机器人与 Themis 对话、发送语音消息按空间机器人令牌

设置频道

  1. 前往空间设置(侧边栏中的齿轮图标)
  2. 选择频道
  3. 选择您要连接的服务
  4. 输入所需的凭据(API 令牌、密钥)
  5. 保存 —— Themis 将验证连接

每个频道显示其必填和可选字段,并提示在哪里可以找到它们。凭据以加密方式存储,保存后以遮蔽值显示。

GitHub

Themis 通过 Themis AI Agent GitHub App 进行认证 —— 不再使用个人访问令牌。在频道设置中点击 Install GitHub App;安装完成后,空间会保存 installation_id,令牌按需生成。关于部署级别的注册,请参阅 GitHub App 设置

机器人别名(可选,用于自我提及过滤):

字段用途
Bot Aliases应触发 Themis 的额外 GitHub 登录名 —— 在 @提及和 PR 审查者请求中匹配。逗号分隔。App 自带的机器人已包含在内,仅当您还希望其他句柄(例如预发布环境的安装)也能触发智能体时才需要此项。

代码生成提交归属于触发用户的 git 身份(在个人资料中设置),GitHub App 作为推送者。

Linear

使用 Linear 设置 > API 中的 API 密钥。Linear MCP 服务器由 Linear 托管 —— 无需本地安装。

Linear 设置:

字段用途
Organization Slug您的 Linear 组织 slug(例如 my-org)。用于在 PR 描述和收件箱中构建工单 URL。回退到 THEMIS_LINEAR_ORG_SLUG。留空时会默默省略 Linear 链接。
Bot Display Names用于标识此机器人的 Linear 显示名称或邮箱片段列表(逗号分隔,例如 Themis,themis@)。用于防止自我回复,以及检测工单何时被分配给机器人。回退到智能体的显示名称。

将 Linear 工单分配给匹配任一 Bot Display Names 的用户会触发该工单的代码生成。

Sentry

需要具有项目和问题权限的认证令牌。可选配置组织 slug 以进行范围化访问。

Metabase

需要 Metabase 实例 URLAPI 密钥(Metabase 管理员 > 设置 > 认证 > API 密钥)。Metabase MCP 服务器必须安装在主机上并位于应用程序的 PATH 中(如需要可通过 METABASE_MCP_COMMAND 覆盖)。

Teams

需要 Bot Framework 应用注册,包含应用 ID、密码和租户 ID。请参阅 Microsoft Teams Bot Framework 文档进行设置。

Telegram

需要从 @BotFather 获取的机器人令牌。Themis 提供按钮来自动设置和验证 Webhook。配置允许的聊天 ID 列表以限制机器人响应的群组。

Google Drive、Google Calendar 和 Gmail

三个 Google Workspace 频道共享同一个按用户 OAuth 流程 —— 每个用户通过个人资料 > 关联帐号连接自己的 Google 帐号。无需空间级凭据;每个频道有自己的权限范围和工具集:

频道权限范围工具
Google Drive只读搜索、列出、读取文件内容、权限、共享链接
Google Calendar读取 + 写入列出日历、读取/创建/更新/删除事件、忙闲查询、外出、专注时间
Gmail整理(读取 + 标签 + 归档;不可发送)搜索、读取邮件、标签管理、归档、删除

在空间中启用每个频道,然后让每位用户通过个人资料进行授权。仅当发言者已连接自己的 Google 帐号时,聊天中才能使用对应频道。

Google Analytics

需要 GCP 服务账号 JSON,并在同一项目中启用 Analytics Admin API 和 Analytics Data API。在 GA4 管理界面中,将服务账号邮箱作为查看者授予要查询的属性访问权限。

字段用途
Service Account JSON服务账号密钥的完整 JSON 内容。加密存储,仅在 MCP 服务器启动时以内容的 SHA 哈希为键写入磁盘。
GCP Project ID(可选)设置 MCP 进程的 GOOGLE_CLOUD_PROJECT

提供 GA4 账号发现、属性详情、自定义维度/指标、核心报表和实时报表。

Google Maps

需要启用了 Maps Platform APIs(Places、Geocoding、Directions、Distance Matrix、Elevation、Time Zone、Weather、Air Quality)的 Google Cloud API 密钥。在 GCP 控制台生成密钥并粘贴到频道中。

提供附近搜索 + 文本搜索、地点详情、地理编码(正向/反向/批量)、路线规划、距离矩阵、路径规划、海拔、时区查询、天气和空气质量。高 token 消耗的复合工具默认禁用。

无需凭据 —— MCP 服务器访问 Google Flights 的公开 API。但空间仍须显式启用该频道,否则在不需要的上下文中会浪费 tokens。提供 search_flights(特定日期)和 search_dates(灵活日期日历)。结果默认上限为 20(FLI_MCP_MAX_RESULTS),保持聊天上下文简洁。

Webhooks

要接收实时事件,请在您的外部服务中注册 Webhook URL:

服务Webhook URL事件
GitHubhttps://yourhost/webhooks/githubPull Request、工单、评论、推送
Linearhttps://yourhost/webhooks/linear工单、评论
Sentryhttps://yourhost/webhooks/sentry问题警报
Teamshttps://yourhost/webhooks/teams频道消息
Telegramhttps://yourhost/webhooks/telegram消息、语音笔记

Webhook 认证自动处理 —— GitHub 使用 HMAC 签名,Linear 使用 JWT,Telegram 使用签名请求。Themis 通过匹配 Webhook 密钥来解析目标空间。