From 8f8256a85bbe651f203cb2981755bf7c513c56c3 Mon Sep 17 00:00:00 2001 From: FURK4NGG <105324908+FURK4NGG@users.noreply.github.com> Date: Sun, 3 May 2026 15:03:37 +0300 Subject: [PATCH] Update README.md --- README.md | 165 ++++++++++++++++++++++++++---------------------------- 1 file changed, 80 insertions(+), 85 deletions(-) diff --git a/README.md b/README.md index 955f011..033947c 100644 --- a/README.md +++ b/README.md @@ -254,108 +254,103 @@ bind = $mainMod, Q, exec, $capture-ai text ## 🔎 ALL APP FEATURES
For Nerds +1. For Nerds + 1. Chat management -Create new chats (chat_1.json, chat_2.json, …) -Switch between chats -Delete chat (with confirmation) -Rename chat (popover) -Pin/unpin chats (📌) -Sorting: pinned first, then most recently modified +Create, switch, delete, rename, pin/unpin chats. Chats are sorted with pinned chats first, then by last modified time. -2. Persistent settings (config.json) -Remember last opened chat (last_chat) -Dark/light theme (dark_mode) -Pinned chats (pinned_chats) -Model list (ai_models) -Per-chat model mapping (chat_models) -Store OpenRouter key (open_router_key) -Mic mode online/offline (is_mic_online) -Online STT model (stt_model_online) -Offline whisper.cpp paths (whisper_cpp_bin, whisper_cpp_model) +2. Local chat storage +All chats are stored locally on the machine under the app cache directory. -3. Sidebar UI -Collapse/expand sidebar (☰) -Toggle Chats list -Toggle AI Models list +3. Section-based chat loading +Chats use lazy loading. Only the latest 10 messages are loaded first, and older messages load while scrolling up. -4. Model management (per chat) -Separate active model per chat -Selecting a model assigns it to the current chat -LRU behavior: recently chosen model moves to top -Delete models (cannot delete the last remaining model) -If a model is deleted, affected chats fall back to default (self-heal) -“AI Models +” to add a model (dialog + OpenRouter models link) +4. Persistent configuration +Uses one config.json file for settings such as theme, models, pinned chats, last chat, STT, RAG, colors, local providers, and language. -5. Message selection mode -Click to select one or multiple messages -Selection counter bar -Clear selection (✕) -Selected bubbles get an outline +5. Per-chat model management +Each chat can have its own active AI model. Recently selected models move to the top of the list. -6. Reference trees (reference chain expansion) -Expands used_refs recursively (references of references) -Ensures context (including images/refs) isn’t lost -Stores: -used_refs (indices sent to AI) -refs_groups (UI reference preview groups) +6. Online and local model support +Supports OpenRouter models and local API-based text models such as Ollama. -7. Reference trees (reference chain expansion) -Expands used_refs recursively (references of references) -Ensures context (including images/refs) isn’t lost -Stores: -used_refs (indices sent to AI) -refs_groups (UI reference preview groups) +7. Local provider settings +Local providers can store base URL, startup command, stop command, system prompt, and model parameters. -8. Regenerate (♻) -Appears only when exactly one bubble is selected -If user bubble: re-asks the same prompt -If bot bubble: finds preceding user prompt + rewrites a similar answer -Regenerated prompts are marked (regen) with a distinct style -Keeps reference trees during regeneration +8. Sidebar UI +Collapsible sidebar with separate Chats and AI Models sections. -9. Copy (📋) -Appears only on the single selected bubble -If message contains copy ... copy, copies only the inner block -Otherwise copies full message +9. Context mode switch +Each chat can switch between Direct mode and RAG mode. -10. Code block detection -Messages wrapped by copy markers render as a code-style block -Code block includes a “Copy” button overlay +10. Per-chat conversational RAG +Supports short-term memory, summary memory, simple retrieval, and code-aware context. -11. Image sending / preview -Supports a pending image preview before sending -Saves image path into chat history -Shows a small image preview in message bubbles -Clears preview after sending +11. Reference tree support +Selected references can expand recursively so previous context is not lost. -12. Typing indicator -Animated “Thinking…” while AI is running -Removed when response arrives +12. Message selection mode +Users can select one or multiple messages, clear selection, copy, regenerate, or use them as references. -13. Scroll behavior -Floating scroll-to-bottom button (↓) appears when not at bottom -Clicking scrolls to bottom and re-enables auto-scroll -Button visibility updates based on scroll position -(You also tuned behavior to scroll only on regenerate) +13. Regenerate +Regenerates from selected user or assistant messages while keeping reference context. -14. Input shortcuts -Enter to send -Shift+Enter for newline -Added: Ctrl+C / Ctrl+V / Ctrl+X / Ctrl+A +14. Copyable code blocks +Copy-marked content is rendered as a code-style block with a copy button. -15. Voice-to-text input -🎤 to start recording, ⏹ to stop -Uses pw-record if available, otherwise arecord (Linux) -After stop, transcribes (offline/online) and appends text into input +15. Image generation and image handling +Supports image generation, image previews, cached generated images, and image attachments. -16. Offline STT (whisper.cpp) -Uses whisper-cli + ggml-tiny.bin for low CPU transcription -Reads .txt output (stdout fallback) +16. Document support +Supports PDF, DOCX, XLSX, TXT, and MD file creation/output. Generated files are shown with downloadable buttons. -17. Online STT (OpenRouter) -If is_mic_online: true, transcribes via OpenRouter -Sends base64 WAV as input_audio -Model selected via stt_model_online +17. PDF handling +If a PDF contains text, it is sent as text content. If it has little/no text, the first pages are converted to PNG images and sent as image_url. + +18. Document editing behavior +AI can read, analyze, summarize, rewrite, and generate edited document outputs when permission is enabled. + +19. File create protocol +DOCX, XLSX, PDF, TXT, and MD outputs can be generated from AI responses and returned as downloadable files. + +20. XLSX support +Can create new XLSX tables and filter existing XLSX files with supported operations. + +21. Drag & drop attachments +Files and images can be added via drag & drop or file picker. + +22. Editable file permission +Attached files can be toggled editable. The AI only modifies files when permission is enabled. + +23. Voice-to-text input +Supports microphone recording and transcription with online or local STT. + +24. Offline STT +Uses whisper.cpp with configured binary and model paths. + +25. Online STT +Uses OpenRouter audio-capable models and sends WAV audio as input_audio. + +26. Token usage display +Shows input, output, and total token usage for each response when enabled. + +27. Token price display +Can estimate message cost using a configurable token price value. + +28. Theme system +Supports dark/light theme and custom UI colors. + +29. Language system +Supports external language files such as Turkish and English, with cached language loading. + +30. Prompt chooser +Prompt behavior blocks can be enabled/disabled, such as copyable, apply, PDF visual edit, file creation, structured output, and code mode. + +31. Terminal control +The project also supports terminal usage, excluding STT and some GUI-only features. + +32. Linux compatibility +Designed for Linux devices, including Arch and Debian/Ubuntu-based systems.