{"id":17487511,"url":"https://github.com/len4m/select2llm","last_synced_at":"2026-01-24T10:02:30.796Z","repository":{"id":258426439,"uuid":"868890069","full_name":"Len4m/select2llm","owner":"Len4m","description":"Tool to process selected text from any application using LLMs in Ollama with keyboard shortcuts","archived":false,"fork":false,"pushed_at":"2025-08-28T23:52:31.000Z","size":3859,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-29T00:54:16.811Z","etag":null,"topics":["ai","llm","ollama","tool"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Len4m.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-07T11:11:24.000Z","updated_at":"2025-08-28T23:52:35.000Z","dependencies_parsed_at":"2025-08-28T20:32:11.680Z","dependency_job_id":"eb451c27-5364-424a-a6c5-83f246119c9f","html_url":"https://github.com/Len4m/select2llm","commit_stats":{"total_commits":32,"total_committers":1,"mean_commits":32.0,"dds":0.0,"last_synced_commit":"40c88b4d414d5bd5ae47003bb5c0c1d78c9866ff"},"previous_names":["len4m/select2llm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Len4m/select2llm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Len4m%2Fselect2llm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Len4m%2Fselect2llm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Len4m%2Fselect2llm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Len4m%2Fselect2llm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Len4m","download_url":"https://codeload.github.com/Len4m/select2llm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Len4m%2Fselect2llm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28724374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T08:27:05.734Z","status":"ssl_error","status_checked_at":"2026-01-24T08:27:01.197Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","llm","ollama","tool"],"created_at":"2024-10-19T03:04:52.557Z","updated_at":"2026-01-24T10:02:30.791Z","avatar_url":"https://github.com/Len4m.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Select2LLM\n\n**Select2LLM** lets you send selected text to [Ollama](https://ollama.com) with a shortcut and paste the result back, making translations, corrections, summaries and code tasks fast and simple.\n\n![Interface Image](image.png)\n\n## Features\n\n- **Send selected text with a shortcut** to your preferred Ollama model.\n- **Multiple shortcuts and prompts** configured by the user to cover different workflows.\n- **Simple in‑app settings** (language, temperature, UI zoom, etc.).\n- **Model list** shown in alphabetical order.\n- **Thinking filter** for reasoning models (shows only the final answer).\n- **Light/Dark themes** and **multilingual UI** (English, Spanish, Catalan).\n- **Quick cancel** from tray icon or overlay button.\n\n## System Requirements\n\n- **Linux**: \n  - For **X11**, it requires `xclip` and `xdotool`.\n  - For **Wayland**, it requires `wtype` and `ydotool`.\n- **Windows**: **PowerShell** must be installed and enabled.\n- **macOS**: Support is planned for future versions.\n\n## Installation\n\n### 1. Dependencies\n\n- **Ollama** with at least one model:\n  ```bash\n  ollama pull llama3.2\n  ```\n- **Linux** packages:\n  - X11: `sudo apt-get install xclip xdotool`\n  - Wayland (e.g. Fedora): `sudo dnf install wtype ydotool`\n- **Windows**: Ensure PowerShell is installed and enabled.\n\n### 2. Installing Select2LLM\n\n1. **Clone**\n   ```bash\n   git clone https://github.com/Len4m/select2llm.git\n   ```\n2. **Install**\n   ```bash\n   cd select2llm \u0026\u0026 npm install\n   ```\n3. **Run / Build**\n   ```bash\n   npm start\n   # or\n   npm run build\n   ```\n\n## Configuration\n\n### Shortcut and Prompt Configuration\n\nManage everything from the app. Advanced users can edit `~/.select2llm/shortcuts.json`:\n```json\n[\n  {\n    \"ctrl\": true,\n    \"shift\": true,\n    \"alt\": true,\n    \"key\": \"t\",\n    \"prompt\": \"Translate the following text to English. Return only the English translation without any additional comments or explanations:\",\n    \"model\": \"llama3.2:latest\",\n    \"temperature\": 0.7,\n    \"overlay\": true\n  }\n]\n```\n\n### Global Configuration\n\nGlobal settings in `~/.select2llm/config.json`:\n```json\n{\n  \"language\": \"en\",\n  \"temperature\": 0.8,\n  \"keep-alive\": 5,\n  \"host\": \"http://127.0.0.1:11434\",\n  \"uiZoom\": 100\n}\n```\n\n## How to Use\n\n1. Select any text on your computer.\n2. Use a configured keyboard shortcut to send the selected text to the pre-configured LLM in Ollama.\n3. The processed response will be automatically pasted.\n\n\u003e **Important**\n\u003e - Do not interact with or move focus away from the destination application while Select2LLM is typing; losing focus can cause unexpected behavior.\n\u003e - You can cancel the current streaming/typing process by double-clicking the tray icon or using the cancel button in the overlay window.\n\n## Recent Technical Improvements\n\n- **Smart Thinking Filtering**: Automatically detects and filters content between `\u003cthink\u003e` and `\u003c/think\u003e` tags from models with reasoning capabilities.\n- **Service-Oriented Architecture**: The application has been refactored with a modular and robust architecture, improving communication with Ollama, configuration management, and error handling.\n- **Model Organization**: Models are now displayed alphabetically for easier navigation.\n- **Accessibility and Usability**: Includes an interface zoom slider for better readability, with changes applied in real-time.\n- **UI/UX improvements**: Polished configuration interface with light and dark themes.\n- **Multilingual interface**: Available in English, Spanish and Catalan.\n- **Quick cancellation**: Double-click the tray icon or use the overlay cancel button to stop streaming.\n\n## Contributing\n\n**Select2LLM** is my first application in [Electron](https://www.electronjs.org/), so there are likely bugs and areas for improvement. All contributions are welcome!\n\n## Future Enhancements\n\n- **Cross-platform support**: Improve Windows support and complete macOS.\n- **Output options**: Choose between simulated typing or clipboard paste.\n- **Automatic updates**: Built-in auto-update system.\n\n## License\n\nThis project is licensed under the **GPL-3** License. See the `LICENSE` file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flen4m%2Fselect2llm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flen4m%2Fselect2llm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flen4m%2Fselect2llm/lists"}