Faits: Faits: A. D._, née en 1963, mariée, travaillait depuis 1993 comme secrétaire au service de la société X._ SA. Peu après la naissance, en mars 1997, de son premier enfant, les médecins ont diagnostiqué chez elle une thyroïdite silencieuse avec hypothyroïdie; la prénommée s'est également plainte d'une exacerbation de douleurs lombaires et cervicales, ainsi que d'un important état de fatigue. Elle a repris son travail durant quelques jours, puis a définitivement arrêté de travailler. Son employeur l'a licenciée pour la fin du mois de septembre 1997. Par la suite, D._ a bénéficié des prestations cantonales de chômage en cas de maladie. Le 20 juillet 1998, elle a adressé une demande de rente à l'Office cantonal genevois de l'assurance-invalidité (ci-après : l'office AI). L'office AI a recueilli les avis des médecins consultés par l'assurée (cf. les rapports des docteurs S._, B._ ainsi que P._) et requis une expertise auprès du Centre d'observation médicale de l'assurance-invalidité (COMAI). Dans leur rapport du 1er novembre 2001, les médecins de cet établissement ont posé les diagnostics suivants : «a) influençant la capacité de travail : 1. fibromyalgie, 2. forte suspicion d'un syndrome de fatigue chronique, 3. troubles d'adaptation avec des composantes dépressives et sociales dans le cadre d'une maladie somatique chronique; b) avec répercussion pathologique : 4. encéphalite en 1993 [recte : 1983], 5. cystite récidivante; c) autres : thyroïdite post-partum en 1997 actuellement pas d'insuffisance thyroïdienne». Ils ont estimé que pour une activité lucrative, la présence à elle seule de la fibromyalgie (ou syndrome de fatigue chronique) justifiait la reconnaissance d'une capacité de travail de 50 %, celle-ci tendant vers zéro à cause des troubles de l'adaptation surajoutés; dans le ménage, la capacité de travail oscillait entre 25 % et 33 %. Après avoir posé des questions complémentaires au COMAI, l'office AI a rendu, le 30 mai 2002, une décision par laquelle il a rejeté la demande de prestations. Il a considéré que les troubles douloureux dont souffrait l'assurée ne présentaient pas de caractère invalidant au sens de la loi. Après avoir posé des questions complémentaires au COMAI, l'office AI a rendu, le 30 mai 2002, une décision par laquelle il a rejeté la demande de prestations. Il a considéré que les troubles douloureux dont souffrait l'assurée ne présentaient pas de caractère invalidant au sens de la loi. B. Par jugement du 31 mars 2004, le Tribunal cantonal genevois des assurances sociales a admis le recours de D._ en ce sens qu'il a annulé la décision du 30 mai 2002 et alloué à la prénommée une demi-rente d'invalidité dès le 1er octobre 1998. B. Par jugement du 31 mars 2004, le Tribunal cantonal genevois des assurances sociales a admis le recours de D._ en ce sens qu'il a annulé la décision du 30 mai 2002 et alloué à la prénommée une demi-rente d'invalidité dès le 1er octobre 1998. C. L'office AI interjette recours de droit administratif contre ce jugement, dont il requiert l'annulation, en concluant à la confirmation de sa décision. D._ a renoncé à se déterminer, tandis que l'Office fédéral des assurances sociales a présenté des observations.