• Stars
    star
    264
  • Rank 155,042 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created over 1 year ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Are Copilots Local Yet? The frontier of local LLM Copilots for code completion, project generation, shell assistance, and more. Find tools shaping tomorrow's developer experience, today!

๐Ÿ› ๏ธ Are Copilots Local Yet?

Current trends and state of the art for using open & local LLM models as copilots to complete code, generate projects, act as shell assistants, automatically fix bugs, and more.

๐Ÿ“ Help keep this list relevant and up-to-date by making edits!

Table of Contents

๐Ÿ“‹ Summary

Local Copilots are in an early experimental stage, with most being of MVP-quality.

The reasons for this are:

  • ๐Ÿ“‰ Local models still being inferior to Copilot
  • ๐Ÿ”ง Difficult to set up
  • ๐Ÿ’ป High hardware requirements

However, as models improve, and editor extensions get developed to use them, we're expected to get a renaissance of code-completion tools.

This document is a curated list of local Copilots, shell assistants, and related projects. It is intended to be a resource for those interested in a survey of the existing tools, and to help developers discover the state of the art for projects like these.

๐Ÿ“š Background

In 2021, GitHub released Copilot which quickly became popular among devs. Since then, with the flurry of AI developments around LLMs, local models that can run on consumer machines have become available, and it has seemed only a matter of time before Copilot will go local.

Many perceived limitations of GitHub's Copilot are related to its closed and cloud-hosted nature.

As an alternative, local Copilots enable:

  • ๐ŸŒ Offline & private use
  • โšก Improved responsiveness
  • ๐Ÿ“š Better project/context awareness
  • ๐ŸŽฏ The ability to run models specialized for a particular language/task
  • ๐Ÿ”’ Constraining the LLM output to fit a particular format/syntax.

๐Ÿงฉ Editor Extensions

Editor extensions used to complete code using LLMs:

Name Editor โญ Released Notes
GitHub Copilot VSCode, vim 6888 2021-6-29 The GitHub Original, not local or open-source.
Cursor VSCode 19074 2023-3-14 Fork of VSCode, not open-source
Fauxpilot VSCode 13814 2022-9-3 Early local PoC. Stale?
Tabby VSCode, vim, IntelliJ 15147 2023-9-30 Completes the cursor selection
turbopilot VSCode 3842 2023-4-10 Completions with FIM support, inspired by fauxpilot
HuggingFace-vscode VSCode 944 2023-6-19 Fork of Tabnine, supports Starcoder
localpilot VSCode 3148 2023-10-2 Utility for easily hosting models locally, for use with official Copilot extension using custom API endpoint.
StarcoderEx VSCode 95 2023-5-5 Completes the cursor selection
WizardCoder-VSC VSCode 129 2023-6-19 PoC, article available
KoboldAIConnect VSCode 2023-10-7 Copilot clone using local KoboldAI backend
gen.nvim vim 521 2023-10-1 Edit selection using custom prompts
uniteai VSCode, emacs, lsp 198 2023-8-27
Privy VSCode 304 2024-1-8 A privacy-first coding assistant.

๐Ÿ› ๏ธ Tools

Tools that try to generate projects/features from specification:

Name โญ Released Notes
gpt-engineer 48556 2023-6-6 Specify what you want it to build, the AI asks for clarification, and then builds it.
gpt-pilot 20853 2023-7-18 Very similar to gpt-engineer
continue 6128 2023-5-24 VSCode extension. Task-based autocomplete
aider 6004 2023-6-8 AI pair programming in your terminal, works well with pre-existing, larger codebases
rift 2917 2023-6-20 VSCode extension. Lets you write code by chatting, makes your IDE agentic, AI engineer that works alongside you.
mentat 2032 2023-7-25 Mentat coordinates edits across multiple locations and files.
clippinator 272 2023-4-15 Uses a team of agents to plan, write, debug, and test
Refact.AI 1222 2023-10-06 Full self-hostable code completion, chat and training service, complete with VSCode extension.
LocalCompletion 13 2023-11-15 Inline completion with support for any OpenAI compatible backend

๐Ÿ—จ๏ธ Chat Interfaces

Chat interfaces with shell/REPL/notebook access. Similar to/inspired by ChatGPT's "Advanced Data Analysis" feature (previously "Code Interpreter").

Name โญ Notes
open-interpreter 38706 open-source, locally running implementation of OpenAI's Code Interpreter
gptme 169 Supporting open models. Developed by me, @ErikBjare
octogen 232 Local Code Interpreter executing in Docker environment.
terminal-x 30 Very early prototype that converts natural language into shell commands, unmaintained since Sept. 2021
DODA 129 Electron based GUI for a local OpenAI Dev Assistant

๐Ÿค– Models

Models relevant for local Copilot-use. Ordered by most recent first.

