Faits: Faits: A. D._, né en 1943, bénéficie d'une demi-rente d'invalidité depuis le 1er septembre 1993, fondée sur un taux d'invalidité de 50 %. Depuis lors, il a demandé à plusieurs reprises, sans succès, l'augmentation de sa rente. Sa dernière demande de révision, du 16 février 2000, s'est heurtée à un refus d'entrer en matière que l'Office de l'assurance-invalidité pour le canton de Vaud (l'office AI) lui a signifié le 13 avril 2000; ce refus a été confirmé par le Tribunal des assurances du canton de Vaud (jugement du 25 septembre 2000) puis le Tribunal fédéral des assurances (arrêt du 8 février 2001, I 649/00). Le 12 novembre 2001, le docteur de G._, spécialiste en médecine interne et affections rhumatismales, a adressé un rapport concernant l'assuré à l'office AI. Il y a relevé, en particulier, que la pathologie locomotrice s'était chronifiée. Selon ce médecin, l'assuré ne pouvait plus exercer de travaux lourds mais il conservait une capacité résiduelle non négligeable (de 50 à 100 %) dans une activité légère et adaptée. Le docteur de G._ a préconisé de prendre l'avis d'un psychiatre, seul à même de juger de l'authenticité des plaintes du patient. D._ a demandé derechef à l'office AI, le 22 novembre suivant, de réexaminer son droit à la rente, en vue d'obtenir une rente entière. L'administration est entrée en matière sur la demande. Par la suite, l'assuré a produit d'autres avis médicaux émanant des docteurs M._, spécialiste en cardiologie (du 18 janvier 2002), H._, spécialiste en neurologie (des 28 et 29 janvier 2002), I._, médecin traitant (des 9 janvier et 1er mai 2002), P._ (du 22 janvier 2002), L._ (du 4 mars 2002) et C._ (du 29 novembre 2001), et F._, spécialiste en radiologie (du 14 février 2000). L'office AI a confié un mandat d'expertise psychiatrique au docteur S._, spécialiste en psychiatrie et psychothérapie, qui a déposé son rapport le 30 janvier 2003. Dans une appréciation du 11 février 2003, le docteur B._, médecin au service X._, a estimé que les bilans cardiologiques et neurologiques produits par l'assuré restaient dans la norme et permettaient d'écarter raisonnablement une atteinte structurelle majeure du système nerveux, tandis que le rapport radiologique concernant la colonne vertébrale et les épaules faisait état de troubles dégénératifs mineurs. A la lumière du rapport du docteur de G._, le docteur B._ a estimé que la capacité de travail de l'assuré s'élève de 50 à 100 % dans une activité légère; quant à l'expertise de son confrère S._, le docteur B._ a constaté qu'elle ne met en évidence aucune incapacité de travail au plan psychiatrique. Par décision du 17 février 2003, l'office AI a refusé d'augmenter la rente. Saisi d'une opposition de l'assuré, l'administration a confirmé sa position, par décision du 17 juillet 2003. Par décision du 17 février 2003, l'office AI a refusé d'augmenter la rente. Saisi d'une opposition de l'assuré, l'administration a confirmé sa position, par décision du 17 juillet 2003. B. D._ a déféré cette décision au Tribunal des assurances du canton de Vaud qui l'a débouté par jugement du 4 février 2004. B. D._ a déféré cette décision au Tribunal des assurances du canton de Vaud qui l'a débouté par jugement du 4 février 2004. C. L'assuré interjette recours de droit administratif contre ce jugement dont il demande l'annulation, avec suite de dépens, en concluant au renvoi de la cause à l'intimé afin qu'il complète les expertises des docteurs de G._ et S._. En cours de procédure, il produit une écriture du docteur K._, spécialiste en chirurgie orthopédique (du 6 avril 2005). Par ailleurs, il sollicite le bénéfice de l'assistance judiciaire. L'intimé conclut au rejet du recours. L'Office fédéral des assurances sociales a renoncé à se déterminer.