定价文档
开始使用
频道

在用户已经工作的地方触达他们。

将 Slack 连接到项目后,线程中的消息会启动会话。agent 会启动自己的云端计算机,完成工作,并在同一线程中回复。用户无需打开新的工具来提出请求。

连接 Slack阅读文档
#acme-launch
会话 9f4c2b7e
Dana@kortix 根据变更日志起草 Q3 发布说明,并将其放入代码仓库1
kortix正在读取 v0.9 以来的变更日志。在此会话的分支上起草 launch-note.md。
kortixlaunch-note.md

要针对 main 创建变更请求吗?

launch-note.md · +64 −0

批准要求修改拒绝
这些界面

两个已上线。一个处于实验阶段。我们会说明是哪一个。

A channel is a chat platform bound to a project — a closed set of three, not an open field. Here is the real state of each one, including the parts a marketing page usually leaves out.

SurfaceStateWhat that means
  • Slack已上线

    默认启用,无需标志位。从 dashboard 或 CLI 连接,将 bot 邀请到频道并提及它。本页其余内容均描述 Slack。

  • Microsoft Teams已上线

    对每个项目都已开启,无需开关。租户管理员只需同意一次,或者项目使用自己的机器人应用。会话和身份规则与 Slack 相同。

  • Email实验性

    项目收件箱:发送到该地址的消息会启动会话,回复会继续该会话。在 Customize → Feature flags 中按项目选择启用。功能真实存在,但尚未完成。

什么不是频道

Telegram、WhatsApp、SMS 和 Discord 都不是频道;本页不会暗示它们已进入无法承诺的路线图。也没有可自建频道的 API——平台列表是一个封闭枚举。现有的是签名 webhook 触发器;相比兜售“可扩展”这个词,我们更愿意坦诚说明它的限制。

诚实的替代方案 →
线程到会话

一个线程就是一个会话,仅此一个。

线程中的第一条消息会创建会话。之后该线程中的每条消息都会到达同一个会话——即使 sandbox 在夜间停止运行,即使启动会话的人已经下班。这个映射是数据库中的唯一索引,而不是两个服务约定遵守的规则。

#acme-launch
  • DDana@kortix 根据变更日志起草 Q3 发布说明,并将其放入代码仓库
  • kortix正在读取 v0.9 以来的变更日志。在此会话的分支上起草 launch-note.md。
  • kortixlaunch-note.md
会话9f4c2b7e…云端计算机已启动 · 已创建分支 · agent 运行中

要针对 main 创建变更请求吗?

launch-note.md · +64 −0

批准要求修改拒绝
插图。Acme 是占位符,不代表客户。
  1. 00

    有人提及 bot

    在 bot 已受邀加入的频道中,或通过私信。没有任务的单独提及会收到添加任务的提醒,而不是创建一个无人请求的会话。

  2. 01

    会话启动

    Kortix 会创建分支并启动自己的隔离云端计算机,过程与从 dashboard 或 CLI 启动会话完全相同。你会在自己的消息上看到反应,而不是看到 bot 发来一句“正在处理”。

  3. 02

    agent 工作中

    它拥有 shell、文件系统、网络,以及其 agent block 授予它的连接器和秘密。线程是你查看进度的地方,机器是实际工作的地方。

  4. 03

    在同一线程中回复

    回复会流入它启动的消息,并出现在提问所在的线程中。两个人都可以观看,无需打开任何东西。

同一个全新线程同时到达的两个事件不会产生两个会话:第二个事件会加入第一个,并作为后续消息传递。一个 Slack 工作区绑定到多个项目时,首次提及会显示项目选择器,而不是擅自猜测。

连接它

安装它,邀请它,提及它。

在已配置共享 Slack 应用的主机上,运行 kortix channels connect 会打印安装链接,三次点击即可完成。在没有共享应用的部署中,同一命令会自动回退到手动模式,并提供可粘贴的应用清单。

kortix channels
# 托管模式:打开安装链接,然后选择工作区$ kortix channels connect --wait→ 已连接:slack 工作区 acme-hq # 自托管?同一命令会回退到手动模式$ kortix channels manifest > slack-app.json$ kortix channels connect --manual \--bot-token xoxb-... --signing-secret ... # 检查状态,或断开连接$ kortix channels status$ kortix channels disconnect
  • 安装不是最后一步:将机器人邀请到频道并提及它。在未邀请它的频道中不会发生任何事情。
  • 连接时会替你将频道连接器写入 kortix.yaml。你无需手动编写该条目。
  • 控制台和 CLI 使用相同的安装流程。但它们都不是真正的核心。
往返流程

返回的是工作成果,而不是聊天记录。

只有当答案能回到提问所在的位置时,连接频道才有价值。文件可以双向传递,而代理需要你做出的决定会以线程中的按钮呈现,而不是让你跳转到其他地方。

流式返回答案

