{"id":23934002,"url":"https://github.com/appenz/macLLM","last_synced_at":"2025-09-11T16:33:28.764Z","repository":{"id":169918414,"uuid":"609650950","full_name":"appenz/macLLM","owner":"appenz","description":"Tool to integrate LLM's like GPT-3 with macOS","archived":false,"fork":false,"pushed_at":"2025-08-25T02:56:24.000Z","size":65571,"stargazers_count":54,"open_issues_count":1,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-06T21:49:19.019Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appenz.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":"2023-03-04T20:24:50.000Z","updated_at":"2025-08-25T02:56:28.000Z","dependencies_parsed_at":"2024-02-09T23:26:09.192Z","dependency_job_id":"ac848291-4432-40b2-a1c1-6176517b87a0","html_url":"https://github.com/appenz/macLLM","commit_stats":null,"previous_names":["appenz/macllm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/appenz/macLLM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appenz%2FmacLLM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appenz%2FmacLLM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appenz%2FmacLLM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appenz%2FmacLLM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appenz","download_url":"https://codeload.github.com/appenz/macLLM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appenz%2FmacLLM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274670552,"owners_count":25328259,"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-11T02:00:13.660Z","response_time":74,"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":[],"created_at":"2025-01-06T00:30:01.903Z","updated_at":"2025-09-11T16:33:28.723Z","avatar_url":"https://github.com/appenz.png","language":"Python","funding_links":[],"categories":["Building"],"sub_categories":["Tools"],"readme":"# macLLM - Fast LLM Desktop Utility for macOS\n\nmacLLM is a utility that makes it easy to work with LLMs from the macOS desktop. It is launched\nvia a hotkey and can do things like:\n* Send a prompt to an LLM, e.g. \"What state is Kansas City in?\"\n* Translate or summarize text, e.g. \"Translate the @clipboard to Spanish\"\n* Look at desktop windows, e.g. \"Write a short biography based on this LinkedIn @window\"\n* Find good emojis for a specific topic, e.g. \"@emojis: diving in hawaii\"\n* Work with URLs, e.g. \"summarize @https://github.com/appenz/macLLM/edit/main/README.md\"\n* Work with files, e.g. \"find the ship date in @~/Documents/Notes/team-meeting.md\"\n\nmacLLM is open source (Apache 2.0) and designed to be easily extensible with your own workflows.\nHere is a short demo video (with sound) of some of the capabilities.\n\nhttps://github.com/user-attachments/assets/391b85da-689e-4b49-b449-dd3593ea512c\n\n## Installation\n\nmacLLM uses the uv package manager, make sure you have it installed first (https://github.com/astral-sh/uv). \n\nYour OpenAI API key should be configured in the environment variable OPENAI_API_KEY.\n\n\u003e OPENAI_API_KEY=\"your_api_key\"\n\nNow you can run macllm it with:\n\n\u003e uv run macllm/macllm.py\n\nuv should take care of all the dependencies.\n\n## Basic Usage\n\nPress the hotkey. By default, it is option-space (⌥-space) but it can be easily remapped. \nA small window will appear in the center of the screen and you can start typing a query to the LLM.\nFor example:\n\n\u003e Capital of france?\n\nAfter a second or so you should ge the answer \"Paris\". You can now do a few things:\n1. Hit escape to close the window. Pressing the hotkey again will close it as well.\n2. You can copy the text to the clipboard by pressing Command-C (⌘-C). This will also close the macLLM window.\n3. Type a new query into the text box.\n\n## Referencing external data\n\nmacLLM understands a number of external data sources:\n* @clipboard is the current clipboard content\n* @window is any desktop window. You can select it after entering the query with your mouse.\n* @selection allows you to select any area on the screen.\n* @\u003cfilename\u003e is any file in macOS. The path has to start with \"/\" or \"~\"\n* @\u003curl\u003e for an http url. It has to start with \"http\" or \"https\"\n\nThe data can be referenced in the query, e.g. \"translate @clipboard into French\" or \"summarize the slide @window\".\n\n## Shortcuts\n\nShortcuts are shorthand for specifc prompts. They always start with the @ symbol. So for example \"@fix\" is a prompt that corrects spelling or \"#tr-es\" is short for translate to Spanish. \n\n\u003e@fix My Canaidian Mooose is Braun.\n\nThis gets internally expanded to:\n\n\u003e#Correct any spelling or grammar mistakes in the following text: My Canaidian Mooose is Braun.\n\nWhich GPT will correct to:\n\n\u003e My Canadian Moose is Brown.\n\nYou can add your own shortcuts in two ways:\n1. In the shortcuts.py file for built-in shortcuts\n2. In TOML config files in either:\n   - App config directory: ./config/\n   - User config directory: ~/.config/macllm/\n\nConfig files should use TOML format with a shortcuts table. Example:\n```toml\nshortcuts = [\n  [\"@exampleshortcut\", \"This is the expanded version of the exampleshortcut.\"],\n  [\"@hosts\", \"@/etc/hosts\"],\n]\n```\n\n## Example Shortcuts\n- `#exp`: Expand the text using sophisticated and concise language.\n- `#fix`: Correct spelling and grammar mistakes in the following text.\n- `#fix-de`: Correct spelling and grammar mistakes in the following German text.\n- `#rewrite`: Rewrite the text to be extremely concise while keeping the same meaning.\n- `#tr-de`: Translate the text from English to German.\n- `#emoji`: Pick a relevant emoji for the text and reply with only that emoji.\n- `#emoji`: Pick a few relevant emojis for the text and reply with only those emojis.\n\n## Using it via the clipboard\n\nIf the clipboard contains a text that starts with the trigger (default is \"@@\"), it will be sent to the LLM.\nThis can be useful if you want to use macLLM from withint an editor. Just type \"@@\" followed by instructions (e.g. \"@@shorten this paragraph:\"), hit copy (i.e. Apple-C), wait 1-2 seconds, and paste (Apple-P). \n\n## License\n\nApache 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappenz%2FmacLLM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappenz%2FmacLLM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappenz%2FmacLLM/lists"}