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 インスタンス、LAN 上の別のコンピュータ、ホスト型 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 部署。
快速入门(用户视角)
- 从 VS Code Marketplace 安装 twinny 扩展(需要 VS Code 1.93+)。
- 运行您选择的模型服务器(例如
ollama serve、lm-studio或托管 API)。twinny 会提示您选择用于补全、聊天等的模型。 - 开始编码 – 补全以幽灵文本形式出现,打开侧边栏进行聊天,按 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 或
@twinnydotdevX 账号获取。
简而言之: twinny 让您完全在自己的网络内进行 AI 辅助开发,提供丰富的编码辅助功能和可选的团队级管理,全部采用开源 MIT 许可证。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト