feature(console) add socket, change socket api: callback last