Update README.md

This commit is contained in:
FURK4NGG
2026-05-03 15:03:37 +03:00
committed by GitHub
parent 0bf855f51b
commit 8f8256a85b
+80 -85
View File
@@ -254,108 +254,103 @@ bind = $mainMod, Q, exec, $capture-ai text
## 🔎 ALL APP FEATURES
<details>
<summary>For Nerds</summary>
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) isnt 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) isnt 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.
</details>
<details>