本指南介绍 Deskgram 2 分支自动回复模块的对话树设置。功能概览见模块页面。设置根据 2026 年 10 月 24 日的实现核对。
模块回复所选账号收到的私人消息,记录每位对话者当前所在的步骤,选择可用回答并发送预先准备的消息。先建立一个简短对话树,再用自己的另一个账号完整测试。

选择对话模式
在 CONFIG.EXE → 常规中选择模式:
| 模式 | 下一条回答的选择方式 |
|---|---|
| 分支 | 根据子节点触发词或当前节点的 AI decision;没有匹配时可使用默认分支 |
| 顺序 | 每收到一条新消息,发送链中的下一条回答;不使用触发词或 AI decision |
顺序模式不会在任务启动时一次发送整条链。每一个后续步骤都需要新的入站消息。每一步只保留一个后续子节点;同一问题需要多个不同回答时,请使用分支模式。
状态按“所选账号与发送者”这一对组合分别保存。同一个人与您的两个账号对话,不等于同一份共享进度。当前状态由运行中的任务保存;配置文件保存树的设置,不保证重启后恢复每段实际对话的位置。

在画布上构建树
起始节点代表收到消息。用 + 添加子节点,例如“价格”和“安装”;铅笔按钮打开节点设置。名称应便于在日志里辨认跳转。
拖动节点可移动位置,滚轮用于缩放,拖动画布背景可平移视图。把 + 拖到已有节点,可以连接到它。对齐整理树的布局,返回撤销最近一次画布操作,查找节点帮助定位。展开按钮打开更大的工作窗口。
不要一开始就添加几十条分支。先验证第一次选择、一次继续和对话结束,再扩展已验证的树。修改连线后,检查目标节点是否仍属于应该选择它的那个步骤。

设置触发词和回答
首次测试请关闭 AI decision。在子节点的常规选项卡填写触发词,多个词用逗号或换行分隔,例如:
- “价格”:
价格, 费用, 报价。 - “安装”:
安装, 下载。
普通触发词忽略大小写,并按词边界匹配。对于没有空格的中文句子,应实际测试完整输入;不要假设单个词一定能在任意连续文本中匹配。引擎只检查当前步骤的子节点,因此不同层级使用相同触发词可以得到不同回答。
多个相邻子节点都匹配时,检查顺序会影响选择。应调整重叠词,并分别测试每个问题。触发词不表示整棵树始终参与匹配。
在消息选项卡选择:
- 文本:填写预设回答。
{您好|下午好}会在发送时选择一种表达。 - 复杂消息:点击保存并设置复杂消息,在独立编辑器中配置文本和附件。
启动前检查每个回答内容。分支选择与发送内容是两项设置:选择了正确节点,也不会自动修复该节点的文字或附件错误。
设置跳转规则
普通跳转
发送成功后,被选节点成为当前步骤。下一条消息检查它的子节点。没有子节点并不自动表示“结束并回到起点”,需要这种行为时请明确启用结束设置。
结束对话
回答发送成功后,状态返回起始节点,下一次新消息可以重新进入场景。结束节点下面的子节点不使用。发送失败不能视为成功完成了该步骤。
默认分支
分支模式中,每个父节点可以有一个默认子节点,普通触发词都未匹配时使用它。默认选择不依赖这个节点自身的触发词。在同一层指定新的默认分支时,界面会帮助替换原来的选择,保持只有一个。
默认分支适合预先写好的澄清,例如“请确认您需要了解价格,还是需要安装帮助?”这不是 AI 自动生成的回答。
留在当前步骤
此设置适合澄清:发送被选子节点的回答,但状态仍留在之前的父步骤。下一条消息仍可选择之前那些相邻分支;澄清节点自己的子节点不会成为下一级。
它只用于分支模式,不应与结束对话同时使用。顺序模式应依照链条前进,不能依赖这些分支选择规则。
按需要启用 AI decision
AI decision 按语义选择一个已经存在的子分支,不会自动改写预设回答。
先在模块中启用 AI 并选择提供商与模型,再在需要选择后续路径的节点中启用 AI decision。起始节点选择第一条分支,其他节点选择已发回答之后的下一步。
指令示例:“价格分支处理费用和套餐问题;安装分支处理下载和启动程序的问题。如果都不合适,不要随便选择。”包含对话历史会提供可用的近期上下文,不应假设模型获得整段历史。
只有模块和当前节点两处都启用 AI 时才采用语义选择,此时触发词不是强制前置筛选。任一处关闭 AI,则采用普通触发词和默认分支。顺序模式不使用 AI decision 进行跳转。
应区分无匹配和技术故障。ainomatch、no_candidates 可以使用默认分支;提供商错误、空响应或格式无效的模型输出,不会自动降级到触发词或默认分支。具体原因写入日志。
提供商连接见 AI 组件指南。模型可用性、密钥、费用和提供商响应需要分别检查。
运行时间与延迟
在常规中填写任务持续分钟数。0 表示不受此计时器限制。回答延迟是发送前等待的秒数区间,下限不得大于上限。
延迟不代表向对方显示“正在输入”。同一发送者在上一条回答准备期间又发来消息,这条新消息可能被跳过并记入日志;模块不承诺排队处理所有此类消息。测试时每次发一条,等收到回答再继续。
确认所选账号空闲、连接正常,并符合模块访问限制。账号出现在选择列表中,并不表示它在被其他任务占用时也可以立即启动。
处理较早的消息
高级设置包含回复旧消息及不回复早于指定日期的消息。这是任务启动时的一次独立扫描,不会持续载入全部历史。
符合条件的私人对话必须有未读消息,且最后一条消息必须是带非空文本的入站消息,并满足日期下界。程序检查每个对话的最后一条,而不是逐条回复所有未读消息。如果最后一条由您自己发送,则该对话不符合条件。
发送前还会再次检查是否仍适用。出现新活动或最后消息变化,都可能取消对原旧消息的回复。请用测试对话确认日期筛选符合预期。
未启用此选项时,应使用启动后收到的新消息测试。已读的旧对话不能用于证明未读扫描失效。
按历史词语排除对话
聊天词语筛选允许配置排除词,检查深度为最近 1–100 条消息。每个词有完整词匹配与大小写选项。
检查包括可访问的近期入站和出站消息,转发文本、可用的作者名称或标题也可能参与。这不同于根据当前消息选择回答的触发词。
命中排除项时不发送回答,也不选择跳转。如果历史读取失败,模块会跳过回复并记录警告,不会把失败当成通过筛选。
假设设置 operator 为排除词,以避开最近要求人工介入的对话。检查深度为 10 时,更早消息中的请求不参与。请分别测试大小写、完整词和子串匹配,尤其注意中文完整词边界的实际效果。
保存配置文件
在配置文件中输入名称并保存。恢复时从列表选择并加载;导入 JSON从文件读取场景。
加载和导入后,检查模式、树、消息、AI、筛选、时间和延迟。使用无限时长时,尤其应重新检查零值。配置文件不是实际收到消息的存档。

