changelog

4.1.1 2026-09-18

Teams. One gateway on your own hardware serves twinny to the whole team.

  • twinny-server, a dependency-free Node package built from src/gateway: quickstart finds a local model server, writes a configuration, makes an admin key and serves; init, serve, keys, invites, usage, license, recordings, reset. Any OpenAI-compatible backend, Ollama, LM Studio, llama.cpp, QVAC or a hosted API behind named aliases.
  • Protocol v1 at /twinny/v1: models, chat, fim and embeddings streamed as NDJSON, with typed error kinds; the extension's Twinny gateway provider speaks it with a token kept in VS Code secret storage.
  • A key per developer, stored as a hash, created and revoked live on the admin page or the CLI; per-key limits; a shared token that can be retired.
  • Invite links (vscode:// URI handler) that open VS Code and connect with nothing to paste; one use, seven days, no seat until opened. Sign-in with a short code as the alternative.
  • Usage per person and per model: requests, failures, token counts, indexing runs; retention you choose; never the content.
  • Admin page at /admin: overview, usage charts, people, policy, providers and models (edited live), plan and licence, recordings.
  • Team GPU pooling. A developer flips Share this computer and their local server serves the team through a WebSocket to the gateway: no port to open, consent shown, least-loaded first, failover when a sharer goes offline.
  • Seat licensing. Five seats free for good; a signed twl1. token bought by card raises the count and switches on policy and recording. Checked locally, no call home, 30-day notice and 14-day grace.
  • Team policy (licence): team-gateway-only providers and locked defaults, shown for consent before connecting and enforced by the extension while connected. Leave team is one click.
  • Recording (licence): keep chat, autocomplete and embedding content on the gateway, disclosed to every developer, reviewed and exported as training data from the admin page.
  • Docker image ghcr.io/twinnydotdev/twinny-server with a compose file; demo mode (serve --demo) for a read-only public admin page with one-hour guest keys.
  • Autocomplete fix: a client that hung up after the first chunk no longer logs the request as cancelled.