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
- jina_search_agent
- azure_blob_agent
- azure_blob_agent_mcp
- azure_blob_agent_a2a
- 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 登记。
五、实施顺序建议
- 改 template_manager.py、k8s_manager.py(端口与 K8s 一致)。
- 改上述 5 个 agent 的 代码 + Dockerfile。
- 重新构建并推送对应镜像;已运行中的 Pod 需用新镜像重启或重新部署。
- 若数据库已初始化过模板,需将上述 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。