Name Size Languages โญ Released Notes
Phind CodeLlama v2 34B Many 642 2023-8-27
WizardCoder-Python 7/13/34B Python 709 2023-8
CodeLlama 7/13/34B Many 12028 2023-8
WizardCoder 15B 80+ 704 2023-6 Fine-tuning of Starcoder
replit-glaive 3B 1? 87 2023-7 Small model fine-tuned on high-quality data with impressive performance.
Starcoder 15B 80+ 6794 2023-5
replit-v1-3b 3B 20+ 705 2023-5
SantaCoder 1.1B Python, Java, JavaScript 314 2023-4 Tiny model selectively trained on 3 languages from 'The Stack'

Note: due to the pace of new model releases, this section is doomed to be out of date.

๐Ÿ“š Datasets

Datasets relevant for training models.

Name Size Languages โญ Released Notes
The Stack 3TB/6TB 358 >500 2022-10 Excludes weak-copyleft licenses (MPL, LGPL, EGL) since v1.1

Tools

Misc relevant useful tools.

Name โญ Released Notes
ollama 31895 2023-8-27 Easily get up and running with large language models locally.

๐Ÿ“ฐ History

๐Ÿ“ˆ Stats

Stargazers over time:

Stargazers over time

More Repositories

1

gptme

A CLI and web UI to interact with LLMs in a Chat-style interface, with code execution capabilities.
Python
153
star
2

thesis

MSc thesis on: Classifying brain activity using EEG and automated time tracking of computer use (using ActivityWatch)
Python
67
star
3

quantifiedme

Analyzing all my Quantified Self data
Python
33
star
4

dotfiles

๐ŸŒ Look again at that dot. That's here. That's home. That's us.
Python
32
star
5

chatalysis

Analyse (group)chat messages. Currently supports: Facebook Messenger. Planned: Signal, Discord, WhatsApp
Python
31
star
6

KnowTree

Crazy idea about visualizing what you (don't yet) know and create a great plan to learn anything.
Python
29
star
7

N-Back

A simple N-Back game written in Python, compatible with Android.
Python
16
star
8

CryptoTax

Python tool for calculating taxes on cryptocurrency
Python
8
star
9

QSlang

A language/format/parser for manual logging of quantified self data, easily editable by humans
Python
7
star
10

timekill

A better way to (not) waste your time
Python
7
star
11

Futarchio

๐ŸŒŽ Predicting a better future, for most of mankind. (abandoned)
HTML
6
star
12

timeslot

Time slots/intervals with an arbitrary start and stop
Python
6
star
13

evernote-export

A very simple tool for dumping your Evernote notes, with Geeknote.
Shell
5
star
14

MyRiksdag

Data analysis on Riksdagen, the national legislature and the supreme decision-making body of Sweden.
Python
5
star
15

Cellular

Code for playing with cellular automatons
Python
4
star
16

biases2csv

Dumps a list of cognitive biases from a Wikipedia article to CSV
Python
3
star
17

TakeTheTime

Take The Time, a super-neat Python library for timing chunks of code
Python
3
star
18

pyzenobase

A small and simple (but helpful) library to aid in uploading and fetching data to/from Zenobase
Python
3
star
19

notouchie

A tiny tool for not touching your face
Python
3
star
20

create-a-content-feed

How to build your own content feed with Python
Jupyter Notebook
3
star
21

merkle

Some Merkle datastructures (trees, chains) implemented in Scala
Scala
3
star
22

ErikBjare.github.io

My website, wiki & blog
HTML
2
star
23

flashcards

Some flashcards I've made
2
star
24

rescuetime-exporter

Exports all your data from RescueTime
Python
2
star
25

nordnet-python

Nordnet API client written in modern Python
Python
2
star
26

twitter-helper

Playing with the Twitter API
Python
2
star
27

LifeLogger

A webapp for logging and analyzing data generated by our daily lives so that we can optimize for what matters to us
JavaScript
2
star
28

GameOfLife

Just another Game of Life clone using HTML5's <canvas> and JavaScript
JavaScript
1
star
29

gpt-code

Shell
1
star
30

testament

My last will & testament
1
star
31

goodmorning

Wake up with light
Python
1
star
32

ErikBjare

Python
1
star
33

Mandelbrot

A simple mandelbrot explorer
Java
1
star
34

rust-exploration

Exploring the wonders of Rust by writing a gravity simulator and doing some FFI
Rust
1
star
35

copilot-review

copilot-review
Python
1
star
36

cryptocanvas

A permissionless canvas on Ethereum, inspired by r/place
JavaScript
1
star
37

intro-to-js

An introduction to JavaScript using Canvas
JavaScript
1
star
38

red-hangouts-hearts

โค๏ธ A Chrome plugin that changes the color of the purple Google Hangouts hearts to red.
CSS
1
star
39

openbci-playground

Me playing around with a OpenBCI Ganglion board
Python
1
star
40

aw-test-terraform

aw-test-terraform
Dockerfile
1
star
41

OpenSCAD-playground

Playing around with the amazing OpenSCAD
OpenSCAD
1
star