twinnydotdev/twinny

Open-source AI coding assistant for VS Code. Coding agent, code completion, chat, edits and reviews with local or hosted models. Your models, your infrastructure.

twinny – 适用于 VS Code 的本地 AI 编码助手

它是什么 – twinny 是一个免费、开源的 Visual Studio Code 扩展,提供基于 LLM 的代码补全、聊天、内联编辑、代码审查、提交信息生成等功能,同时将所有模型推理置于您的控制之下。扩展与您选择的 模型服务器 通信——本地 Ollama/LM Studio/llama.cpp 实例、局域网中的另一台计算机、托管 API(OpenAI、Anthropic 等)或您自行运行的团队级网关。


核心功能

功能 您获得的内容 工作原理
代码补全 幽灵文本建议,在您输入时填充行中间。 扩展将当前文件、导入、最近编辑和语言服务器信息发送到模型服务器,服务器流式返回针对 ~7B 模型调优的补全。
内联编辑 描述更改(Ctrl+I)并接收可逐块接受或拒绝的差异。 提示包含描述和相关代码;模型返回编辑后的版本,显示为 VS Code 差异视图。
聊天 侧边栏中的对话式 UI;您可以附加文件、符号、问题面板、git 差异、终端输出或使用 @ 进行工作区搜索。 每条消息与所选上下文一起发送到服务器;回复显示在聊天窗格中,并可保留以供后续参考。
代理模式(实验性) 让模型读取、搜索、编辑文件并在您的工作区中运行命令,每一步都显示。 聊天中的切换(或 Shift+Tab)启用循环,模型发出 VS Code 命令;除非您选择退出,否则扩展会请求确认。
工作区索引 对项目进行混合关键词加向量搜索,在到达模型之前重新排序。 文件在保存时被索引;小型嵌入服务在服务器上运行,并为查询返回最相关的片段。
代码审查与提交信息 审查整个工作树、分支或 GitHub PR;从暂存差异生成提交信息。 扩展从差异构建提示,并要求模型生成审查或简洁的提交描述。
终端集成 描述命令,在运行前查看生成的 shell 行,并在失败时获得自动修复。 模型接收描述和当前终端上下文,返回命令字符串,twinny 可以执行它或在出错时建议修复。
提示模板与可重绑定命令 编辑每个功能使用的系统提示;将任何功能绑定到自定义快捷键。 模板是随扩展提供的纯 JSON 文件;可在 VS Code 中编辑。

架构

  • VS Code 扩展(src/extension)实现每个功能,并通过轻量级线协议(src/protocol)与后端通信。
  • 模型网关(src/gateway)是一个小型 Node.js 服务器(twinny-server),负责路由请求、强制执行每用户密钥、记录使用情况,并可选择执行团队策略。可通过 npx twinny-server quickstart 启动。
  • 模型提供者 – twinny 支持多种后端:本地 Ollama/LM Studio/llama.cpp、远程 OpenAI 兼容 API、点对点设备连接和团队网关。
  • 工作区索引 – 混合关键词/向量索引,在文件保存时保持更新;嵌入在服务器端生成。
  • 团队功能 – 网关可管理席位、使用配额、许可、SSO、GitHub/GitLab/Bitbucket 插件、Slack/Discord/Teams 通知、审计日志、Prometheus 指标以及 Docker/Helm 部署。

快速入门(用户视角)

  1. 从 VS Code Marketplace 安装 twinny 扩展(需要 VS Code 1.93+)。
  2. 运行您选择的模型服务器(例如 ollama serve、lm-studio 或托管 API)。twinny 会提示您选择用于补全、聊天等的模型。
  3. 开始编码——补全以幽灵文本出现,打开侧边栏进行聊天,按 Ctrl+I 进行内联编辑等。

对于团队,运行一次网关:

npx twinny-server quickstart

然后通过生成的链接邀请开发者;管理页面允许您设置默认模型、查看每用户使用情况并启用可选插件。


安装与部署

  • VS Code 扩展 – 从 Marketplace 安装或通过 code --install-extension rjmacarthy.twinny 安装。
  • 网关 – 作为 npm 包 twinny-server 提供;也提供 Docker 镜像和用于 Kubernetes 的 Helm chart(deploy/helm)。
  • 模型后端 – 任何兼容 OpenAI 的服务器、Ollama、LM Studio、llama.cpp、QVAC、Oobabooga、LiteLLM、Open WebUI 等。

许可与定价

  • 扩展和网关均为 MIT 许可,免费使用。
  • 团队席位 – 最多五名开发者永久免费。额外席位在 30 天试用后(无需信用卡)每位开发者每月 15 美元。定价和试用详情见 twinny.dev。
  • 可选付费许可证解锁团队级策略、记录、插件、SSO 和其他企业级功能。许可证检查在本地执行;网关从不回传数据。

社区与贡献

  • 在 GitHub 上接受问题和拉取请求:https://github.com/twinnydotdev/twinny。
  • CONTRIBUTING.md 文件描述了构建(npm run build)和测试(xvfb-run -a npm test)工作流程。
  • 讨论、问题和支持可通过 GitHub Discussions 或 @twinnydotdev X 账号获取。

简而言之: twinny 让您完全在自己的网络内进行 AI 辅助开发,提供丰富的编码辅助功能和可选的团队级管理,全部采用开源 MIT 许可证。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目