字节笔记本

2026年2月22日

ollama-copilot:使用本地 Ollama 模型替代 GitHub Copilot

本文介绍 ollama-copilot,一个可以将本地 Ollama 模型作为 GitHub Copilot 替代方案的开源工具。通过简单的代理配置,开发者可以在 Neovim 和 VSCode 中使用本地 AI 模型进行代码补全,无需订阅费用。

项目简介

ollama-copilot 是一个开源的代理服务器项目,由 ethanrous 开发维护(fork 自 bernardo-bruning/ollama-copilot)。该项目使用 Go 语言编写,通过创建一个本地代理服务器,将 IDE 的 Copilot 请求转发到本地运行的 Ollama 模型,实现完全本地化的 AI 代码补全功能。

核心特性

  • 完全本地化:所有代码补全在本地运行,无需联网,保护代码隐私
  • 零订阅费用:无需 GitHub Copilot 订阅,使用免费的 Ollama 模型
  • 多 IDE 支持:支持 Neovim 和 VSCode 两种主流编辑器
  • 简单配置:通过代理设置即可接入,无需复杂插件开发
  • HTTP 代理支持:支持通过 HTTP 代理访问

技术栈

  • Go:后端代理服务器实现
  • Ollama:本地大语言模型运行环境
  • CodeLlama:默认使用的代码补全模型

安装指南

前置要求

  • 已安装 Ollama
  • Go 环境(用于安装 ollama-copilot)
  • Neovim 或 VSCode 编辑器

安装 Ollama

bash
# 使用官方安装脚本
curl -fsSL https://ollama.com/install.sh | sh

或参考 手动安装指南

下载模型

bash
# 下载默认支持的 codellama:code 模型
ollama pull codellama:code

安装 ollama-copilot

bash
go install github.com/bernardo-bruning/ollama-copilot@latest

运行代理服务器

确保 $PATH 包含 $HOME/go/bin$GOPATH/bin,然后在终端运行:

bash
# 添加到 shell 配置文件(如 ~/.bashrc 或 ~/.zshrc)
export PATH="$HOME/go/bin:$GOPATH/bin:$PATH"

# 启动代理服务器
ollama-copilot

代理服务器默认运行在 http://localhost:11435

IDE 配置

Neovim 配置

  1. 安装 copilot.vim 插件
  2. 在配置中添加以下变量:
vim
let g:copilot_proxy = 'http://localhost:11435'
let g:copilot_proxy_strict_ssl = v:false

VSCode 配置

  1. 安装 GitHub Copilot 扩展
  2. 登录 GitHub 账号
  3. 打开设置,添加以下配置:
json
{
  "github.copilot.advanced": {
    "debug.overrideProxyUrl": "http://localhost:11437"
  },
  "http.proxy": "http://localhost:11435",
  "http.proxyStrictSSL": false
}

使用示例

配置完成后,在支持的编辑器中编写代码时:

  1. 确保 ollama-copilot 代理服务器正在运行
  2. 正常编写代码,Copilot 扩展会自动发送补全请求
  3. 本地 Ollama 模型处理请求并返回补全建议
  4. 编辑器显示 AI 生成的代码建议

项目状态

已完成

  • 实现代码补全 API(Fill-in-the-middle)
  • 支持灵活配置模型(当前仅支持 codellama:code)
  • 创建自安装功能

待完成

  • Windows 系统支持
  • 使用文档完善

注意事项

  • 当前版本主要支持 Linux/macOS 系统,Windows 支持仍在开发中
  • 默认使用 codellama:code 模型,其他模型可能需要额外配置
  • 首次运行时需要下载模型,可能需要较长时间
  • 代理服务器需要保持运行状态才能正常使用补全功能

项目链接

许可证

MIT License

分享: