Some dogs that make good companions include:
Pomeranian: Aside from needing a lot of grooming done, this dog makes for an excellent companion. This dog is small, which makes it easy to care for it and it doesn't consume much money.
Maltese: This dog would also make an excellent companion. This dog has a non shedding and allergen free feature. Needs a lot of grooming requirements but that can be handled quite well.
Silky Terrier: This dog would make an excellent companion because it is small and it will make an excellent watch dog. This dog needs a lot of grooming requirements so be prepared to groom it daily.
These are three great dogs that would make excellent companions. Any dog would be able to do that but I really think these dogs are really good breeds because of their gentle temperament.