diff --git a/README.md b/README.md index b7e0c44..e5faa9c 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ made with use of [tview](https://github.com/rivo/tview) - 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)](char-specific-context.md) +- [character specific context (unique feature)](docs/char-specific-context.md) #### how it looks ![how it looks](assets/ex01.png) diff --git a/config.example.toml b/config.example.toml index 60906da..234e5cd 100644 --- a/config.example.toml +++ b/config.example.toml @@ -10,7 +10,10 @@ DeepSeekModel = "deepseek-reasoner" OpenRouterCompletionAPI = "https://openrouter.ai/api/v1/completions" OpenRouterChatAPI = "https://openrouter.ai/api/v1/chat/completions" # OpenRouterToken = "" +# embeddings EmbedURL = "http://localhost:8082/v1/embeddings" +HFToken = false +# ShowSys = true LogFile = "log.txt" UserRole = "user" @@ -21,6 +24,7 @@ ChunkLimit = 100000 AutoScrollEnabled = true AutoCleanToolCallsFromCtx = false # rag settings +RAGEnabled = false RAGBatchSize = 1 RAGWordLimit = 80 RAGWorkers = 2 diff --git a/config/config.go b/config/config.go index 10e43da..c5f63a9 100644 --- a/config/config.go +++ b/config/config.go @@ -36,11 +36,11 @@ type Config struct { ImagePreview bool `toml:"ImagePreview"` EnableMouse bool `toml:"EnableMouse"` // embeddings - RAGEnabled bool `toml:"RAGEnabled"` - EmbedURL string `toml:"EmbedURL"` - HFToken string `toml:"HFToken"` - RAGDir string `toml:"RAGDir"` + EmbedURL string `toml:"EmbedURL"` + HFToken string `toml:"HFToken"` // rag settings + RAGEnabled bool `toml:"RAGEnabled"` + RAGDir string `toml:"RAGDir"` RAGWorkers uint32 `toml:"RAGWorkers"` RAGBatchSize int `toml:"RAGBatchSize"` RAGWordLimit uint32 `toml:"RAGWordLimit"` diff --git a/char-specific-context.md b/docs/char-specific-context.md similarity index 100% rename from char-specific-context.md rename to docs/char-specific-context.md diff --git a/docs/config.md b/docs/config.md index 6948ab3..817cf53 100644 --- a/docs/config.md +++ b/docs/config.md @@ -151,6 +151,19 @@ This document explains how to set up and configure the application using the `co #### EnableMouse (`false`) - Enable or disable mouse support in the UI. When set to `true`, allows clicking buttons and interacting with UI elements using the mouse, but prevents the terminal from handling mouse events normally (such as selecting and copying text). When set to `false`, enables default terminal behavior allowing you to select and copy text, but disables mouse interaction with UI elements. +### Character-Specific Context Settings (/completion only) + +[character specific context page for more info](docs/char-specific-context.md) + +#### CharSpecificContextEnabled (`true`) +- Enable or disable character-specific context functionality. + +#### CharSpecificContextTag (`"@"`) +- The tag prefix used to reference character-specific context in messages. + +#### AutoTurn (`true`) +- Enable or disable automatic turn detection/switching. + ### Additional Features Those could be switched in program, but also bould be setup in config. @@ -159,7 +172,13 @@ Those could be switched in program, but also bould be setup in config. - Enable or disable explanation of tools to llm, so it could use them. #### ThinkUse -- Enable or disable insertion of token at the beggining of llm resp. +- Enable or disable insertion of JsonSerializerToken at the beggining of llm resp. + +### StripThinkingFromAPI (`true`) +- Strip thinking blocks from messages before sending to LLM. Keeps them in chat history for local viewing but reduces token usage in API calls. + +#### ReasoningEffort (`"medium"`) +- OpenRouter reasoning configuration (only applies to OpenRouter chat API). Valid values: `xhigh`, `high`, `medium`, `low`, `minimal`, `none`. Empty or `none` disables reasoning. ## Environment Variables