宝塔版本:v13.0.0
宝塔MCP服务 1.0.2
出错了,[宝塔MCP服务]运行时发生错误!
NameError: name 'resolve_port' is not defined
REQUEST_DATE: 2026-08-11 01:52:25
PAN_VERSION: 13.0.0
OS_VERSION: Ubuntu 24.04.4 LTS (Noble Numbat) x86_64(Py3.7.16)
REMOTE_ADDR: 192.168.1.200
REQUEST_URI: GET /plugin%3Fname%3Dbt_agent_mcp%26action%3Da%26s%3DGetMcpTaskLogs%26status%3Dall%26page%3D1%26page_size%3D10
REQUEST_FORM: {}
USER_AGENT: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36
Traceback (most recent call last):
File "/www/server/panel/class/panelPlugin.py", line 3830, in a
return p.exec_fun(get)
File "/www/server/panel/class/pluginAuth.py", line 67, in exec_fun
raise public.PanelError(res['msg'])
public.PanelError: 面板运行时发生错误: Traceback (most recent call last):
File "/www/server/panel/plugin/bt_agent_mcp/bt_agent_mcp_main.py", line 39, in
_PROXY_PASS = "http://127.0.0.1:{}".format(resolve_port())
NameError: name 'resolve_port' is not defined
宝塔MCP插件 502/NameError 故障排查报告
故障现象
打开宝塔面板"宝塔MCP服务"插件页面(GetMcpTaskLogs 请求)报错:
NameError: name 'resolve_port' is not defined(bt_agent_mcp_main.py 第 39 行)
根因(已逐层验证)
层级 事实 证据
触发 今天 01:51 插件自动更新到 v1.0.2,01:52 即报错 插件目录所有文件时间戳 01:51,截图报错时间 01:52:25
直接原因 所有 import 被包在 if sys.version_info >= (3, 13) 守卫内,但第 39 行模块级 resolve_port() 调用无条件执行 源码确认
环境矛盾 面板 pyenv 是 Python 3.7.16,插件 install.sh 明确要求 Python ≥ 3.13 install.sh 版本检查代码
安装状态 安装实际被拦截,从未成功 无 bt-agent-mcp.service、无 mcp pip 包、无 data/、无 port.pl
补丁不可行 代码大量使用 3.8+ 特性(typing.get_args、140+ 处 PEP585 泛型),核心依赖 mcp==1.28.1 要求 Python ≥ 3.10 AST 扫描 + 逐模块导入测试(registry/operations/cli/bootstrap 全部 ImportError)
结论
插件 v1.0.2 与当前面板 Python 环境(3.7.16)根本不兼容,文件已就位但运行时依赖全部缺失,属于"半装"状态,页面一打开必然报错。 |