背景
当前 Chat Channel 的 Telegram 集成只能按整个 chat 路由消息。在 Telegram supergroup 开启 Forum Topics 后,多个任务/会话仍然共享同一个群聊上下文,容易出现以下问题:
- 多个任务的回复混在同一个群里,阅读和追踪困难
- 用户无法自然地用不同 topic 承载不同 Codeg 会话
/resume、权限审批、follow-up 等操作缺少 topic 级别的上下文
- 在群组里使用 bot 时,需要更清晰地限制消息处理范围,避免误响应无关消息
目标
为 Telegram Chat Channel 增加可选的 Forum Topic 模式,使一个 Telegram topic 可以绑定一个 Codeg 会话,并在 topic 内完成任务启动、恢复、follow-up、权限审批和输出路由。
需求
- 在 Telegram channel 配置中增加
topic_mode 开关。
topic_mode 关闭时保持现有 Telegram 行为不变。
topic_mode 开启时:
- 仅处理配置的
chat_id 中的 Telegram update。
- General topic 中仅允许通过显式
/task <description> 创建任务。
- General topic 普通文本不触发任务创建。
/task 可自动创建新的 Telegram forum topic,并将新会话绑定到该 topic。
- 在手动创建的 topic 中执行
/task 时,将该 topic 绑定到新会话。
- 在 topic 中执行
/resume <id> 时,将当前 topic 绑定到恢复的会话。
- follow-up、ACP 输出、权限审批、取消等操作按 topic 绑定路由。
- 会话标题更新时尽量同步 Telegram topic 标题。
- 支持 Telegram inline keyboard callback,用于
/folder 和 /agent 选择。
- 不影响 Lark/Feishu、Weixin 等其他 channel 的现有行为。
- 补充使用文档和必要测试。
验收标准
- Telegram 非 topic 模式行为保持兼容。
- Topic 模式下不同 topic 的会话互不串线。
/task、/resume、/sessions、/cancel、/approve、/deny、follow-up 在 topic 中能按预期工作。
- General topic 普通文本不会触发任务。
- Telegram callback query 能正确处理 inline keyboard 按钮。
- 新建 topic 会话能使用 Web UI 中配置的 agent/model/provider 设置。
- Rust 测试、clippy、前端 lint/build 通过。
背景
当前 Chat Channel 的 Telegram 集成只能按整个 chat 路由消息。在 Telegram supergroup 开启 Forum Topics 后,多个任务/会话仍然共享同一个群聊上下文,容易出现以下问题:
/resume、权限审批、follow-up 等操作缺少 topic 级别的上下文目标
为 Telegram Chat Channel 增加可选的 Forum Topic 模式,使一个 Telegram topic 可以绑定一个 Codeg 会话,并在 topic 内完成任务启动、恢复、follow-up、权限审批和输出路由。
需求
topic_mode开关。topic_mode关闭时保持现有 Telegram 行为不变。topic_mode开启时:chat_id中的 Telegram update。/task <description>创建任务。/task可自动创建新的 Telegram forum topic,并将新会话绑定到该 topic。/task时,将该 topic 绑定到新会话。/resume <id>时,将当前 topic 绑定到恢复的会话。/folder和/agent选择。验收标准
/task、/resume、/sessions、/cancel、/approve、/deny、follow-up 在 topic 中能按预期工作。