summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md91
1 files changed, 66 insertions, 25 deletions
diff --git a/README.md b/README.md
index f7c63bf..6a7b144 100644
--- a/README.md
+++ b/README.md
@@ -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
+[![gf-lt video showcase](assets/yt_thumb.jpg)](https://youtu.be/WCS4Xc902F8 "gf-lt showcase")
+
+#### how it looks
+![how it looks](assets/ex01.png)
+
+
+#### 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;
+![keybinds](assets/helppage.png)
+
+#### 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