[Bug]: 官方镜像未安装 wecom-cli,企业微信通知报「通知服务未安装 wecom-cli」

Abierto Apto para principiantes
#156 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
docker, go, node.js
Área
backend, devops

Línea de trabajo

Lee la sección de instalación en tiempo de ejecución de Dockerfile y la invocación de wecom-cli en internal/notification/provider.go. Añade la CLI a la imagen de ejecución como se describe en la incidencia y luego revisa scripts/test-runtime-image.sh para encontrar las comprobaciones existentes de la CLI. El trabajo estará terminado cuando la imagen creada proporcione wecom-cli --version y la comprobación de la imagen de ejecución detecte su ausencia.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug
Component / host

Platform — deployment

Edition

Platform

LoopForge version

v0.3.3(ghcr.io/tencent/loopforge:0.3.3),main @ ffaed15 的源码构建同样存在

What happened?

用官方镜像部署后,在通知机器人里发送企业微信通知,接口返回:

通知服务未安装 wecom-cli,请联系管理员

企业微信通知走 internal/notification/provider.go 的 CLIProvider,它用 exec.CommandContext 调用名为 wecom-cli 的可执行文件(NewCLIProvider 中 Binary: "wecom-cli"),找不到时返回上面的提示。但 Dockerfile 的运行阶段只全局安装了 @openai/codex 和 @tencent-ai/codebuddy-code,没有安装 wecom-cli,docs/ 和 README 里也没有提到需要另外安装。所以按文档用官方镜像或 scripts/install.sh 部署的平台,企业微信通知功能一定用不了。

预期:官方镜像开箱即可发送企业微信通知;或者文档写明需要自行提供 wecom-cli,并说明安装方式。

Reproduction
  1. 用 scripts/install.sh(官方 GHCR 镜像)或 compose.dev.yaml 源码构建部署平台。
  2. docker compose exec platform sh -c 'command -v wecom-cli || echo missing',输出 missing。
  3. 在平台里配置企业微信通知机器人(Bot ID / Secret)并触发一次通知。
  4. 返回「通知服务未安装 wecom-cli,请联系管理员」。
Suggested fix

wecom-cli 是企业微信官方 npm 包 @wecom/cli(源码 WecomTeam/wecom-cli),bin 名就是 wecom-cli,按平台通过 optionalDependencies 带 @wecom/cli-linux-x64 / @wecom/cli-linux-arm64 等静态链接的二进制,没有 postinstall 脚本。可以和现有 CLI 一样固定版本装进运行阶段:

 && npm install -g @openai/[email protected] @tencent-ai/[email protected] @wecom/[email protected]

arm64 镜像会自动装上 @wecom/cli-linux-arm64。另外建议在 scripts/test-runtime-image.sh 里加一条 wecom-cli --version 检查,防止以后再漏掉。

Sanitized diagnostics
# 在 v0.3.3 平台镜像中临时挂入 @wecom/[email protected] 的二进制(sha512 与 npm 登记的 integrity 一致)后:
$ docker run --rm --network none -v ./wecom-cli:/usr/local/bin/wecom-cli:ro --entrypoint sh <platform-image> -c 'wecom-cli --version'
wecom-cli 1.3.4 (wecom 2026-09-23T11:45:45Z f9b2815)
# 镜像里已有 ca-certificates,二进制在 node:22-bookworm 上可直接运行(缺 CA 证书时会 panic:No CA certificates were loaded from the system)。

# 目前的临时做法:宿主机放置二进制,通过 compose.override.yaml 只读挂载
services:
  platform:
    volumes:
      - /opt/wecom-cli/wecom-cli:/usr/local/bin/wecom-cli:ro
Safety checks
  • I removed credentials, private endpoints, internal identifiers, and personal data.
  • I searched existing issues for duplicates.
Lenguaje dominante
Go
Estrellas
141
Forks
28
Merge medio
2 d 15 h
PR fusionados (30 d)
41

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Tencent/LoopForge

Todos los issues de Tencent/LoopForge

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.