×

注意!页面内容来自https://github.com/gensyn-ai/codeassist,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

Skip to content
<> /* Override primer focus outline color for marketing header dropdown links for better contrast */ [data-color-mode="light"] .HeaderMenu-dropdown-link:focus-visible, [data-color-mode="light"] .HeaderMenu-trailing-link a:focus-visible { outline-color: var(--color-accent-fg); }

gensyn-ai/codeassist

Repository files navigation

CodeAssist - AI Programming Assistant

Note: As we shift focus to Mainnetwe've stopped tracking new CodeAssist participation on Testnet. All historical data remains on-chain.

CodeAssist is a completely private and local AI coding assistantdeveloped by Gensyn. It helps you practice programming problems and train a novel assistant to help you code.

Unlike typical code assistantsCodeAssist writes directly in your editor as you work. Every keystroke - whether you typefixdeleteor leave its output untouched - becomes a learning signal. Over timeit adapts to your habits and acting more like an apprentice learning from your craft than a tool following commands.

Docs | Tutorial | Leaderboard

Installation

Get started with installing CodeAssist.

Docker

Install Docker on your systemaccording to the instructions for your machine.

Python

Python is required to run the main script that handles your environment. We require a version no older than 3.10.

UV

UV is required to manage the dependencies of the main script. It can be installed with the following steps:

MacOS

brew install uv

Linux (or alternate MacOS installfor those without Brew)

curl -LsSf https://astral.sh/uv/install.sh | sh

Downloading the Code

To download the codesimply clone the repository:

git clone https://github.com/gensyn-ai/codeassist.git
cd codeassist

Running

To run CodeAssistsimply execute the following command:

uv run run.py

HuggingFace Token

To start CodeAssistyou will need to have a HuggingFace token. Follow these instructions and generate a token with Write access.

Web UI

After the script is runningyour browser should open automatically but if it doesn'topen a window and go to localhost:3000 to open CodeAssist.

When the web UI loadsyou'll see a login modal where you can log in with email (which sends a one-time passcode) or with Google. After logging in for the first timeyour local credentials will be stored in persistent-data/auth/userKeyMap.on.

Once logged inyou can select EasyMediumor Hard problems from the sidebar. CodeAssist will begin recording an episode. Every clickkeystrokeeditor deletion is logged as training feedback.

When you stop typingCodeAssist takes initiative. It writes directly into your file without any pop-ups or confirmations. Whether you acceptmodifyor remove its editseach interaction contributes to the model’s understanding of your preferences.

Tips & Tricks

  • Use Shift+Space or click the Pause Assistant button to temporarily stop the assistant. The first keystroke after pausing will unpause it.
  • Keep your cursor near the section you're working onas CodeAssist inserts code relative to your cursor position.
  • When the assistant produces a "No-Op" (does nothing)it's waiting for you. This is intentional and signals it's your turn to act.

Training

CodeAssist continuously records your interactions while the web UI is running. To complete an episode and train your modelpress Ctrl+C in the terminal where CodeAssist is running.

You do not need to successfully solve a LeetCode problem to train the model. You can stop recording the episode by leaving the CodeAssist web UIreturning to the terminal CodeAssist is running inand using the ctrl+c command to start training.

During trainingCodeAssist will:

  • Compare your edits to the assistant's actions
  • Calculate rewards and penalties based on your interactions
  • Update your local model checkpoint
  • Store new model weights under persistent-data/trainer/models
  • Upload your trained model to Hugging Face (if a valid token is provided)

After training completes (which takes a few minutes depending on your system)you can restart CodeAssist to use your updated model trained on your most recent episode.

Best Practices

  • Be patient: The assistant watches your typing and timing. Working too quickly or aggressively correcting can neutralize training efficacy.
  • Treat it as a collaborator: Let it naturally interject code and keep useful code around briefly before editing or removing.
  • Don't delete everything instantly: If you delete everything it writes right awayyou're teaching it to stop acting altogether.
  • Record multiple varied problems: Diversify its learning signals by working on different problems.
  • Expect gradual improvement: Early episodes may feel inconsistent. Improvement becomes clearer after 4-5 episodes of training.

Troubleshooting

Exception: Container is unhealthy.

This occurs when a container fails to boot. You can view the logs by running docker logs <container-name>. Please review and upload the logs when creating a new issue.

Error connecting to Docker daemon

2025-09-04 15:03:47,975 - ERROR - Error connecting to Docker daemon: Error while fetching server API version: ('Connection aborted.'FileNotFoundError(2'No such file or directory'))
2025-09-04 15:03:47,976 - ERROR - Please ensure Docker is installed and running.

If you see lines like the aboveit means Docker is not runningor you do not have permission to connect to Docker. Make sure Docker is properly installed on your system and running.

Bind for 0.0.0.0:3000 failed: port is already allocated

This occurs when there is already a Docker container running that uses port 3000. You have two options:

  1. Stop the other service that is using the port (e.g.if you are running RL Swarm).
  2. Run CodeAssist on a different port using the --port argument:
  uv run run.py --port 3001

Note: When choosing a new portplease avoid 80008080800180083003and 11434as they are reserved for other CodeAssist services.

Contributing

We welcome contributions!

Pre-Commit Hook

We use a pre-commit hook to run linting on the repository before committing. You can install pre-commit as described below:

Installing pre-commit

To install pre-commitsimply run the below command

pip install pre-commit

Setting up pre-commit

To set up pre-commitrun this command

pre-commit install

Formatting

This repository is formatted with ruff format. Any commits which do not meet Ruff's lint checks will have GitHub actions failand will need to be fixed before merging.

License

CodeAssist is released under the (MIT) license.

About

A completely private and local AI coding assistantdeveloped by Gensyn. It helps you practice programming problems and train a novel assistant to help you code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors