自动选择部分完成，类拆分。

Signed-off-by: dtysky <dtysky@outlook.com>