Files
agent_management/docs/port-unify-8000-change-plan.md
T
zhanggangyong 33955b68dc fix: 统一 agent 默认端口为 8000(search_agent 系列保持 8080)
- 修改 template_manager.py、k8s_manager.py 中的端口映射
- 更新 jina_search_agent、azure_blob_agent 系列、a2a_litellm_agent 的代码和 Dockerfile 为 8000
- 添加端口修改脚本和测试脚本

Made-with: Cursor
2026-03-02 15:13:07 +00:00

6.6 KiB
Raw Blame History

Agent 端口统一为 8000 改动方案(除 search_agent 外)

目标:除 search_agent / search_agent_a2a / search_agent_mcp 外,所有 agent 统一使用端口 8000。


一、当前状态汇总

模板名 template_manager port k8s TEMPLATE_PORTS k8s container_port 代码/Dockerfile 默认 需改动
search_agent 8000 8080 8080 8080 否(保持 8080)
search_agent_a2a 8000 8080 8080 8080 否(保持 8080)
search_agent_mcp 8000 8080 8080 8080 否(保持 8080)
jina_search_agent 8080 8080 8080 8080 是 → 8000
azure_blob_agent 8080 8080 8080 8080 是 → 8000
azure_blob_agent_mcp 8080 8080 8080 8080 是 → 8000
azure_blob_agent_a2a 8080 8080 8080 8080 是 → 8000
a2a_litellm_agent 8080 8080 8080 8080 是 → 8000
echo_agent / mysql_agent / postgresql_agent / code_ai_agent / facebook_agent / media_downloader / content_analyzer / huoke / microsoft_learn_agent / aws_docs_mcp / google_mcp 8000 8000 8000 或未显式 8000 否

说明:search_agent 系列在 template_manager 中为 8000 与容器实际 8080 不一致,若需与现状一致可单独将 template_manager 中 search_agent* 改为 8080(本次方案不包含,仅统一「非 search_agent」为 8000)。


二、需改动的 5 个 Agent

  1. jina_search_agent
  2. azure_blob_agent
  3. azure_blob_agent_mcp
  4. azure_blob_agent_a2a
  5. a2a_litellm_agent

三、具体改动清单

1. template_manager.py

  • jina_search_agent:"port": 8080 → "port": 8000
  • azure_blob_agent:"port": 8080 → "port": 8000
  • azure_blob_agent_mcp:"port": 8080 → "port": 8000
  • azure_blob_agent_a2a:"port": 8080 → "port": 8000
  • a2a_litellm_agent:"port": 8080 → "port": 8000

2. k8s_manager.py

  • TEMPLATE_PORTS:上述 5 个模板的端口由 8080 改为 8000(search_agent / search_agent_a2a / search_agent_mcp 保持 8080)。
  • container_ports(约 746–750 行):
    • 当前 8080 列表:jina_search_agent, azure_blob_agent, azure_blob_agent_mcp, azure_blob_agent_a2a, search_agent, search_agent_a2a, search_agent_mcp, a2a_litellm_agent
    • 修改为:仅 search_agent, search_agent_a2a, search_agent_mcp 使用 container_port=8080;jina_search_agent, azure_blob_agent, azure_blob_agent_mcp, azure_blob_agent_a2a, a2a_litellm_agent 移到 8000 分支,使用 container_port=8000。
  • TEMPLATE_ENV_INFO 中「SERVICE_PORT」说明:
    • jina_search_agent:"默认8080" → "默认8000"
    • azure_blob_agent:"默认8080" → "默认8000"
    • azure_blob_agent_mcp:无 SERVICE_PORT 时可补充 "SERVICE_PORT": "HTTP服务端口,默认8000"(若有则改为 8000)
    • azure_blob_agent_a2a:同上
    • a2a_litellm_agent:"默认8080" → "默认8000"

3. Agent 代码与 Dockerfile(每个 agent 内默认端口 8080 → 8000)

3.1 jina_search_agent

