detect使用更精确的参数