Sweep is a locally running dev tool that codes alongside you. To preserve your security, Sweep will only send code to your OpenAI endpoint. If you use Azure OpenAI, all of your code will stay within your network.
- OpenAI API key(https://platform.openai.com (opens in a new tab))
- Node.js v18+(https://nodejs.org/en/download/ (opens in a new tab)). Use
npm install -g n && n 18to use Node.js v18.
Install Sweep by running the following command in your terminal:
npm i -g sweepai && npx sweepai build
- If you see a build error, you may be on version 16 of Node.js. You can upgrade to version 18 by running the following command:
npm install -g n && n 18
- If you see a permissions issue, you can fix it by running the following command:
sudo (npm i -g sweepai && npx sweepai build)
You can run
npx sweepai to start Sweep in the future. To update the assistant, run
npm update -g sweepai && npx sweepai build
We collect telemetry (not code) to improve the assistant, such as the types of tasks you're asking Sweep to handle.
To disable telemetry, add
NEXT_PUBLIC_NO_TELEMETRY=true to your
.env in your Sweep Assistant directory.
You can find where the Sweep directory is cloned by running
which sweep. For example, if
which sweep yields
sweep: aliased to npm start --prefix /home/bob/sweep/platform, then you would run:
echo "NEXT_PUBLIC_NO_TELEMETRY=true" >> platform/.env
You can run
pwd to use your current working directory.
Click "Modify file" or "Create file".
Add meticulous instructions for the code to edit. You can type @ to mention a file.
Click "Generate Code" to run the assistant. Then click the check mark to approve the change or the reload to reject the change.
We highly recommended that you add a checks to your assistant. There are two types of checks:
- Validation Script: runs after every edit. We recommend using a formatter and linter to catch syntax errors and undefined variables.
- Test Suite: runs after all edits are complete.
Why do we need a validation script?
Human developers identify syntax errors using visual cues like syntax highlighting and red squiggles, which is unavailable to LLMs. The best way for LLMs to detect such errors is to use a formatter to check the syntax and a linter for catching undefined variables.
Here are some example scripts we recommend:
python3 -m py_compile < $FILE_PATH
pylint $FILE_PATH --errors-only
Make sure to click the "Run Tests" button to test the script.
You may want to provide the full path to the CLI tools (e.g.
/home/kevin/.cache/pypoetry/virtualenvs/sweepai-u_abcdefg-py3.10/bin/black) if you are using a custom virtual environment. You may also want to run
python -m pylint or
python3 -m pylint instead of