Faits: Faits: A. A._, ressortissant serbe né en 1978, a été détenu préventi-vement du 31 mars 2003 au 21 mai suivant, puis dès le 16 octobre 2003, sous l'inculpation de vol, d'escroquerie (simple et par métier) et de faux dans les titres. Il lui est reproché d'avoir conclu entre 1999 et 2003, sous un pseudonyme, de nombreux abonnements avec des opérateurs de téléphonie mobile, en ayant d'emblée l'intention de ne payer ni l'abonnement, ni les communications. Il aurait aussi agi au nom de tiers, et convaincu des connaissances d'acquérir pour son compte des téléphones portables gratuits, moyennant la conclusion de contrats d'abonnement et en s'engageant fallacieusement à payer l'abonnement ainsi que les communications; il aurait enfin utilisé une pièce d'identité trouvée dans un porte-monnaie volé pour conclure cinq abonnements, et aurait revendu les appareils ainsi acquis. Le Juge d'instruction de l'arrondissement de Lausanne a refusé la mise en liberté le 4 février 2004 et le 17 février suivant, en raison du risque de récidive. Cette dernière décision a été confirmée par le Tribunal d'accusation vaudois le 24 février 2004: l'inculpé avait été condamné le 5 mars 2003 à cinq mois d'emprisonnement pour des faits similaires, avec prolongation d'un sursis accordé lors d'une condamnation prononcée le 17 octobre 2001. Ayant trouvé un emploi, il avait été remis en liberté le 21 mai 2003, en étant averti que toute récidive l'exposait à retourner en détention préventive jusqu'à la date de son jugement. L'inculpé avait toutefois quitté son emploi et commis de nouveaux délits. Ni ses précédentes condamnations, ni ses dif-férents séjours en prison ne l'en avaient dissuadé. La situation pourrait être réexaminée sur le vu du résultat de l'expertise psychiatrique en cours. Le Juge d'instruction de l'arrondissement de Lausanne a refusé la mise en liberté le 4 février 2004 et le 17 février suivant, en raison du risque de récidive. Cette dernière décision a été confirmée par le Tribunal d'accusation vaudois le 24 février 2004: l'inculpé avait été condamné le 5 mars 2003 à cinq mois d'emprisonnement pour des faits similaires, avec prolongation d'un sursis accordé lors d'une condamnation prononcée le 17 octobre 2001. Ayant trouvé un emploi, il avait été remis en liberté le 21 mai 2003, en étant averti que toute récidive l'exposait à retourner en détention préventive jusqu'à la date de son jugement. L'inculpé avait toutefois quitté son emploi et commis de nouveaux délits. Ni ses précédentes condamnations, ni ses dif-férents séjours en prison ne l'en avaient dissuadé. La situation pourrait être réexaminée sur le vu du résultat de l'expertise psychiatrique en cours. B. A._ a été renvoyé le 2 mars 2004 devant le Tribunal correctionnel de Lausanne. Le 22 mars, puis le 8 avril 2004, le Président de cette juridiction a confirmé le maintien en détention préventive; le rapport d'expertise, du 5 mars 2004, faisait état d'un risque élevé de récidive. Une mise sous tutelle, ainsi qu'un placement dans un foyer de Morges, pourraient limiter ce risque, mais ces mesures n'avaient pas encore été mises en place. Par arrêt du 15 avril 2004, le Tribunal d'accusation a confirmé le maintien en détention. Le placement en foyer ouvert n'offrait pas de garanties suffisantes. Le principe de la proportionnalité était respecté: l'audience de jugement était appointée au 5 juillet 2004, et l'accusé était passible d'une peine d'une durée supérieure à celle de la détention préventive subie jusque-là. Par arrêt du 15 avril 2004, le Tribunal d'accusation a confirmé le maintien en détention. Le placement en foyer ouvert n'offrait pas de garanties suffisantes. Le principe de la proportionnalité était respecté: l'audience de jugement était appointée au 5 juillet 2004, et l'accusé était passible d'une peine d'une durée supérieure à celle de la détention préventive subie jusque-là. C. A._ forme un recours de droit public contre ce dernier arrêt. Il demande au Tribunal fédéral d'ordonner sa libération immédiate. Il requiert l'assistance judiciaire. La cour cantonale se réfère aux considérants de son arrêt. Le Procureur général conclut au rejet du recours. Le recourant a répliqué.