Thanks for your suggestion. I tried this command:
./seqkit replace -p "(>\S+)" --replacement "{kv}" --kv-file rename.txt test.fa --keep-key > output.fa
returns:
[INFO] read key-value file: rename
[INFO] 170 pairs of key-value loaded
but when I check my output file, names are not changed, I don't understand where I am wrong?

use sed with option
-f