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

Đang mở Phù hợp với người mới
#156 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
76/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
docker, go, node.js
Lĩnh vực
backend, devops

Hướng nghiên cứu

Đọc phần cài đặt lúc chạy trong Dockerfile và lời gọi wecom-cli trong internal/notification/provider.go. Thêm CLI vào ảnh runtime như mô tả trong issue, sau đó kiểm tra scripts/test-runtime-image.sh để xem các bước kiểm tra CLI hiện có. Hoàn tất khi ảnh được tạo cung cấp wecom-cli --version và bước kiểm tra ảnh runtime phát hiện CLI bị thiếu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.
Ngôn ngữ chính
Go
Star
141
Fork
28
Merge trung bình
2 ngày 15 giờ
Pull request đã merge (30 ngày)
41

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Tencent/LoopForge

Tất cả issue của Tencent/LoopForge

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.