When looking for betta tank mates, please keep one thing in mind: your betta is happiest when his tank is around 80 degrees. A lot of fish do not like that at all.
Personally I think that betta compatibility is trial and error. As someone said, each betta has its own personalty and some will tolerant some fish and not others. The same goes for the fish you put in with him. Some danios will be fine with him and some will not. If your betta is your centerpiece, then I would start with "safe" fish that will not hurt him. Here is some information I dug up for someone else. While doing this research I found that almost every site I visited had different max temps, different min aquarium size, and different personalty traits for each fish, so please don't shoot the messenger:
Relatively Safe Fishes and Good for 10 Gallon Tanks
Freshwater Ghost (or Glass) Shrimp (Paleomonetes sp.): your Betta might nip or even try to eat one. They won't hurt your betta though.
Platy Fish (Xiphophorus maculatus and Xiphophorus variatus): VERY docile. I've read in most places that their max tank temp is 77 degrees. Again, the betta may chase them.
White Clouds (Tanichthys albonubes): school fish so you'll want at least 6. The Betta may chase them, but they're pretty quick and can get out of the way. VERY rarely will a white cloud nip a betta.
Aquatic Snails: Black Mystery Snail (Pomacea bridgesi) or the Gold Mystery Snail (Pomacea canaliculata).
Fishes for Bigger Aquariums
Swordtails (Xiphophorus helleri) can be nippy and your betta might nip them, but they usually get along. 20 gallon tank.
Mollies (Poecilia latipinna) great tank friends, but will need 20-30 gallons. Although Mollies live in both fresh and saltwater, they do best in slightly salted aquarium water (tbsp per gallon of water). Long term salt, however, is not good for betta fish.
Angel Fish (Pterophyllum sp.) also a labyrinth fish, but needs 30 gallons. I wouldn't start this fish in anything smaller. Majority say they're good with bettas, I dunno about that. Proceed with caution.
Danios (Brachydanio rerio, Brachydanio frankei, Brachydanio albolineatus) 10 gallon. Schooling fish, groups of six or more. I put them down here because of a cautionary note: many people keep these with betta fish, but the max temperature I can find is for the Turquoise Danio (Brachydanio kerri) at 77 degrees. All other danios are listed as 64-75. Betta water may be too warm for these fish. They can also be nippy. Proceed with caution.
Gouramis: Gouramis can be semi-agressive with their own kind and with other fish at times. IF you want to try this, stick with a Gold or Opaline Gourami (Trichogaster trichopterus) and not try any of the other ones. Of the Trichogaster trichopterus there are three variations: blue, gold, and opaline. The blue is the most territorial of the three and chases the other fish. If you do gouramis, then add 1 or 4 or more, but never 2 or 3. They will terrorize everyone in the tank if there are less than 4. A lot of people say they are good with bettas, I dunno about that. Proceed with caution.
Corycats (Corydoras), especially the Agassizi Corycat (Corydoras agassizi). 30 Gallons, but MANY people keep them with betta fish in 6-10 gallon tanks. They are schooling fish, so plan on at least 6 of them. Be aware that the max temp for a corycat is 79 degrees. Your betta may harrass them, but if you put at least 6 in, he won't always be bugging the same one. Less stress for corycat. I've had cories with bettas, worked great.
Some people keep Bala Sharks and Clown Loaches as well, but Sharks need 70 gallons and the Clowns 50, so I'll just leave it at that.
One more thing: I've had a Trinidad pl*co in my 6 gal Eclipse doing algae duty for a couple of weeks (he's a traveling guy that goes from tank to tank) and after an initial aggression scene (
click here if you want to read about that), he gets along pretty good with Jakers, the betta fish. Jakers leaves him alone and he leaves Jakers alone. He'd be too big for your tank, but I just wanted to mention it.