Citation: 1B_7/2018 E. C

Par acte du 5 janvier 2018, A.________ forme un recours en matière pénale par lequel il demande au Tribunal fédéral d'annuler l'arrêt cantonal et l'ordonnance de mise en détention, d'ordonner sa mise en liberté et de condamner l'Etat de Genève à lui verser une indemnité pour détention injustifiée de 9600 fr., montant à adapter en fonction de la durée de la procédure. Subsidiairement, il conclut au renvoi de la cause à la Chambre pénale de recours pour nouvelle décision au sens des considérants. Par la suite, le recourant a demandé l'assistance judiciaire. La cour cantonale se réfère aux considérants de son arrêt, sans observations. Le Ministère public conclut au rejet du recours. Dans ses dernières observations, le recourant persiste dans ses griefs et conclusions.