文件 改动
agent_templates/agents/jina_search_agent/jina_search_agent.py SERVICE_PORT = int(os.getenv("SERVICE_PORT", "8080")) → "8000"
agent_templates/agents/jina_search_agent/jina_search_agent.Dockerfile ENV SERVICE_PORT=8080 → 8000;健康检查与 EXPOSE 中 8080 → 8000

3.2 azure_blob_agent

文件 改动
agent_templates/agents/azure_blob_agent/azure_blob_agent.py SERVICE_PORT = int(os.getenv("SERVICE_PORT", "8080")) → "8000"
agent_templates/agents/azure_blob_agent/azure_blob_agent.Dockerfile ENV SERVICE_PORT=8080 → 8000;健康检查 URL 中 8080 → 8000

3.3 azure_blob_agent_mcp

文件 改动
agent_templates/agents/azure_blob_agent_mcp/azure_blob_agent_mcp.py SERVICE_PORT = int(os.getenv("SERVICE_PORT", "8080")) → "8000"
agent_templates/agents/azure_blob_agent_mcp/azure_blob_agent_mcp.Dockerfile EXPOSE 8080 → 8000;健康检查 URL 中 8080 → 8000

3.4 azure_blob_agent_a2a

文件 改动
agent_templates/agents/azure_blob_agent_a2a/azure_blob_agent_a2a.py SERVICE_PORT = int(os.getenv("SERVICE_PORT", "8080")) → "8000"
agent_templates/agents/azure_blob_agent_a2a/azure_blob_agent_a2a.Dockerfile EXPOSE 8080 → 8000;健康检查 URL 中 8080 → 8000

3.5 a2a_litellm_agent

文件 改动
agent_templates/agents/a2a_litellm_agent/main.py SERVICE_PORT = int(os.getenv("SERVICE_PORT", "8080")) → "8000"
agent_templates/agents/a2a_litellm_agent/config.py port: int = 8080 → port: int = 8000
agent_templates/agents/a2a_litellm_agent/a2a_server.py SERVICE_PORT = int(os.getenv("SERVICE_PORT", "8080")) → "8000";文档/示例中的 --port 8080 → --port 8000
agent_templates/agents/a2a_litellm_agent/a2a_litellm_agent.Dockerfile ENV SERVICE_PORT=8080 → 8000;健康检查与 EXPOSE 中 8080 → 8000

四、未在 Agent Manager 默认模板中的 Agent(可选统一)

以下 agent 在仓库中存在且默认使用 8080,但未出现在 template_manager.DEFAULT_TEMPLATES / k8s_manager.TEMPLATE_PORTS 中。若希望「全仓库除 search_agent 外一律 8000」,可一并改:

  • chain_explorer_agent:chain_explorer_agent.py 默认 8080 → 8000;Dockerfile 已是 8000,无需改。
  • chain_analysis_agent:同上(代码 8080 → 8000,Dockerfile 已是 8000)。
  • stock_analysis_agent:stock_analysis_agent.py 默认 8080 → 8000;Dockerfile 中 8080 → 8000。
  • stock_news_agent:同上。
  • stock_quote_agent:同上。

若这些模板后续加入 Agent Manager,建议直接以 8000 登记。


五、实施顺序建议

  1. 改 template_manager.py、k8s_manager.py(端口与 K8s 一致)。
  2. 改上述 5 个 agent 的 代码 + Dockerfile。
  3. 重新构建并推送对应镜像;已运行中的 Pod 需用新镜像重启或重新部署。
  4. 若数据库已初始化过模板,需将上述 5 个模板的 port 字段更新为 8000(或重新从默认模板初始化)。

六、改动后端口约定(总结)

  • 8000:除 search_agent 系列外的所有 agent(含 jina_search_agent、azure_blob_agent 系列、a2a_litellm_agent、echo/mysql/postgresql/code_ai/facebook 等)。
  • 8080:仅 search_agent、search_agent_a2a、search_agent_mcp。