云依赖的 AI 工具与开发者隐私之间的矛盾已成为 AI 辅助软件开发中最具决定性的辩论之一。GitHub Copilot 和 Cursor 等服务提供了令人印象深刻的代码补全功能,但它们需要将你的代码发送到外部服务器。对于处理专有代码、在受监管行业工作或只是不愿与云服务分享工作成果的开发者来说,这是无法接受的。答案是本地 AI,而 Twinny 是访问它的最佳方式之一。
Twinny 是一个免费、开源的 VS Code 扩展,将本地 LLM 推理直接带入你的编辑器。它连接到 Ollama——流行的本地模型运行器——并提供 AI 代码补全和聊天辅助,无需任何数据离开你的机器。没有订阅、没有速率限制、没有云依赖。只有一个在你的硬件上运行的本地模型,集成到你的开发工作流程中。
使用体验与 GitHub Copilot 非常相似。当你输入时,Twinny 以幽灵文本形式建议补全。你可以按 Tab 接受,或继续输入以优化。行内聊天面板让你可以询问关于代码的问题、请求重构或生成新代码——全部通过一个在初始下载后无需运行成本的本地模型运行。质量取决于你选择的模型,社区已收敛到几个优秀的选项,可与大多数日常编码任务的云解决方案相媲美。
功能比较
Twinny 通过其 VS Code 集成提供了一套全面的 AI 辅助编码功能:
| 功能 | Twinny (本地) | GitHub Copilot | Cursor |
|---|---|---|---|
| 代码补全 | 行内幽灵文本 | 行内幽灵文本 | 行内幽灵文本 |
| 聊天 | 侧边面板 + 行内 | 侧边面板 | 内建 |
| 隐私 | 完全本地 | 依赖云 | 依赖云 |
| 模型选择 | 任何 Ollama 模型 | OpenAI 专有 | GPT-4 / Claude |
| 成本 | 免费 | 10 美元/月 | 20 美元/月 |
| 速率限制 | 无 | 有(每小时) | 有(按使用层级) |
| 离线 | 是(使用已下载模型) | 否 | 否 |
| 自定义提示词 | 用户定义 | 有限 | 有限 |
Twinny 工作流程
下图说明 Twinny 如何通过本地栈处理代码补全请求:
sequenceDiagram
participant VS as VS Code 编辑器
participant TW as Twinny 扩展
participant Ollama as Ollama 服务器
participant Model as 本地 LLM 模型<br>(例如 CodeGemma 7B)
participant GPU as GPU / CPU
VS->>TW: 用户输入代码(按键事件)
TW->>TW: 提取上下文(当前文件、光标位置)
TW->>TW: 从上下文和前缀构建提示词
TW->>Ollama: POST /api/generate (提示词, 模型, 上下文)
Ollama->>Model: 加载/保持模型在内存中
Model->>GPU: 执行推理
GPU-->>Model: 生成的补全 Token
Model-->>Ollama: 流式补全 Token
Ollama-->>TW: 流式响应
TW->>TW: 解析补全,过滤质量
TW->>VS: 显示幽灵文本建议
VS->>VS: 用户按 Tab 接受
VS->>TW: 补全已接受每次按键都会触发此管线,在现代 GPU 上使用 7B 模型通常在 200-500 毫秒内完成。Twinny 扩展处理上下文提取、提示词构建和结果过滤,而 Ollama 管理模型生命周期和推理。
Twinny 的推荐模型
Twinny 输出的质量在很大程度上取决于模型的选择:
| 模型 | 参数 | 代码质量 | 速度 | VRAM | 最适用于 |
|---|---|---|---|---|---|
| CodeGemma | 7B | 优秀 | 快 | 6GB | 通用代码补全 |
| DeepSeek-Coder | 6.7B | 优秀 | 快 | 6GB | 复杂代码生成 |
| StarCoder2 | 7B | 非常好 | 快 | 6GB | 多语言支持 |
| Qwen 2.5 Coder | 7B | 非常好 | 快 | 6GB | 中文 + 英文代码 |
| Llama 3.1 | 8B | 好 | 中等 | 8GB | 聊天 + 通用编码 |
| Qwen 2.5 Coder | 14B | 优秀 | 中等 | 12GB | 高质量补全 |
开始使用
要开始使用 Twinny,首先安装 Ollama 并下载模型,然后在 VS Code 中安装 Twinny 扩展:
# 安装 Ollama 并下载代码模型
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull codegemma
# 然后在 VS Code 扩展面板中搜索 "Twinny"
Twinny GitHub 仓库 提供全面的设置指南、配置提示,以及关于模型偏好和性能调优的社区讨论。
常见问题
什么是 Twinny?
Twinny 是一个免费、开源的 VS Code 扩展,使用通过 Ollama 本地运行的 LLM 提供 AI 代码补全和聊天功能。它是 GitHub Copilot 的隐私优先替代方案,没有云依赖、数据不会离开你的机器,也没有订阅费用。
Twinny 与 GitHub Copilot 相比如何?
Twinny 是完全本地的,而 Copilot 是基于云的。Twinny 的补全取决于你本地模型的质量(Llama 3、Qwen、CodeGemma 等),而非 Copilot 的专有 OpenAI 模型。Twinny 提供无限补全且无需订阅,而 Copilot 则有 10 美元/月的费用和速率限制。
哪些模型最适合 Twinny?
对于代码补全,专用代码模型如 CodeGemma、StarCoder2 和 DeepSeek-Coder 表现最佳。对于聊天式辅助,通用模型如 Llama 3 和 Qwen 2.5 效果很好。7B 参数的模型通常能达到质量和速度的最佳平衡。
Twinny 需要什么硬件?
对于 7B 参数模型:8GB RAM(建议 16GB+)、任何现代 CPU,以及 6GB+ VRAM 的 GPU(Apple Silicon 效果良好)。对于更大的模型,需要更多内存和 GPU 性能。即使在没有 GPU 的情况下,使用 4 位量化的模型在 CPU 上也能实现合理的补全。
Twinny 真的免费吗?
是的,Twinny 在 MIT 许可下完全免费且开源。没有订阅、没有使用限制、没有数据收集。唯一的成本是运行本地模型的电费和存储模型权重的空间。
延伸阅读
- Twinny GitHub 仓库 – 源代码、版本和社区讨论
- Ollama 官方网站 – 驱动 Twinny 推理的本地 LLM 运行器
- Ollama 模型库 – 可用于本地推理的模型
- CodexBar for macOS – 另一个 macOS 菜单栏的本地 AI 编码工具
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!