Skip to content

[Bug] --no-color 未去除请求状态栏的 ANSI 颜色 #258

Description

@PaiduiXiaowangzi

问题描述

在 Windows PowerShell 交互终端执行 mmx quota show --no-color 时,额度表格会正确变成无色文本,但表格上方的请求状态栏仍然带颜色:MINIMAX 为蓝色、URL 为青色、脱敏后的 Key 信息为粉色。

复现步骤

  1. 在已经登录的交互终端中执行 mmx quota show,观察正常彩色输出。
  2. 执行 mmx quota show --no-color
  3. 观察表格上方包含 MINIMAX、配置路径、URL 和 Key 信息的状态栏。

预期:--no-color 关闭输出中的 ANSI 颜色,状态栏保留文字信息但不带颜色。

实际:额度表格已去色,但上方状态栏仍为彩色。本地 PowerShell 已观察到这一现象;这里不附包含登录授权信息的原始截图。安装版本号暂未记录,下面的源码核验针对官方当前 main。

当前代码依据

核验提交:bfbb4cb75ec343149eaccfd668c5011aa27bcf2b

另外,用该提交的状态栏模块,在模拟 stderr.isTTY=true、捕获 writer、noColor=true 及虚假 token 的离线环境中复现,捕获输出仍含 19 个 ANSI 序列;该模块验证无需真实 API 请求。

修复意愿与范围

我愿意自己提交修复 PR,请维护者确认是否同意由我处理。

建议仅让状态栏遵守已有的 config.noColor,保留原有文字信息,并补充聚焦输出回归测试;不改认证、其他输出模块或配置路径逻辑。测试可模拟终端状态并捕获输出,无需密钥、账号或付费 API。

提交前已检索所有状态的相关 issue/PR,未找到同问题实现。开放的 #207 虽涉及同一个文件,但只调整密钥来源标签;已合并的 #8 涉及额度表格排版和状态栏打印次数,均与本问题不同。

获得维护者明确许可前,我不会开始实现。

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions