{"id":27020045,"url":"https://github.com/commanderlake/lmstud","last_synced_at":"2025-09-16T03:53:35.347Z","repository":{"id":284647176,"uuid":"955608368","full_name":"CommanderLake/LMStud","owner":"CommanderLake","description":"Chat with GGUF LLMs using llama.cpp and a classic Windows Forms interface for minimal GUI bloat.","archived":false,"fork":false,"pushed_at":"2025-09-10T22:53:08.000Z","size":2253,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-11T00:31:07.377Z","etag":null,"topics":["ai","artificial-intelligence","chat-application","chat-bot","chatbot","chatbots","gpt","llama","llama3","llamacpp","llm","llm-inference","llms","windows","windows-desktop","windows-forms","windows7","winforms"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CommanderLake.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-26T23:00:22.000Z","updated_at":"2025-09-10T22:35:57.000Z","dependencies_parsed_at":"2025-05-11T23:22:35.758Z","dependency_job_id":"31e8fed3-5461-4c81-83f7-20c354978420","html_url":"https://github.com/CommanderLake/LMStud","commit_stats":null,"previous_names":["commanderlake/lmstud"],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/CommanderLake/LMStud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommanderLake%2FLMStud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommanderLake%2FLMStud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommanderLake%2FLMStud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommanderLake%2FLMStud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CommanderLake","download_url":"https://codeload.github.com/CommanderLake/LMStud/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommanderLake%2FLMStud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275358876,"owners_count":25450444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-16T02:00:10.229Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","artificial-intelligence","chat-application","chat-bot","chatbot","chatbots","gpt","llama","llama3","llamacpp","llm","llm-inference","llms","windows","windows-desktop","windows-forms","windows7","winforms"],"created_at":"2025-04-04T18:19:41.640Z","updated_at":"2025-09-16T03:53:35.340Z","avatar_url":"https://github.com/CommanderLake.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Copyright (c) 2025 CommanderLake\nAll rights reserved.\n\n# 🦙 LM Stud – Local LLMs Minus the Lard\n\n\u003e **TL;DR**  \n\u003e A WinForms chat client for `llama.cpp`, `whisper.cpp` and your questionable life choices.  \n\u003e **Zero Electron. Zero telemetry. Zero regrets.**\n\n---\n\n## Features\n\n| ☑️ | What It Does |\n| --- | --- |\n| ✅ | Launches in milliseconds—your GPU blinks and it’s already chatting. |\n| ✅ | Edit / regenerate / yeet messages. |\n| ✅ | Shows the model’s “thinking” stream (fun for prompt nerds). |\n| ✅ | Drag-drop files → instant code blocks. |\n| ✅ | One-click Hugging Face search \u0026 download. |\n| ✅ | **Built-in Google Search + webpage fetch** (super-visible setup below). |\n| ✅ | Optional speech I/O with `whisper.cpp`—talk smack to your computer. |\n| ✅ | Tiny memory footprint—smaller than RGB keyboard driver. |\n| ✅ | Model API handler for remote endpoints. |\n| ✅ | Dialectic mode with dual samplers for side-by-side debates. |\n\n---\n\n## Google Search – **READ ME FIRST** ⚠️\n\u003cdetails\u003e\n\n```text\n1)  Grab an API key\n    https://console.cloud.google.com/apis/dashboard\n    → new project → enable “Custom Search API” → copy the key.\n\n2)  Create a Search Engine ID\n    https://programmablesearchengine.google.com/controlpanel/overview\n    → “Add” → “Search the entire web” → grab the cx ID.\n\n3)  Paste both values in  Settings → Google Search Tool.\n    Congrats—~100 free queries per day. Abuse responsibly.\n```\n\u003c/details\u003e\n\n---\n\n## Screenshots\n\n|             Chat Tab            |               Settings Tab              |              Models Tab             |                Hugging Face Tab               |\n| :-----------------------------: | :-------------------------------------: | :---------------------------------: | :-------------------------------------------: |\n| ![Chat](./screenshots/Chat.PNG) | ![Settings](./screenshots/Settings.PNG) | ![Models](./screenshots/Models.PNG) | ![Huggingface](./screenshots/Huggingface.PNG) |\n\n---\n\n## Quick-Start Build\n\n### Build llama.cpp\n```text\n1. Install Visual Studio with C# and C++ development tools\n2. Clone https://github.com/ggml-org/llama.cpp or download the source code of the latest release\n3. Open \"x64 Native Tools Command Prompt for VS \u003cversion\u003e\", cd to the llama.cpp folder and run \"mkdir build \u0026\u0026 cd build\"\n4. `cmake .. -DGGML_NATIVE=OFF -DGGML_BACKEND_DL=ON -DGGML_AVX2=ON -DGGML_BMI2=ON -DGGML_CUDA=ON -DGGML_CUDA_F16=ON -DLLAMA_CURL=OFF -DLLAMA_ALL_WARNINGS=OFF -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_TOOLS=OFF -DLLAMA_BUILD_EXAMPLES=OFF -DLLAMA_BUILD_SERVER=OFF`\n5. Open build\\llama.cpp.sln with visual studio and build the Release version\n```\n### Copy files\n```text\n1. Clone https://github.com/CommanderLake/LMStud\n2. Adjust \"VC++ Directories\" in the Stud project so the paths reflect where you cloned llama.cpp and whisper.cpp to\n3. From build\\bin\\Release copy all .dll files to \u003cLMStud solution folder\u003e\\LM Stud\\bin\\x64\\Release\n4. If you wish to use the Debug version follow the last 2 steps but replace \"Release\" with \"Debug\", i use Release for CUDA 10.2 and ReleaseCUDA12 for the CUDA 12.8 build\n5. If you want whisper.cpp for voice input the build steps are similar to llama.cpp, clone https://github.com/ggml-org/whisper.cpp copy only whisper.dll to the \"LM Stud\\bin\\x64\\Release\" folder or whatever your build configuration is\n```\n### Set up curl for tools and model downloading\n```text\n1. Set up vcpkg, step \"1 - Set up vcpkg\": https://learn.microsoft.com/en-us/vcpkg/get_started/get-started\n2. From a new visual studio command prompt...\n3. vcpkg install SDL2:x64-windows-static\n4. vcpkg install curl[openssl]:x64-windows-static\n5. Open LM Stud.sln in Visual Studio\n6. Adjust \"Include Directories\" in \"VC++ Directories\" in the Stud project to your llama.cpp, whisper.cpp and vcpkg locations\n7. Build LM Stud\n```\n\n---\n\n## Settings Cheat-Sheet\n\n| Section                | Knobs \u0026 Dials                                                  |\n| ---------------------- | -------------------------------------------------------------- |\n| **CPU Params / Batch** | Generation threads, batch threads.                             |\n| **Common**             | Context size, GPU layers, temperature, tokens to generate.     |\n| **Advanced**           | NUMA strategy, repeat penalty, top-k/p, batch size.            |\n| **Voice**              | Model picker, wake word, VAD, frequency threshold, GPU toggle. |\n| **Tools**              | Enable Google Search (API key + cx), enable webpage fetch.     |\n\n---\n\n## Recent Releases\n\n- **R37** – Added dual samplers for dialectic mode and switched the UI font to Segoe UI Symbol.\n- **R36** – Added tooltip for the generation delay setting.\n- **R35** – Improved generation lock so Generate no longer waits.\n- **R34** – Introduced a model API handler.\n\n---\n\n## License\n\nNo license granted. All rights reserved.  \nViewing and forking on GitHub are permitted under GitHub’s Terms of Service.  \nNo other rights are granted; any use, redistribution, or modification outside GitHub requires prior written permission.\n\n### Disclaimer\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,  \nINCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE and NON-INFRINGEMENT, TO THE MAXIMUM EXTENT PERMITTED BY LAW.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommanderlake%2Flmstud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcommanderlake%2Flmstud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommanderlake%2Flmstud/lists"}