diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 91 |
1 files changed, 66 insertions, 25 deletions
@@ -1,25 +1,66 @@ -### TODO: -- scrolling chat history; (somewhat works out of box); + -- log errors to file; + -- give serial id to each msg in chat to track it; (use slice index) + -- show msg id next to the msg; + -- regen last message; + -- delete last message; + -- edit message? (including from bot); + -- ability to copy message; + -- menu with old chats (chat files); + -- fullscreen textarea option (for long prompt); -- tab to switch selection between textview and textarea (input and chat); + -- basic tools: memorize and recall; -- stop stream from the bot; + -- sqlitedb instead of chatfiles; + -- sqlite for the bot memory; -- option to switch between predefined sys prompts; - -### FIX: -- bot responding (or haninging) blocks everything; + -- programm requires history folder, but it is .gitignore; + -- at first run chat table does not exist; run migrations sql on startup; + -- Tab is needed to copy paste text into textarea box, use shift+tab to switch focus; (changed tp pgup) + -- delete last msg: can have unexpected behavior (deletes what appears to be two messages if last bot msg was not generated (should only delete icon in that case)); -- empty input to continue bot msg gens new msg index and bot icon; +### gf-lt (grail finder's llm tui) +terminal user interface for large language models. +made with use of [tview](https://github.com/rivo/tview) + +#### has/supports +- character card spec; +- API (/chat and /completion): llama.cpp, deepseek, openrouter; +- tts/stt (run make commands to get deps); +- image input; +- function calls (function calls are implemented natively, to avoid calling outside sources); +- [character specific context (unique feature)](docs/char-specific-context.md) + + +#### showcase on youtube +[](https://youtu.be/WCS4Xc902F8 "gf-lt showcase") + +#### how it looks + + + +#### dependencies +- make +- go +- ffmpeg (extra) + +#### how to install +(requires golang) +clone the project +``` +git clone https://github.com/GrailFinder/gf-lt.git +cd gf-lt +make +``` + +to run without tts/stt dependencies use +``` +make noextra-run +``` + +#### keybinds +- use `insert` button to paste text from the clipboard to the text area, instead of shift+insert (might freeze the program); +- press f12 for list of keys; + + +#### setting up config +``` +cp config.example.toml config.toml +``` +set values as you need them to be; +[description of config variables](docs/config.md) + +#### setting up STT/TTS services +For speech-to-text (STT) and text-to-speech (TTS) functionality: +1. The project uses Whisper.cpp for STT and Kokoro for TTS +2. Docker Compose automatically downloads the required Whisper model on first run +3. To start all services: `make docker-up` +4. To start only STT service: `make docker-up-whisper` +5. To start only TTS service: `make docker-up-kokoro` +6. To stop all services: `make docker-down` +7. To stop only STT service: `make docker-down-whisper` +8. To stop only TTS service: `make docker-down-kokoro` +9. To view all service logs: `make docker-logs` +10. To view only STT service logs: `make docker-logs-whisper` +11. To view only TTS service logs: `make docker-logs-kokoro` +12. The STT service runs on http://localhost:8081 +13. The TTS service runs on http://localhost:8880 |
