| commit | 25f6ff1b44e739e64d8b86cc4ea11bf8c631265c | [log] [tgz] |
|---|---|---|
| author | Philip Zeyliger <philip@bold.dev> | Fri May 02 04:24:10 2025 +0000 |
| committer | Philip Zeyliger <philip@bold.dev> | Fri May 02 14:25:31 2025 -0700 |
| tree | 2255018ca38ba211e57eb9e76e87b82d61a0c826 | |
| parent | d01d1341abf9b2e62f0b4cc821277dc4c40c6225 [diff] |
Implement Server-Sent Events (SSE) for Real-time Agent Communication - Add server-side SSE endpoint (/stream?from=N) for streaming state updates and messages - Replace polling with SSE in frontend for real-time updates with significant performance improvements - Implement efficient connection handling with backoff strategy for reconnections - Add visual network status indicator in UI to show connection state - Use non-blocking goroutine with channel pattern to handle SSE message delivery - Ensure proper message sequencing and state synchronization between client and server - Fix test suite to accommodate the new streaming architecture - Update mocks to use conversation.Budget instead of ant.Budget Co-Authored-By: sketch <hello@sketch.dev>
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/R82YagTASx
See CONTRIBUTING.md
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!)