#+title: ollmao
Warning: App is incomplete and under heavy construction.
Simple ollama tui client written in go with [[https://github.com/charmbracelet/bubbletea][Bubble Tea]]. Inspired by [[https://github.com/ggozad/oterm][oterm]].
[[./ollmao-demo.gif]]
* Installation
Install it via go install.
#+BEGIN_SRC shell
go install github.com/nart38/ollmao@latest
#+END_SRC
* Usage
#+BEGIN_SRC shell
# Start ollama service at background if it is not runnig already.
systemctl start ollama
# You can list installed models using ollama.
ollama list
# Start tui with ollmao <modelname>. For example chat with starling-lm:
ollmao starling-lm
#+END_SRC
** Keybindings
*** Insert Mode Bindings
Enter: Send message
ESC: Change mode to pager mode
Ctrl-C: Quit
*** Pager Mode Bindings
i: Change mode to insert mode
j/k: Scroll down/up
Ctrl-C or <q>: Quit
Most of the pager bindings you used to works thanks to Vievport Bubble.
* Todos
- [X] Prettify tui with Lip Gloss
- [X] Implement proper interaction with viewport.
- [ ] Implement export to JSON chat history.
* Contributing
I will try to keep scope of this app relatively narrow. I'm not planning to make
this app extremely feature rich AI tui. I want it to be a simple app that suits
my use case. But if you encounter a bug, have a nice idea or simply want to show me
a better way to get things done, please feel free to open an issue.