Skip to content

[Bug] v1.0.33 chat message download-media 帮助文档、schema 与实际执行不一致,导致无法下载消息图片 #409

@Clarkkkk

Description

@Clarkkkk

Describe the Bug

dws chat message download-media 的帮助文档、schema 与实际执行行为不一致,导致无法下载聊天消息中的图片资源。

具体表现为:

  1. dws chat message download-media --help 能正常显示该子命令,并列出参数:

    • --type
    • --resource-id
    • --message-id
    • --open-conversation-id
    • --output
  2. 但实际执行该命令时,CLI 不识别这些参数,直接报错:

    • unknown flag: --type
  3. 同时,dws schema 中查不到 download-media 对应的 schema,说明 help 输出、schema 注册和实际执行层不一致。

这会阻断“先通过消息接口拿到图片消息中的 mediaId,再下载图片本体”的完整流程。

Steps to Reproduce

  1. 运行以下命令查看帮助:

    dws chat message download-media --help
  2. 可以看到类似如下输出,说明命令和参数在 help 中是存在的:

    Usage:
      dws chat message download-media [flags]
    
    Flags:
          --message-id string
          --open-conversation-id string
          --output string
          --resource-id string
          --type string
    
  3. 运行实际下载命令:

    dws chat message download-media \
      --type mediaId \
      --resource-id '@lQLPKHC_8Q3FFGfNA5rNB3iwCM0hpZGHbKMJ9IGO5bP1AA' \
      --message-id 'msgmYynu7DMlZDLBLczkoV0Gg==' \
      --open-conversation-id 'cidtuc2FWKNUzVgGhoIJkjy/nWk31qp7nGHFhbvjWCD9/g=' \
      --output /tmp/dws-echo-zhou/ \
      --format json
  4. 看到报错:

    {
      "error": {
        "category": "validation",
        "cause": "unknown flag: --type",
        "code": 3,
        "message": "unknown flag: --type\nSee 'dws chat message --help' for usage.",
        "reason": "unknown_flag"
      }
    }
  5. 进一步检查 schema:

    dws schema 'chat message download-media' --format json
    dws schema chat.download-media --format json
  6. 可以看到 schema 路径不存在,无法查到该命令定义。

Expected Behavior

dws chat message download-media 应该与 help 中展示的参数保持一致,并正常识别以下参数完成下载:

  • --type
  • --resource-id
  • --message-id
  • --open-conversation-id
  • --output

如果当前版本或当前网关不支持该能力,也应该让 help、schema 和实际执行行为保持一致,而不是 help 可见但执行失败。

Actual Behavior

实际执行时,命令没有正确接收 help 中列出的参数,直接报错:

{
  "error": {
    "category": "validation",
    "cause": "unknown flag: --type",
    "code": 3,
    "message": "unknown flag: --type\nSee 'dws chat message --help' for usage.",
    "reason": "unknown_flag"
  }
}

同时:

  • dws chat message download-media --help 能看到命令和参数
  • dws schema 中查不到对应 schema
  • 因此无法通过该命令下载聊天图片资源

Environment

  • OS: macOS 15.7.4

  • Architecture: arm64

  • CLI Version: dws version 输出如下

    Version:        v1.0.33
    Edition:        open
    Build:          2026-06-02T15:40:38Z
    Commit:         c75ed45
    Architecture:   MCP Dynamic Aggregation
    Go:             1.24+
    
  • Go Version (if building from source): 未从源码构建,CLI 输出中显示 Go: 1.24+

Additional Context

用于复现的图片消息已经可以通过消息接口正常拿到,说明问题不在消息读取,而在图片下载能力本身。

相关消息内容如下:

[图片消息](mediaId=@lQLPKHC_8Q3FFGfNA5rNB3iwCM0hpZGHbKMJ9IGO5bP1AA)

对应消息元数据:

  • openMessageId: msgmYynu7DMlZDLBLczkoV0Gg==
  • openConversationId: cidtuc2FWKNUzVgGhoIJkjy/nWk31qp7nGHFhbvjWCD9/g=
  • mediaId: @lQLPKHC_8Q3FFGfNA5rNB3iwCM0hpZGHbKMJ9IGO5bP1AA

另外还观察到:

  • dws chat message download-media --help 存在
  • dws schema 'chat message download-media' 返回 unknown canonical schema path
  • 这说明 help 暴露与 schema/执行层之间存在不一致

推测问题可能在于:

  • 子命令 help 被暴露了,但 schema/执行 handler 未正确注册
  • 或者参数 flag overlay 没有正确绑定到实际命令实现

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