如何把 Slack 接入 Kortix 项目并控制会话启动策略
【免费下载链接】agentpressThe open-source AI Management System项目地址: https://gitcode.com/GitHub_Trending/ag/agentpress
Kortix 的 channel(频道)把一个聊天平台连接到某个项目:在已连接的 Slack 频道或线程里发一条消息,就会启动一个 session,agent 在同一线程里回复。这条路径解决两件事:把 Slack 工作区接入 Kortix 项目,以及用policy设置控制"谁能在某个频道里启动会话"。适用于已能使用 Kortix CLI 的 macOS 或 Linux 环境。
准备条件
安装 CLI(仅支持 macOS 和 Linux,没有 Windows 版本):
curl -fsSL https://kortix.com/install | bash然后登录并确认当前账号下有可用项目:
kortix login kortix projects lskortix login会打开浏览器完成登录,并让你选定 account 和默认 project。如果账号下还没有项目,可以先用kortix init my-app创建一个,进入目录后运行kortix ship把它推送到云上;也可以把本地仓库链接到已有项目:kortix projects link <project-id>(在项目 id 可以用kortix projects ls查到)。CLI 文档 对以上每个命令有完整说明。
连接 Slack
主路径:一键安装
在 CLI 中运行:
kortix channels connect在已配置共享 Slack app 的 host(例如 Kortix Cloud)上,这条命令会打印一个 one-click 安装链接。打开链接、选择要接入的 Slack 工作区,点击Allow即可。加上--wait可以让命令轮询直到安装真正生效:
kortix channels connect --wait也可以不进 CLI:打开项目的 Channels 页面在 dashboard 上连接 Slack,走的是同一套安装流程。
可选分支:自带 Slack app(BYO app)
在没有配置共享 Slack app 的自托管部署上,kortix channels connect会自动退回到手动模式。流程是:
- 运行
kortix channels manifest,它会打印一份 app manifest JSON; - 在
api.slack.com/apps用这份 manifest 创建 Slack app,并把它安装到你的工作区; - 拿到 bot token 和 signing secret 后运行(把
xoxb-...和...替换成你从 Slack 应用里拿到的真实值):
kortix channels connect --manual --bot-token xoxb-... --signing-secret ...验证连接
kortix channels status它会显示当前项目与聊天平台的连接状态。连接成功后,Kortix 会自动往kortix.yaml里写一条channelconnector 条目,不需要手写。要移除连接,运行kortix channels disconnect(默认移除 Slack 连接,--platform teams用于 Teams)。
身份链接:先/kortix login,再发任务
Kortix 在 agent 代某个人运行之前,会先把 Slack 发送者链接到一个 Kortix 账号。第一次使用前,在 Slack 里运行:
/kortix login然后按链接完成登录。未链接的发送者发消息时只会收到"先去链接"的提示,而不会启动会话。
链接完成后,在 bot 加入的任意频道(或私信)里 @ 它并附上任务描述,线程的第一条消息创建 session;该线程后续消息都会进入同一个 session,即使沙箱中途停止再恢复也不会换 session。如果一个 Slack 工作区连接了多个项目,第一次 mention 时会出现项目选择器。只 @ 不写任务会得到一个"请补充任务"的提醒,而不是启动 session。
用 policy 控制谁能启动会话
policy是每个频道独立的设置(per-resource setting),不是角色,它只决定"这个频道里谁能启动会话",且不会授予角色判定(role verdict)所拒绝的权限——这一点与 Accounts & access 文档 中 per-feature access settings 的描述一致。
在 Slack 里用斜杠命令设置:
/kortix policy project_openpolicy接受三个值:
| 模式 | 含义 |
|---|---|
project_open(默认) | 任何 mention 该 bot 的项目成员都能在这里启动 session |
owner_approval | 需要 owner 批准 |
owner_only | 只有 owner 能启动 |
也可以用 CLI 管理。先查看每个已绑定频道解析出的 agent、model 和 join policy:
kortix channels bindings ls然后用列表里给出的<bindingId>修改某个绑定(--policy接受owner_approval、owner_only或project_open):
kortix channels bind <bindingId> --policy owner_only同一张命令表里还有几个在频道侧常用的控制命令,可以直接在 Slack 输入/kortix <command>(或在 DM 里用纯文本输入):
| 命令 | 作用 |
|---|---|
login/logout | 链接或解除你的 Slack 身份 |
switch/unbind | 把当前频道重新绑定或解绑到项目 |
projects | 列出可绑定的项目 |
sessions | 列出本工作区最近启动的 session |
whoami | 显示频道面板:项目、agent、model、policy 和你链接的身份 |
agent <name>/model <id> | 设置该频道使用的 agent 或 model |
help | 列出全部命令 |
设置完成后,在 Slack 里跑/kortix whoami即可看到该频道当前的 project、agent、model 和 policy,用来确认设置是否生效。
凭据与限制
- bot token 的存放:已连接频道的 bot token 是一个 connector 范围的 secret,不会出现在项目的 Secrets 页面,也从不注入沙箱——Kortix 在 agent 发送聊天消息时于服务端解析该 token。
- Assistant DM pane:斜杠命令在 Assistant DM pane 里不会触发。在该面板里要改成纯文本输入
/kortix <command>,Kortix 会从纯文本中解析同样的命令。 - 平台范围:目前只有 Slack 和 Microsoft Teams 可以通过 CLI 和 dashboard 连接(Email、Voice 只能从 dashboard 或 SDK 管理);Telegram 等其他聊天平台不是受支持的 channel。
- 权限边界:
policy只收窄单个频道的启动范围,它不能越过角色模型——角色判定拒绝的权限,policy 也授不出来。
【免费下载链接】agentpressThe open-source AI Management System项目地址: https://gitcode.com/GitHub_Trending/ag/agentpress
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考