CHATOPS COMMAND BOT · PRODUCT SHOWCASE

把 AI 请进
你的聊天窗。

@ 一下,AI agent 接手:拉日志、查代码、给出结构化报告——结果发回同一个 thread,全员都看着。

broker · deterministic worker · short-lived config-driven

01 — WHAT · 这是什么

团队的事,大多是在聊天窗里开始的。

「这个接口又 500 了」「帮我查下这条订单」——问题先在对话里冒头,然后才有人切出去开日志、翻代码、拉着人对时间线。

ChatOps bot 做的事很直接:@ 一下,把一个 AI agent 请进这场对话。它接手、去查、把结果发回同一个 thread——不用切工具,全员都看着。

但你我都知道,随口一句话喂给 AI,回来的东西时好时坏、没法复现、也没人兜底。所以这个机器人不只是「把 AI 接进来」——它把那句随口的话,收拢成一条有向导、有始有终、可复用、可追溯的命令

至于 chat 是 Slack、Teams 还是 Lark,agent 是 Claude Code 还是 Cursor——都只是插头。

本 demo 以 Lark + Claude Code 为例。

02 — PRINCIPLES · 核心理念

确定性做骨架,
AI 只做大脑。

要让一句随口的话变成可靠的命令,秘诀是:能交给死流程的,绝不交给模型。三条铁律——

确定性优先

能用死流程做掉的绝不交给模型:解析、路由、向导、生命周期,全部跑在无 LLM 的门卫里,永远不会退化。

一线程一实例

一个 thread 就是一个命令实例,从生到死。状态严格按线程隔离,绝不串台,这是铁律。

config 驱动扩展

新增一个能力 = 一份 JSON + 一个 worker skill。路由和生命周期内核一行不动。

03 — ARCHITECTURE · 架构总览

常驻的门卫,短命的大脑。

Chat 入口 WebSocket broker · 确定性门卫 解析 / 路由 / 向导 / session 无 LLM · 常驻进程 queue worker · 纯大脑 短命子进程 · 跑完即退

Chat 入口 — 消息经 WebSocket 进来,按 threadKey 落到唯一 session。

broker — 确定性门卫:解析、路由、向导、生命周期全包,一行 LLM 都没有。

worker — 只有真正需要分析时才被拉起的子进程,跑完即退,崩了也不影响门卫。

04 — LIFECYCLE · 一条命令的一生

从一句 @bot,到一份结构化报告。

  1. STEP 1入口收消息 — 按 threadKey 定位或创建 session,线程隔离。
  2. STEP 2命令路由 — FlowRegistry 按 trigger 关键词匹配命令。
  3. STEP 3config 出卡 — StepEngine 读配置渲染当前步骤卡片。
  4. STEP 4向导收集 — 按钮/输入收集值,session 状态机推进。
  5. STEP 5派活 worker — broker 拉起短命子进程做分析。
  6. STEP 6回复 thread — 结构化报告发回同一线程。

05 — MECHANISMS · 核心机制

门卫靠这五件事,把确定性活全包住。

01 队列去重 / 故障隔离

同一话题、同一时刻只跑一个调查。重复请求当场去重、明确回绝,不排队。分析崩溃只死子进程,门卫照常运转。

重复请求⊘ 去重 · 回「正在调查中」

AI 崩溃只死子进程 · 门卫不受影响

02 会话状态 / 生命周期

每个话题一个会话,三态自动流转。正常收尾先问一句反馈,系统故障则直接关闭、不打扰用户。

进行中待反馈已关闭

闲置 2 小时自动收尾 · 可随时唤起重填

03 线程隔离 / Bot 行为

一个话题 = 一个命令实例,状态严格按话题隔离,绝不串台。群里靠卡片按钮收集输入,不靠逐条打字。

群聊 → 需 @ 机器人 · 私聊 → 直接处理

04 配置驱动 / 可复用

加一个新能力,只写一份 config + 一个分析 skill,不碰路由和生命周期内核。向导与反馈共用同一套步骤引擎。

新能力 → config + skill → 内核不动

05 Feedback(综合案例)

反馈把前面几件事串起来:挂在「待反馈」状态上,复用同一套步骤引擎,config 里开个开关即接入。

裁决三轴评价落库归档

无回应则每日轻提醒,多次无果自动放弃 · 可随时重填覆盖

06 — EXTEND · 收尾

新增一个能力
= 一份 config + 一个 skill。

内核不动,边界清晰。这就是确定性骨架的意义。