Skip to main content

Summary

Phase 1 of the Olly HTTP Server is complete. The local coding assistant now exposes a REST API and WebSocket endpoint, enabling web-based chat interfaces to connect to the same agent runtime that powers the terminal UI.

What Was Delivered

REST Endpoints

EndpointMethodPurpose
/healthGETHealth check + agent state
/api/stateGETCurrent agent state
/api/chat/historyGETMessage history array
/api/chatPOSTSubmit message (202 async)
/api/chatDELETEReset conversation

Real-Time Features

  • WebSocket endpoint at /ws for event streaming
  • Events: state_change, message, tool_call, tool_result, done, error
  • Hub-and-spoke pattern broadcasts to all connected clients
  • Async processing: POST returns 202 immediately, agent runs in background

Technical Stack

  • Go: Fiber v2 for HTTP, fasthttp/websocket for WebSocket
  • Agent: Typed integration with existing runtime
  • CORS: Configurable origins with credential support
  • Graceful: Proper shutdown handling

Business Impact

Enables Phase 2

Phase 1 unblocks the Web Chat UI (Phase 2). The API contract is now defined:
  • Web developers can integrate immediately
  • Frontend can be built in parallel with backend
  • WebSocket protocol enables real-time streaming responses

Local-First Value

Unlike cloud-based coding assistants, Olly keeps all data local:
  • No API calls to external services
  • Model runs locally via llama-cpp-python
  • Privacy-first for sensitive codebases
  • Works offline

Developer Velocity

  • Single agent, multiple interfaces (TUI + Web)
  • Shared tool registry and policy engine
  • Unified trace store for both interfaces

What’s Next

Phase 2: Web Chat UI

  • Next.js frontend connecting to /api/chat + /ws
  • Message history persistence
  • Real-time token streaming

Future Enhancements

  • Authentication for multi-user support
  • Rate limiting
  • Metrics endpoint for monitoring