跳转到内容

自定义聊天机器人

本指南介绍如何在不离开 Control Center 的情况下,重塑提供方一侧的机器人应用。

  • 在工作区中拥有 owner 或 admin 角色
  • 一个 已连接 的提供方。只有在工作区连接之后,自定义机器人 这一行才会出现
  • 一个 Control Center 能够管理的应用。对 Slack 来说,这意味着连接中持有一个应用配置刷新令牌(xoxe-…);如果没有,这一行会说明情况并保持禁用
字段 含义 限制
应用名称 提供方列出该应用时使用的名称 1–35 个字符
机器人名称(成员在 @ 后输入的内容) 成员在 @ 后输入的内容 1–80 个字符
简短描述 提供方显示的一行文字 不超过 140 个字符
机器人对自己能力的介绍 显示在与机器人的私信上方 不超过 300 个字符
斜杠命令 成员调用的命令,不带斜杠 转为小写、仅允许 a–z 0–9 _ -、超过 32 个字符会被截断
私信 机器人是否提供私信/智能体体验 开启或关闭

Control Center 会在调用提供方之前校验这四个文本字段,因此你得到的是“the app name must be between 1 and 35 characters”,而不是从一台你看不见的服务器返回的、含义不明的 invalid_manifest。命令不会被拒绝,而是会被规范化:开头的斜杠会被去掉,其余部分转为小写,a–z 0–9 _ - 之外的字符会被丢弃,如果结果为空则回退为 cc。

  1. 前往 设置 → 工作区 → 通用,向下滚动到 聊天桥接 卡片
  2. 在提供方区块上,点击 自定义机器人
  3. 对话框会以从提供方读回的应用_实时_值打开——所以你的起点,是别人可能在 Slack 自己的界面中做过的改动
  4. 按需修改并保存

读取这些实时值会在 Slack 一侧产生一次令牌轮换,这正是这一行需要刻意点击、而不是在页面加载时自动执行的原因。

写入操作会把你的改动叠加到应用的当前定义之上。任何 Control Center 没有建模的内容——你在 Slack 中额外添加的第二条斜杠命令、一个工作流步骤、一项无关的设置——都会原样保留。权限范围和事件只会被合并进来,绝不会被减去。

保存之后,Control Center 会重新读取机器人的身份,使设置中的名称与聊天应用中的名称一致。

当某次保存改动了权限时,对话框会保持打开并显示“Slack 更改了应用权限。请重新安装应用使其生效”, 同时提供一个 重新安装应用 按钮,用于打开该应用在 Slack 中的团队安装页面。 在 Slack 中,对应的是 Install App → Reinstall to Workspace。

更改 斜杠命令 并保存。之后桥接在编写说明时会使用它最后一次被调用时所使用的命令,因此帮助文本和关联说明会跟随重命名,而不会指向一条已不存在的命令。

重命名不会破坏已有的桥接话题:话题以对话为键,而不是以命令为键。

  • 结构性设置。 传输方式(Socket Mode)、必需的权限范围和事件订阅都是强制断言的,不对外开放。一个能从设置界面被配置到彻底沉默的应用,是一张支持工单,而不是一项特性
  • 机器人的图标。 只有提供方自己的应用设置才能更改它,对话框中也如此说明
  • 提供方自身的功能迁移。 已经采用 Slack 旧版助理形态的应用会保持原样;这个对话框编辑的是一段描述,它不会迁移应用

工作区尚未连接。只有当提供方区块显示实时连接之后,这一行才会出现。参见 设置 Slack 集成。

“自定义机器人”这一行处于禁用状态

标题为““自定义机器人”这一行处于禁用状态”的部分

该连接没有应用管理凭据——这一行的副标题会显示 “Control Center 需要应用配置 token 才能编辑机器人。请重新连接并提供该 token。”对 Slack 来说,请在 api.slack.com/apps 上生成一对应用配置令牌, 并带上填写好的刷新令牌重新连接。对于手工构建或通过 在 Slack 中创建 创建的应用, 这是预期情况,因为 Slack 从不会报告它创建的是哪个应用。

“Control Center does not know which app to edit”

标题为““Control Center does not know which app to edit””的部分

存储的连接不携带应用 id——通常是在应用 id 被记录之前手工连接的应用。请重新连接工作区,或从 Control Center 创建该应用。

提供方会短暂缓存应用元数据。如果过了一分钟名称仍然是旧的,请检查这次保存是否要求你重新安装该应用。