回复会作为一条逐步填充的消息出现在主题中,而不是一堵更新消息墙。代理会完成这条消息,而不是在下面再发一条。

文件,双向传递

拖入主题的文件会被拉取到代理的云端计算机。代理生成的文件会上传回同一个主题。你要的演示文稿会出现在你指定的位置。

批准、拒绝、要求修改

代理需要决定时,会发布带按钮的卡片,而不是让一次执行永久阻塞。你的点击就是裁决,会话会从该决定继续,并留在同一主题中。

有一个必须如实说明的限制:卡片包含决定和返回 Kortix 的链接。读取变更请求的实际 diff 要在 Web 应用中完成,因为 diff 就该在那里查看——Slack 不是代码审查工具,我们不会假装它是。

从主题中

Run the project without leaving the thread.

在 Slack 中将这些内容作为 /kortix <command> 输入,或在私信中以纯文本发送。通常你原本需要打开控制台完成的操作,在频道中一行命令即可完成。

CommandWhat it does
login, logout
将聊天身份关联到 Kortix 账户,或取消关联
switch, unbind
将此频道重新绑定到其他项目,或解除绑定
projects
列出可绑定此频道的项目
sessions
列出从此工作区启动的最近会话
agent <name>, model <id>
设置此频道使用的代理和模型
policy <mode>
设置谁可以在此处启动会话
whoami
显示面板:项目、代理、模型、策略、关联身份

关于“谁可以在此处启动会话”的三种答案

project_open
默认设置。任何提及机器人的项目成员都可以获得会话。
owner_approval
只有频道所有者批准请求后,会话才会启动。
owner_only
仅限所有者。其他人什么也得不到,结果可预期。
相同的规则

聊天界面不是后门。

Slack 中的消息不会获得任何控制台会话没有的权限。变化的只是界面,底层权限不会改变。

每个发送者都是已知的人
Kortix 会先将聊天发送者关联到 Kortix 账户,然后代理才会代表其运行。运行 /kortix login 并登录。未关联的发送者会看到关联提示,而不是获得会话——因此共享频道中的陌生人无法消耗你的计算资源。
机器人令牌永远不会进入沙箱
已连接频道的令牌是连接器范围的机密。它不会出现在项目的 Secrets 页面中,Kortix 也绝不会将其注入云端计算机。代理发送消息时,系统会在服务端即时解析它。
它以你选择的代理运行
频道会指定其代理和模型,并继承该代理对连接器、机密和技能的默认拒绝权限。你可以在主题中用一行命令修改任一项。
不会自动合并任何内容
代理会在主题中回复。它要保留的工作会提交到会话自己的分支,只有经过人员审查的变更请求才能进入 main。
其他所有内容

没有适用于你平台的频道?下面是如实可行的路径。

没有自定义频道 API——平台列表是封闭枚举,我们不会把缺口包装成插件系统。当前提供的是一个带签名的 webhook 触发器,每个对话启动一个会话。它很好地解决了入站部分,我们也会明确告诉你它无法完成什么。

kortix.yaml
# 任意对话来源,无需编写特定频道代码triggers:- 标识: support-inbox    type: webhook    agent: support    secret_env: WEBHOOK_SECRET     # 每个对话一个会话,而不是每条消息一个会话    session_mode: keyed    session_key: "{{ body.data.conversation_id }}"     # 忽略代理自己发出的消息    filter:      "body.data.direction": "inbound"     prompt: "{{ body.data.text }}"

你将获得什么

每个对话一个会话。session_key 从载荷中渲染,因此单个触发器可以为每个聊天、客户或代码库分别创建会话——独立的线程,而不是混在一起的记录。

还有一个循环阻断器

如果来源同时报告对话双方的消息,代理会在回复自己时再次触发。filter 会以 200 响应丢弃这些投递,不创建会话。与每个 Kortix webhook 一样,使用 HMAC-SHA256 签名。

你不会获得什么

没有回复中继。真正的频道会替你将答案传回;这里代理必须通过你授予它的连接器自行发送出站消息。入站已解决,出站由你接线。

了解触发器的工作方式

在你拥有的一个仓库中运行整个公司。

从一项工作开始,逐步扩展。

开始使用

产品

  • 智能体计算机
  • 代码化公司
  • 连接器
  • 自动化
  • 频道
  • 智能体与技能
  • 安全
  • 自托管
  • Enterprise
  • 定价
  • 下载

解决方案

  • 销售
  • 营销
  • 工程部
  • 产品
  • 财务
  • 人员
  • IT
  • 数据科学

开发者

  • 文档
  • AI Operating System
  • CLI
  • SDK
  • 快速入门
  • 面向开发者
  • 市场
  • GitHub

公司

  • 关于
  • 招聘
  • 博客
  • 更新日志
  • 使用场景
  • 品牌

连接

  • X
  • LinkedIn
  • Discord
  • 状态
  • 支持
  • 条款
  • 隐私
©2026 Kortix