Skip to content

feat(group): 支持 /group 按次指定标签并复用会话群打标能力 #1230

Description

@DeepColds

背景

Botmux 当前已有两类建群后的标签能力:

  • 私聊设置为 /reply-mode group 后,自动创建的会话群可通过 sessionGroup.tag 统一打标;
  • Dashboard 手动创建群聊 / 会话时,可选择已有飞书标签或新建标签。

但飞书内的 /group(及 /g)命令目前不能按本次创建动态指定标签。比如:

/group 调研xxx --tag research

当前 --tag research 不会被识别为参数,而会进入群名。

需求

/group / /g 增加按次指定标签的能力,并尽量复用现有会话群打标实现:

/group 调研xxx --tag research
/g --tag=research 调研xxx

预期:

  1. 创建名为「调研xxx」的群聊,--tag 参数不会进入群名;
  2. 群创建成功后,自动加入名为 research 的标签;
  3. 默认沿用 creator Bot 的 sessionGroup.tag.mode
    • feed-group:个人侧边栏消息分组;
    • chat-tag:企业自定义群标签;
  4. 标签不存在时可复用现有逻辑按名称查找或创建;
  5. 打标保持 best-effort:打标失败不回滚已经创建的群,但 /group 的结果消息需明确提示失败原因;
  6. 不传 --tag 时保持现有行为不变;
  7. 参数为空、超长或标签模式为 off 时,应给出明确提示,不能静默忽略。

影响范围

建议统一评估所有建群入口,避免标签能力继续分散:

  • 飞书 /group/g
  • /reply-mode group 自动创建的会话群;
  • Dashboard「创建群聊 / 创建会话」;
  • CLI botmux create-group(可考虑同步增加 --tag,或明确暂不支持)。

多 Bot 群由实际执行 chat.create 的 creator Bot 负责打标。feed-group 涉及用户 OAuth token,必须按群发起人 / owner 做身份隔离,不能复用其他用户的 token;实现时需同时遵守 #896 跟踪的 owner-token 边界。

验收标准

  • /group 调研xxx --tag research:群名正确,群进入 research 标签;
  • /g --tag=research 调研xxx:等价生效;
  • 多 Bot /group @BotA @BotB 调研xxx --tag research:只创建一个群,由 creator 完成打标;
  • feed-groupchat-tag 两种模式均有测试;
  • 未授权、缺 scope、标签 API 失败时,群仍创建成功且用户收到清晰警告;
  • --tag 不出现在群名或后续会话 prompt 中;
  • --tag 的既有 /group 行为无回归。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions