【架构优化】从 config.LoadEndpoints 中拆出端口解析 httpPortFromEnv 并合并重复的 trimURL(env()) 为 envURL

Đang mở
#424 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

@fx-kurumi đang làm issue này rồi.

Từ ngày 13/11/2026.

  • #425 của @fx-kurumi — đang mở

Đá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
25/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
go
Lĩnh vực
backend

Hướng nghiên cứu

Start in internal/config/endpoints.go, where LoadEndpoints repeats trimURL(env(...)) six times and inlines the AGENTFLOW_HTTP_PORT default and 1-65535 check. The refactor adds envURL and httpPortFromEnv and keeps the existing error text. Done means the internal/config tests, gofmt, and go vet pass. A linked pull request (#425) is already open, so check it before starting.

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

Mô tả

现状问题

internal/config/endpoints.go 的 LoadEndpoints 里:

  • trimURL(env("AGENTFLOW_...")) 这个"读环境变量并当 URL 规整"的写法重复了 6 次(AGENTFLOW_WORKER_URL、AGENTFLOW_API_URL、AGENTFLOW_CONTROL_URL、两处 AGENTFLOW_PLATFORM_MCP_URL、AGENTFLOW_AGENT_TOOL_GATEWAY_URL),读起来噪音较多;
  • AGENTFLOW_HTTP_PORT 的默认值回退与 1~65535 校验内联在函数开头,与地址推导混在一起。

重构方案

  • 新增包内 helper envURL(key) = trimURL(env(key)),替换上述 6 处;
  • 拆出 httpPortFromEnv() (string, error),负责默认值回退与端口校验,错误文案保持 invalid AGENTFLOW_HTTP_PORT %q 不变;
  • LoadEndpoints 只保留按角色推导地址的逻辑。WithPrivateAgentToolGateway 中 env(...) == "" 的判断语义不同(值为 / 时),保持不动。

影响范围

仅 internal/config/endpoints.go 及其测试;导出接口、返回值与错误文案不变,无行为变化。

验证方式

  • 新增测试覆盖 httpPortFromEnv(默认值、合法值、非数字、越界)与 envURL(空白、尾部 /);
  • 原有 internal/config 测试全部通过;gofmt、go vet ./internal/config/、go test ./internal/config/。
Ngôn ngữ chính
Go
Star
141
Fork
28
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
113

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.