Skip to content

Teams

twinny is free and open source for individuals, and stays that way. Teams get one more thing: a gateway. It is a small server (twinny-server) that runs on the machine with the models and serves chat, autocomplete and embeddings to every developer’s VS Code, so the team shares one GPU box instead of everyone running their own models.

developer laptops your GPU machine
┌──────────────────┐ ┌─────────────────────────────────────┐
│ VS Code + twinny │ ─── HTTPS ───────► │ twinny-server ──► Ollama / llama.cpp │
│ (personal key) │ │ keys · usage · admin page · licence │
└──────────────────┘ └─────────────────────────────────────┘

What you get

  • Code stays in the building. Prompts go to your gateway and your backend, nowhere else. The gateway makes no external requests and sends nothing to twinny.
  • A key per developer. Keys are created and revoked on the admin page or the command line, take effect without a restart, and are stored as hashes.
  • Usage per person and per model. Requests, failures and token counts, kept for as long as you choose. Content is kept only if you switch on recording, which every developer is told about.
  • One connection for the team. A developer pastes the gateway address and their key once; the admin’s default models for chat, autocomplete and embeddings are applied for them.
  • Admin page. Backend health, usage charts, keys, providers and models, plugins, and the plan, from a browser.
  • An audit trail. Every admin change goes to a hash-chained audit log you can verify and export; admin keys can be read-only; /metrics serves Prometheus.

Plans

FreeTeamEnterprise
Developers (active keys)up to 5the free 5, plus the seats you buyfrom 50
Everything aboveyesyesyes
Team policy: team-only providers, locked defaults, routing rules, a team system promptnoyesyes
Recording: keep chat, autocomplete and embedding content; review it; export training datanoyesyes
Plugins: pull requests and issues from GitHub, GitLab, Gitea and Bitbucket reviewed by your own models; Slack, Discord and Teams notifications; SSO sign-in; shared context; backupsnoyesyes
Gateways coveredoneone per licenceany number, one organisation licence
Supportcommunity (GitHub discussions)emailpriority, with a named contact
Runs whereyour machineyour machineyour machines
Costnothing, forever$6 per seat beyond the free 5, per month, billed yearly$10 per seat per month, billed yearly

A seat is an active key. The free plan is not a trial: a team of five runs the gateway with no licence, indefinitely, with everything the gateway does: the admin page, usage per developer, keys, invite links, team GPU pooling, live provider configuration, the audit log and metrics. Beyond five, a licence token from twinny raises the seat count and switches on policy, recording and plugins. The token is installed once and checked locally; the gateway never phones home. Enterprise adds one licence for the whole organisation, priority support from a named contact, and invoice or purchase-order billing. See Licensing and seats.

Where to start

  1. Run a gateway on the machine with the models. Ten minutes.
  2. Send each developer an invite link from the admin page; opening it in VS Code connects them to the team with nothing to paste.
  3. Past five developers, get a licence, or a 30-day trial first.

The full operator reference, including configuration fields, routes, running as a service and troubleshooting, is in the repository at docs/gateway.md.