Slack
通过 Cherri Code 的 Slack 集成,您可以在 Slack 中通过提示词提及 @cursor,直接使用云端代理处理任务。
快速入门
安装
-
点击 Slack 旁的 连接,或前往安装页面
-
系统会提示你在工作区中安装 Slack 版 Cherri Code app。
-
在 Slack 中完成安装后,系统会跳转回 Cherri Code 以完成设置
- 连接代码仓库提供商 (如尚未连接) ,并选择默认代码仓库
- 启用基于用量的定价
- 确认隐私设置
-
在 Slack 中提及
@cursor,即可开始使用云端代理
使用方法
提及 @cursor 并提供提示词。Cherri Code 会尝试从你的消息中识别代码仓库、模型、基准分支或指定的云端代理环境。选择代码仓库时,它还会参考你最近的智能体活动。
如需使用指定环境,请在提示词中包含其名称。例如:@Cherri Code use the Platform environment to update the shared API。
命令
运行 @Cherri Code help 获取最新命令列表。
| 命令 | 描述 |
|---|---|
@Cherri Code [prompt] | 启动云端代理。在已有智能体的线程中,添加后续指令。谁可以继续跟进由团队后续控制,而非仅由所有权决定。 |
@Cherri Code settings | 配置默认值和频道的默认代码仓库。同时显示团队默认用量池和频道默认用量池 |
@Cherri Code [options] [prompt] | 为一次运行设置目标、模型、分支、PR 行为、worker 或输出频道 |
@Cherri Code agent [prompt] | 在线程中强制创建新的智能体 (例如 @Cherri Code start a new agent to fix billing) |
@Cherri Code list my agents | 显示正在运行的智能体 |
@Cherri Code pool | 显示用于 Slack 启动的团队默认用量池和此频道的默认用量池 |
@Cherri Code pool set <name> | 设置团队默认用量池 (团队管理员) |
@Cherri Code pool unset | 清除团队默认用量池 (团队管理员) |
@Cherri Code pool set <name> channel | 设置此频道的默认用量池 (团队管理员) |
@Cherri Code pool unset channel | 清除此频道的默认用量池 (团队管理员) |
选项
使用以下选项自定义云端代理的行为:
| 选项 | 描述 | 自然语言示例 | 内联示例 |
|---|---|---|---|
repo | 使用指定代码仓库 | 在 acme/backend 中 | repo=acme/backend |
env / environment | 使用指定的云端代理环境 | 使用 Platform 环境 | env=Platform |
branch | 使用指定的基准分支 | 从 dev 分支开始工作 | branch=dev |
model | 使用指定模型 | 使用 opus | model=opus |
autopr | 启用或禁用自动创建 PR | 仅支持内联选项 | autopr=false |
worker / machine | 在指定的 我的机器 上运行 | 仅支持内联选项 | worker=my-devbox |
pool | 在指定的团队用量池上运行。若该频道已设置频道默认用量池,或您的团队已设置团队默认用量池,则此项可选 | 仅支持内联选项 | pool=my-pool |
self_hosted / sh | 在您的某个团队用量池上运行。若已设置频道默认用量池或团队默认用量池,则使用该用量池,而 self_hosted=false 会同时跳过两者。取值为 true/t/1 或 false/f/0 | 仅支持内联选项 | self_hosted=true 或 sh=1 |
channel | 在您和 Cherri Code 均可访问的其他频道中发布智能体更新 | 仅支持内联选项 | channel=#eng-bots |
语法格式
自然语言:
@Cherri Code with opus, fix the login bug in backend-api内联:
@Cherri Code env=Platform branch=dev model=opus autopr=false Fix the login bug环境名称中包含空格时,请使用引号:
@Cherri Code env="Platform Services" Update the shared API选项优先级
组合使用选项时:
- 显式值会覆盖默认值
- 如有重复,后面的值会覆盖前面的值
- 内联选项的优先级高于设置弹窗中的默认值
- 同时存在时,**
env**的优先级高于repo pool、worker、machine和self_hosted=false(或sh=0) 的优先级高于频道默认用量池和团队默认用量池
bot 会解析消息中任意位置的选项,支持以自然的方式编写命令。
Cherri Code 会忽略三反引号代码块中的 key=value 选项 (即使代码块只有一行),并将其中的代码原样保留在你的提示词中。在下面这条消息中,pool=None 位于代码块内,因此不会被当作用量池选项:
@Cherri Code why does this crash? ```engine = create_engine(db_url, pool=None)```使用线程上下文
云端代理 能够理解并利用现有线程讨论中的上下文。当团队正在讨论某个问题,而你希望智能体根据讨论内容实施解决方案时,此功能非常有用。
云端代理 被调用时会读取整个线程以获取上下文, 并根据团队讨论理解并实施解决方案。
何时使用强制命令
何时需要使用 @Cherri Code agent?
在线程中已有智能体的情况下,@Cherri Code [prompt] 可添加后续指令。可由谁添加后续指令取决于团队后续。如果团队后续已禁用,则只有所有者可以添加后续指令。要启动一个独立的智能体,请使用 @Cherri Code agent [prompt],或用自然语言提出请求:
@Cherri Code start a new agent to refactor billing诸如 "创建新智能体"、"启动一个全新的智能体" 或 "请创建新智能体" 的表述效果相同。
何时需要使用 添加后续指令 (通过上下文菜单) ?
如需添加后续指令,请使用智能体回复上的上下文菜单 (⋯)。当一个线程中有多个智能体,而你需要指定要跟进哪个智能体时,此功能很有用。
状态更新与交接
在 Cherri Code 开始修改代码之前,如果你正在修复缺陷,或者了解实现细节有助于你跟进进展,它会先在线程中提交一份简短方案。简单的请求则会跳过这一步。工作过程中,Cherri Code 会在线程下更新简短的状态。
云端代理运行后,你会先看到_在 Cherri Code 中打开_选项。
云端代理完成后,你会在 Slack 中收到通知,并可在 GitHub 中查看创建的 PR。
管理智能体
要查看所有正在运行的智能体,请运行 @Cherri Code list my agents。
点击任意智能体消息上的三个点 (⋯),即可通过上下文菜单管理云端代理。
可用选项:
- 添加后续指令:向现有智能体添加指令
- 切换代码仓库:针对其他代码仓库或云端代理环境重新启动同一请求
- 删除:停止并归档云端代理
- 查看请求 ID:查看唯一的请求 ID,以便进行疑难排查 (联系支持团队时请提供)
- 提供反馈:就智能体性能提供反馈
如果智能体所需的代码仓库或环境不是当前这个,Slack 还会在启动消息上显示切换代码仓库。选择新的目标后,Cherri Code 会在此基础上继续执行。
配置
在 仪表盘 → 云端代理 中管理默认设置和隐私选项。
设置
默认模型
消息中未指定模型时使用。可用选项请参阅设置。
代码仓库选择
Cherri Code 会根据以下信息自动选择合适的代码仓库:
- 你的消息内容 — 提示词中的代码仓库名称或关键词
- 近期智能体活动 — 你最近使用过的代码仓库
- 路由规则 — 自定义的关键词到仓库映射 (见下文)
- 默认代码仓库 — 未找到匹配项时使用的后备仓库
如需使用特定代码仓库,请在消息中注明其名称。例如:@Cherri Code in mobile-app, fix the login bug。
基准分支
云端代理的起始分支。留空则使用代码仓库的默认分支 (通常为 main)
频道设置
使用 @Cherri Code settings 在频道级别配置默认设置。这些设置按团队生效,并会覆盖该频道的个人默认设置。
频道设置仅适用于公开频道。
尤其适用于以下情况:
- 不同频道使用不同的代码仓库
- 团队希望所有成员使用一致的设置
配置频道设置:
- 在目标频道中运行
@Cherri Code settings - 为该频道设置默认代码仓库
- 该频道中使用云端代理的所有团队成员都会使用这些默认设置
频道设置优先于个人默认设置,但可通过在消息中提及特定仓库来覆盖。
路由规则
通过路由规则,您可以定义自动映射到目标的关键字。当消息中包含某个关键字时,Cherri Code 会将智能体路由到关联的代码仓库或云端代理环境。环境可包含多个代码仓库,因此只需一个关键字,即可启动一个已配置好全部所需代码仓库的智能体。
设置路由规则
- 前往 Dashboard → 云端代理
- 找到 路由规则 部分
- 添加关键字到目标的映射,为每个关键字指定代码仓库或环境
示例规则
| 关键词 | 目标 |
|---|---|
frontend | acme/web-app |
mobile | acme/mobile-app |
api | acme/backend-services |
platform | Platform 环境 |
配置这些规则后:
@Cherri Code fix the frontend nav bug→ 路由至acme/web-app@Cherri Code update the mobile onboarding flow→ 路由至acme/mobile-app@Cherri Code add a migration across the platform→ 在Platform环境中启动,可使用其中的所有仓库
路由如何工作
Cherri Code 会按以下顺序判断你的消息:
- 消息内容 — 提示词中的代码仓库名称或关键词
- 最近的智能体活动 — 你最近使用过的代码仓库
- 路由规则 — 自定义的关键词到目标映射 (代码仓库或环境)
- 频道默认值 — 为此频道设置的代码仓库
- 默认代码仓库 — 未找到匹配项时使用的回退选项
团队默认用量池
团队管理员可将某个团队用量池设为 @Cherri Code 启动的默认用量池。此后成员无需在每次提及中添加 pool=<name> 或 self_hosted=true,即可在该用量池上运行。该默认设置对整个团队生效,适用于所有未设置频道默认用量池的频道。
团队用量池需要企业版方案。团队和频道默认设置仅在 Cloud Agents 仪表盘 中开启 Allow Self-Hosted Machines 时生效。若管理员将其关闭,Slack 会忽略这两种默认设置,提及将在 Cherri Code 托管的基础设施上运行。
可直接在 Slack 中管理该默认设置。设置或清除该默认设置所需的权限,与在仪表盘中修改自托管设置相同。任何人均可查看。
@Cherri Code pool set my-pool@Cherri Code pool@Cherri Code pool unset@Cherri Code settings 中也会列出团队默认用量池。
频道默认用量池
团队管理员还可以为某个频道单独设置用量池。设置后,该频道中的 @Cherri Code 提及将改用该频道的用量池运行,不再使用团队默认用量池;其他频道仍沿用团队默认用量池。设置或清除频道用量池所需的权限与团队默认用量池相同。
在要更改的频道中运行以下命令:
@Cherri Code pool set my-pool channel@Cherri Code pool@Cherri Code pool unset channel@Cherri Code pool 会显示该频道的用量池,并在旁边列出团队默认用量池。如果想改为从列表中选择,请运行 @Cherri Code settings,点击 Set Pool for Channel,然后从团队的用量池中选择一个。选择 Use the team default (no channel pool) 即可清除该设置。清除后,在该频道中提及 Cherri Code 时将恢复使用团队默认用量池。
Cherri Code 如何决定提及在何处运行
消息中的选项始终优先。Cherri Code 按以下顺序解析目标:
- 消息中的选项。
pool=<name>指向该用量池。worker=或machine=指向你的某台我的机器。self_hosted=false(或sh=0) 表示在 Cherri Code 托管的基础设施上运行。以上任一选项都会同时跳过两种默认用量池。若只写self_hosted=true(或sh=1) ,则使用频道默认用量池;若频道未设置,则使用团队默认用量池。 - 你的默认「我的机器」worker。 如果你为该代码仓库设置了自己的默认 worker,其优先级高于两种默认用量池。
- 频道默认用量池。 当你提及 Cherri Code 时所在的频道设有专属用量池时使用。
- 团队默认用量池。 当消息中不含上述任何选项,且频道也未设置专属用量池时使用。
仓库与默认用量池
代码仓库选择 在频道或团队默认用量池下的工作方式相同:依次看消息内容、近期活动、路由规则、频道默认值,然后是你的默认代码仓库和团队的默认代码仓库。接下来的行为取决于用量池的注册方式:
- any-repo 用量池,未解析出代码仓库。 Slack 会在该用量池上启动一个不带代码仓库的智能体。与任何 any-repo 用量池 一样,源代码控制由 worker 负责。如果确实解析出了默认代码仓库,智能体会将其作为上下文使用,但不会限制哪些 worker 可以领取该运行。
- 绑定仓库的用量池,未解析出代码仓库。 Slack 会以一条临时回复拒绝该提及,而不会回退到托管基础设施。请在提及中添加
repo=或pool=,或使用self_hosted=false在托管基础设施上运行,也可以通过@Cherri Code pool和@Cherri Code settings查看默认值。 - 已解析出代码仓库,且用量池为其提供服务。 Slack 会在设置好
repo=和pool=的情况下启动,效果与显式使用pool=<name>提及相同。 - 已解析出代码仓库,但用量池的 worker 只服务其他仓库。 Slack 会以一条临时回复拒绝该提及。请用
repo=指定该用量池所服务的仓库,或用pool=指定服务该代码仓库的用量池。
隐私
云端代理支持隐私模式。
不支持隐私模式 (旧版) 。云端代理运行时需要临时 存储代码。
显示智能体摘要
显示智能体摘要和 diff 图像,可能包含文件路径或代码片段。可开启或关闭。
在外部频道中显示智能体摘要
对于与其他工作区建立 Slack Connect 连接的频道,或包含访客等外部成员的频道,可选择显示智能体摘要。
权限
Cherri Code 需要以下 Slack 权限,才能让云端代理在您的工作区中运行:
| 权限 | 描述 |
|---|---|
app_mentions:read | 检测 @提及,以启动云端代理并响应请求 |
channels:history | 添加后续指令时,读取线程中的历史消息以获取上下文 |
channels:join | 收到邀请或请求时自动加入公开频道 |
channels:read | 访问频道元数据 (ID 和名称) ,以发布回复和更新 |
chat:write | 代理完成时发送状态更新、完成通知和 PR 链接 |
files:read | 下载共享文件 (日志、屏幕截图、代码示例) 以获取更多上下文 |
files:write | 上传代理更改的可视化摘要,便于快速审阅 |
groups:history | 在多轮对话中读取私有频道的历史消息以获取上下文 |
groups:read | 访问私有频道元数据,以发布回复并维持对话连贯性 |
im:history | 在持续对话中访问私信历史记录以获取上下文 |
im:read | 读取私信元数据以识别参与者并保持正确的线程关联 |
im:write | 发起私信,用于发送私密通知或进行一对一沟通 |
mpim:history | 访问群组私信历史记录,用于多人对话 |
mpim:read | 读取群组私信元数据,以联系参与者并确保正确送达 |
reactions:read | 读取表情回应,以获取用户反馈和状态信号 |
reactions:write | 添加表情回应以标记状态:⏳ 表示运行中,✅ 表示已完成,❌ 表示失败 |
team:read | 识别工作区信息,以区分安装实例并应用设置 |
users:read | 将 Slack 用户与 Cherri Code 账户匹配,以管理权限并确保安全访问 |
免责声明
Cherri Code 可能会出错。请务必仔细核查代码和回复。
隐私政策
如需了解 Cherri Code 如何收集、使用和保护您的数据,请参阅我们的隐私政策。