Faits:
A. A._, ressortissant de la République Dominicaine né en 1975, se trouve en détention préventive à Genève depuis le 5 mai 2010, sous l'inculpation d'infraction à la LStup notamment. Une quantité d'environ 620 g de cocaïne avait été retrouvée dans l'appartement qu'il occupait à Genève. La détention a été régulièrement prolongée, notamment par ordonnance du 18 juin 2010 de la chambre d'accusation genevoise: le prévenu avait emménagé dans le même appartement et en même temps que le principal inculpé; après avoir prétendu qu'ils ne se connaissaient pas, tous deux avaient finalement reconnu qu'ils étaient frères ou demi-frères; selon le témoignage de coïnculpés, le prévenu connaissait la personne chargée du transport de la drogue jusqu'à Genève. Cette ordonnance a été attaquée en vain auprès du Tribunal fédéral (arrêt 1B_243/2010 du 11 août 2010).
B. Par ordonnance du 9 novembre 2010, la Chambre d'accusation a prolongé la détention pour deux mois, en considérant que les charges n'avaient pas varié depuis leur dernier examen.
Par acte du 23 novembre 2010, A._ forme un recours en matière pénale par lequel il demande l'annulation de l'ordonnance de la Chambre d'accusation et sa mise en liberté immédiate. Il requiert l'assistance judiciaire.
Le Ministère public conclut au rejet du recours. Le recourant a répliqué en s'opposant à l'évocation de faits nouveaux, tout en s'expliquant à leur propos.
Considérant en droit:
1. Le recours en matière pénale (art. 78 al. 1 LTF) est ouvert contre une décision relative au maintien en détention préventive. Le recourant a qualité pour agir au sens de l'art. 81 al. 1 let. a LTF; il a agi en temps utile (art. 100 al. 1 LTF) contre une décision rendue en dernière instance cantonale (art. 80 LTF) et les conclusions formées à l'appui de son recours sont recevables au regard de l'art. 107 al. 2 LTF.
2. Invoquant la liberté personnelle et l'art. 34 CPP/GE, le recourant soutient que l'enquête aurait "considérablement progressé", depuis l'ordonnance de la Chambre d'accusation du 18 juin 2010 et l'arrêt du Tribunal fédéral du 11 août 2010, de sorte que les charges retenues contre lui ne seraient plus suffisantes.
2.1 Le Tribunal fédéral n'examine la violation de droits fondamentaux ainsi que celle de dispositions du droit cantonal que si ce grief a été invoqué et motivé de manière précise (art. 42 al. 2 et 106 al. 2 LTF; ATF 133 III 462 consid. 2.3; 133 IV 286 consid. 1.4). L'acte de recours doit, à peine d'irrecevabilité, contenir un exposé succinct des droits constitutionnels ou des principes juridiques violés et préciser en quoi consiste la violation (ATF 134 I 83 consid. 3.2 p. 88; 133 II 249 consid. 1.4.2 p. 254; 133 IV 286 consid. 1.4 p. 287); les critiques de nature appellatoire sont irrecevables (ATF 135 IV 121 consid. 3.4.1).
2.2 Alors que la Chambre d'accusation a considéré que les charges retenues contre le recourant n'ont pas varié, le recourant ne fait qu'affirmer le contraire. Le recours ne contient toutefois pas la moindre indication sur les faits ou les accusations qui auraient été abandonnés au cours de l'instruction. L'argumentation, manifestement insuffisante, apparaît irrecevable.
2.3 Supposée recevable, elle devrait de toute manière être écartée. Le Tribunal fédéral a en effet confirmé, dans son arrêt du 11 août 2010, l'existence de charges suffisantes. Le recourant occupait, avec le principal inculpé, l'appartement où la drogue a été retrouvée; les deux hommes avaient déclaré ne pas se connaître et avaient fini par admettre qu'ils étaient frères ou demi-frères; selon des témoignages, le recourant connaissait aussi celui qui avait importé la drogue et venait, comme lui, d'Oviedo (Espagne). Selon l'arrêt du Tribunal fédéral, il en résultait un faisceau d'indices suffisants. Il n'en va pas différemment quatre mois plus tard, le recourant ne soutenant pas que l'un ou l'autre des éléments retenus aurait été remis en cause depuis lors. La détention repose dès lors toujours sur des charges suffisantes.
3. Le recours doit par conséquent être rejeté. Tel qu'il était motivé, il paraissait d'emblée voué à l'échec, de sorte que l'assistance judiciaire doit être refusée. Conformément à l'art. 66 al. 1 LTF, les frais judiciaires sont mis à la charge du recourant.
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté en tant qu'il est recevable.
2. La demande d'assistance judiciaire est rejetée.
3. Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge du recourant.
4. Le présent arrêt est communiqué au mandataire du recourant, au Ministère public et à la Chambre d'accusation du canton de Genève.
Lausanne, le 16 décembre 2010
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président: Le Greffier:
Féraud Kurz