雲端依賴的 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助你行銷加分!