Skip to content

[chat] 机器人 send-by-bot 缺 @ 能力 + reply 无机器人身份 + 文档↔二进制漂移(多用户反馈,live v1.0.44 仍开) #526

Description

@PeterGuy326

[chat] 机器人群内 @ / 引用回复能力缺失 + send-by-bot 文档↔二进制漂移

复核 2026-06-29(dws v1.0.44):仍开。源码 internal/helpers/chat.go:553-557 newChatMessageSendByBotCommand 仍只注册 group/robot-code/text/title/users,无任何 --at-*dws chat message send-by-bot --help live 输出同样无 at flag。注意 --at-open-dingtalk-ids/--at-all 存在于普通 send 命令(chat.go:327,仅 --group 群聊生效),不是 send-by-bot。

  • 分类(category): 能力缺失 + 文档漂移
  • 归属: dws 仓(dingtalk-workspace-cli / internal/helpers/chat.go)+ skill 文档(chat.md
  • 优先级: 中高(多用户反馈,影响"机器人答疑/群互动"核心场景)
  • 发现日期: 2026-06-18
  • 反馈来源: 肖志灿(alexxiao)、林闽琦Daniel 等("机器人群 at 回复消息命令没上线吗 / 用 bot 身份 @ 不行")

现象

用户想让机器人在群里 @ 某人并回复消息,找不到对应命令,怀疑"是没上线还是版本低"。实测 v1.0.38(最新版)确认:该组合能力当前 CLI 层未暴露。

根因

拆成两个独立缺口:

能力 现状 源码证据
机器人发群消息时 @ 成员 send-by-bot 只有 --group/--robot-code/--text/--title/--users无任何 @ flag internal/helpers/chat.go newChatMessageSendByBotCommand:Flags 仅注册 group/robot-code/text/title/users,源码层就没有 at-*
机器人引用回复某条消息 reply 命令硬编码用户身份,无机器人身份分支 newChatMessageReplyCommandmsgType:"reply" + clawType: edition.ClawType(),走当前用户身份,无 robot-code 路径

附带问题:文档↔二进制漂移。 skill chat.md(send-by-bot 段)明确文档化了 --at-user-ids / --at-open-dingtalk-ids / --at-all,但线上二进制根本没有这三个 flag。AI Agent 照文档生成命令会直接 unknown flag 报错。

复现

# 1) 机器人 @ 群成员 —— 文档说支持,实际 unknown flag
dws chat message send-by-bot --robot-code <code> --group <id> --at-user-ids <userId> --text "@x hi"
# → unknown flag: --at-user-ids

# 2) 机器人引用回复 —— 无机器人身份版本,reply 只走用户身份
dws chat message reply --help
# → "以当前用户身份引用某条消息并回复",无 robot-code 参数

修复建议

  • (a) send-by-bot 补 @ 能力:在 newChatMessageSendByBotCommand 注册 --at-user-ids / --at-open-dingtalk-ids / --at-all,并映射到机器人发消息接口的 at 字段。与文档对齐后即可闭环肖志灿/林闽琦的诉求。
  • (b) reply 增机器人身份分支(次优先):reply 支持传 --robot-code 走机器人身份引用回复;或新增 reply-by-bot
  • (c) 文档兜底(最低成本,先做):若短期不补能力,先把 chat.md 里 send-by-bot 的 --at-* 文档删除/标注"未上线",消除文档误导。

临时绕过(已验证可用)

自定义机器人 webhook 支持 @(二进制实测 flag 真实存在):

dws chat message send-by-webhook --token <群机器人token> --title "x" --text "hi @10" --at-all
dws chat message send-by-webhook --token <token> --text "hi" --at-users <userId>

能 @,但不是"引用回复"形态。

验收标准

  1. dws chat message send-by-bot --helpchat.md 文档一致:要么 at-* flag 真实存在且实测可 @,要么文档无 at-* 字样。
  2. 无"文档说支持、实跑 unknown flag"的撕裂。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions