Python Command Line Interface
Your script consumes a lot of CPU due to the while loops. Using just the input function in a loop should be good enough for your purpose. I can't see the need for threading in a script that is quite basic for the moment.

These:

global cont
global text


don't belong in your class.
A class is normally supposed to be self-contained and shouldn't have to rely on global variables defined elsewhere. They should go inside the class body.
On the other hand you can pass parameters to your class instantiation method or to some class functions.

By the way text is not a good choice of variable since many objects have a text property and be careful with reserved keywords.



Exception handling is lacking. Any quality script should have at least basic exception handling (ten lines of code could do).



Validation of user input is also lacking.
If I type anything after help I have a KeyError exception and your script crashes too easily. The dictionary selection is rather clumsy but see below for suggestions.



Structure: I am wondering why you split the code in two classes ?
InputThread could have been embedded in CLI as a subclass or simply implemented as a function. But they are not independent from each other.



Style: after:

if __name__ in '__main__':


the norm is to call main(), so it is customary to have a main method.

You don't call a class like that:

x = CLI().loop()


Instead:

x = CLI()


with optional parameters inside the parentheses, or you run the code in multiple steps eg:

# instantiation
x = CLI()
# or:
x = CLI(prompt="Prompt message goes here")
x.start()
x.stop()


Because you can perfectly instantiate a class without immediately running it.



Naming conventions: variable names (a, text) are not always well-chosen and meaningful.



Misc: your script does not recognize commands in uppercase. I would always convert the commands to lowercase and use strip to trim them (here the split command takes care of that).

Overall impression: I think that this is a way of reinventing the wheel. There are modules that already exist for interactive cli programs, for example PyInquirer. There is also clint and quite a few others (I have not tested and compared all of them).
So I think I would build on the more mature solutions available, unless the problem you are trying to solve cannot be addressed adequately by the solutions that already exist.

An alternative would be to use feature-rich argparse. Because it can be used not only for command line options but in functions too (I haven't done that yet though but it's worth investigating). To give you an idea have a look at this post on SO: How to pass parameters to python function using argparse?. Also have a look at the Sub-commands section for more elaborate scenarios. As you can see this module is very powerful and very often underutilized.

It seems to me that it could have fulfilled all your desired functionality, with increased flexibility since the commands could be passed in a different order, as long as the grouping of dependent parameters is respected.