配置文件存储于程序文件夹,也可以被那些提供内嵌分支自动回复组件的模块选择。连接方式见自动回复组件指南。
删除配置文件删除已保存场景;重置树改变当前画布。操作前先保存需要保留的版本。
正式运行前测试
- 选择一个已连接且空闲的测试账号。
- 检查树、模式、消息和设置,保存配置文件。
- 点击启动;需要稍后启动时使用延后。
- 用自己的另一个账号发送新私信“价格”,等待正确分支回答。
- 从起始状态测试“安装”,再用无关问题测试默认分支。
- 测试继续、保留当前步骤的澄清,以及回到起点的结束。
- 如需 AI、排除词和旧未读消息功能,分别测试。
- 将回答与日志对照,每次只改一项设置,便于判断原因。
故障排查
| 现象 | 检查事项 |
|---|---|
| 不回复新消息 | 账号、连接、运行时间、是否为启动后的私人入站消息、排除规则 |
| 跳过旧对话 | 功能开启、有未读、最后消息为带文本的入站、日期满足、筛选后没有新活动 |
| 选择了错误分支 | 当前步骤、相邻触发词顺序、AI 设置 |
| 回答后不继续 | 是否有子节点、是否结束、顺序模式是否又收到消息 |
| 重复澄清 | 留在当前步骤使原来的选项仍然可用 |
| 默认分支没处理 AI 错误 | 它不是技术故障后备方案,请查日志 |
| 无法加载历史 | 检查连接与筛选警告,读取失败会跳过回复 |
| 延迟期间跳过消息 | 等上一条回答,再查看等待日志 |
此场景不处理群组或频道消息、机器人消息、自己的出站消息及不符合条件的旧对话。Telegram 与 AI 错误请根据具体日志排查;树设置正确不保证外部服务始终可用。
相关页面
所有语言版本使用同一组俄文截图,因为此模块尚未完全本地化。截图展示主要操作,您当前版本的附加设置可能有所不同。