{"id":17527123,"url":"https://github.com/lufixSch/LocalCompletion","last_synced_at":"2025-03-06T06:31:45.204Z","repository":{"id":204295508,"uuid":"711519370","full_name":"lufixSch/LocalCompletion","owner":"lufixSch","description":"Local LLM based code completion like Copilot with any OpenAI compatible API","archived":false,"fork":false,"pushed_at":"2024-07-29T20:56:34.000Z","size":349,"stargazers_count":25,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-07-30T02:39:05.965Z","etag":null,"topics":["coding","copilot","developer-tools","llm","software-development","visual-studio-code"],"latest_commit_sha":null,"homepage":"https://lufixsch.github.io/projects/programming_projects/localcompletion","language":"TypeScript","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/lufixSch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2023-10-29T14:17:47.000Z","updated_at":"2024-07-29T20:56:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"86907a20-fec4-4588-b989-bd19faacf90d","html_url":"https://github.com/lufixSch/LocalCompletion","commit_stats":null,"previous_names":["lufixsch/localcompletion"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lufixSch%2FLocalCompletion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lufixSch%2FLocalCompletion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lufixSch%2FLocalCompletion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lufixSch%2FLocalCompletion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lufixSch","download_url":"https://codeload.github.com/lufixSch/LocalCompletion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":220753131,"owners_count":16697311,"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","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":["coding","copilot","developer-tools","llm","software-development","visual-studio-code"],"created_at":"2024-10-20T15:03:11.854Z","updated_at":"2024-10-20T15:07:46.406Z","avatar_url":"https://github.com/lufixSch.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# LocalCompletion\n\nLocal LLM based code completion like Copilot.\n\n\u003e This extension does not come with a built in backend for running LLMs. Instead you are able to use any existing tool that supports the OpenAI API format. Like the [Oobabooga WebUI](https://github.com/oobabooga/text-generation-webui) and many other\n\n\u003e NOTE: I stopped using Visual Studio Code and therefore also won't continue developing this extension. I will merge pull requests if needed and even fix smaller issues if necessary but there will be no new features added.\n\u003e If you're searching for an alternative I suggest the great [continuer.dev](https://github.com/continuedev/continue) extension.\n\n## Features\n\n- Inline (multi line) code completion\n- Works with any OpenAI compatible API\n- Save multiple API Endpoints and switch easily between them\n- Reducing requests to LLMs by\n  - saving previous responses\n  - skipping completion depending on the last symbol\n  - only posting request if no input was given for some time (can be specified in the settings)\n- Dynamically detect multi line or single line completion\n- Add other files to the completion context to improve the output\n\n## Extension Settings\n\n- `localcompletion.active_endpoint`: The URL of the API which is used for generating the code completion\n- `localcompletion.endpoints`: List of URL endpoints\n- `localcompletion.temperature`: Temperature of the LLM\n- `localcompletion.max_tokens`: Maximum number of tokens in the response\n- `localcompletion.stop_sequences`: Additional stop sequences (max. 2)\n- `localcompletion.reduce_calls`: Reduce API calls with various strategies (e.g. skip completion if last symbol was a letter)\n- `localcompletion.skip_autocomplete_widget`: Skip completion if autocomplete widget is active\n- `localcompletion.completion_timeout`: Minimum time between keystrokes (in ms) before sending a completion request (Reduces API calls, which are closed immediately after)\n- `localcompletion.max_lines`: Maximum number of lines in the response (empty lines are ignored)\n- `localcompletion.add_visible_files`: Add all visible files to completion context\n- `localcompletion.context_files`: List of files to add to completion context (should usually not be edited manually)\n- `localcompletion.context_gitignore`: Whether to ignore files in the `.gitignore` in the context selection view\n\n## Known Issues\n\n### OpenAPI keys\n\nThe extension does not yet support a custom API key. This means it only works for APIs which do not need a key.\n\n### Model switching\n\nModel switching is not supported at the moment as most local tools don't support that property either.\n\n### Context selection\n\nSymlinks can cause problems with additional context selection. They are not handled properly at the moment.\n\nSelected files in the `.gitignore` are not automatically removed from the additional when \"Apply .gitignore to context\" is checked\n\n### No `git` installed\n\nIn order to automatically ignore files in the `.gitignore` for the context I use a package which interacts with git. At the moment, I was not able to test the extension without `git` installed. If you encounter any issues please let me know.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FlufixSch%2FLocalCompletion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FlufixSch%2FLocalCompletion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FlufixSch%2FLocalCompletion/lists"}