| commit | baa2b590cc3a5f63bc52c3324f2835666b9ae450 | [log] [tgz] |
|---|---|---|
| author | Sean McCullough <banksean@gmail.com> | Wed Apr 23 10:40:08 2025 -0700 |
| committer | GitHub <noreply@github.com> | Wed Apr 23 10:40:08 2025 -0700 |
| tree | 69b313aab41b2f3d3cd27c72ce7d09f6b6453aa6 | |
| parent | 97188fc1955f036e57c42a2f345b3c01fc5f0dc0 [diff] |
sketch: initial container ssh support (#15) Adds an in-process ssh server to the sketch agent running inside the container. The ssh server implementation uses https://github.com/gliderlabs/ssh/ This change does not automatically generate any keys (this may come later). You specify the server identity private key and the user's authorized public keys on the sketch command line. The host sketch process reads these files from the cli flags at startup. Once the container is launched, it passes these keys to to the container sketch process via new /init POST body fields.
Sketch is an agentic coding tool focused on the Go programming language. Sketch runs in your terminal, has a web UI, understands your code, and helps you get work done. To keep your environment pristine, sketch starts a docker container and outputs its work onto a branch in your host git repository.
To get started:
go install sketch.dev/cmd/sketch@latest sketch
Currently sketch runs on macOS and linux. It uses docker/colima for containers.
macOS: brew install colima linux: apt install docker.io (or equivalent for your distro)
The sketch.dev service is used to provide access to an LLM service and give you a way to access the web UI from anywhere.
We have a discord server to discuss sketch.
Join if you want! https://discord.gg/2xG3KEG3
Sketch is open source. It is right here in this repository! Have a look around and mod away.
If you want to run sketch entirely without the sketch.dev service, you can set the flag -skaband-addr="" and then provide an ANTHROPIC_API_KEY environment variable. (More LLM services coming soon!)