a simple semi-agentic chatbot interface for gemini built around the terminal.
i wanted aistudio in the terminal. but i kept going. after trimming out some feature creep, i settled on a nice little general-purpose cli chatbot with some useful tools.
- used to help understand docs
- used to implement prototype solutions to complicated problems that i then studied/understood and replaced w/ my own solutions
- the project itself is merely a client for AI APIs
to use this tool you need english literacy. also, ideally, you should use a paid api key because you will get ratelimited extremely quickly by google on free tier.
this project is on pypi! you just have to install python and
pip install lana_gemcli
lana
however, if your system does not support direct pip install (f.e. system-managed python packages), you will unfortunately have to run the cli inside a venv. you can look up the relevant documentation for this online.
the CLI tool name is lana, not lana_gemcli.
the CLI uses alt+enter for submit and enter for newlines (this includes commands!)
all commands are prefixed with / and do not take any arguments when inferred.
instead, they're given settings via user input.
so, for instance, to set the thinking level to high, it would look something like this:
> /set thinking_level [alt+enter]
enter new thinking level: high [alt+enter]
will now use thinking level high
obviously, [alt+enter] would be replaced by you actually pressing alt+enter.
as expected, a gemini api key is required to use the cli. you can generate one over at https://ai.studio. the cli itself will instruct you on setting one. however, i am also going to provide instructions here:
- you install the cli normally and enter.
- inside the cli, type
/set api_keyand press alt+enter. - paste in your api key and press alt+enter again.
the cli will now work, but you also want to run
/config saveto save the api key to your configuration.
after you've set all your settings, you just type in your prompts and send them with alt+enter. you'll get the ai's response back. there's not much to explain here.