搭建本地的 AI Copilot 编程助手 简介 本文档介绍了如何在本地搭建类似 Copilot 的编程助手,以帮助您写出更加优美,效率的代码。 从过本课程你将学会,使用 Ollama 集成本地编程助手,其中包括 Continue Aider 注意: 我们讲主要讲解 VScode 的安装和基本使用方式。jetbrain 使用方式和 VScode 大同小异,参考 vscode 即可。 jetbrain 可以使用的功能和可配置项不如 VScode 丰富,建议使用 VScode 本地搭建 Copilot 对机器要求较高,特别是代码自动补全部分,若无特殊需求,建议购买 API 使用。 一、AI 编程介绍 1.1 为什么我们要使用 AI 编程?
本文档介绍了如何在本地搭建类似 Copilot 的编程助手,以帮助您写出更加优美,效率的代码。
从过本课程你将学会,使用 Ollama 集成本地编程助手,其中包括
注意:
- 我们讲主要讲解 VScode 的安装和基本使用方式。jetbrain 使用方式和 VScode 大同小异,参考 vscode 即可。
- jetbrain 可以使用的功能和可配置项不如 VScode 丰富,建议使用 VScode
- 本地搭建 Copilot 对机器要求较高,特别是代码自动补全部分,若无特殊需求,建议购买 API 使用。
大语言模型问世已久,但是其表现最出色的领域一直是编程领域,原因如下:
ollama pull llama3:8bollama pull starcoder2:3bollama pull nomic-embed-textO在 VScode 插件库安装模型
搜索 Continue ,看到如下的图标,点击 install 或者安装

(推荐操作)强烈建议将"继续"移至 VS Code 的右侧边栏。这有助于在使用"继续"时保持文件资源管理器打开,并且可以使用简单的键盘快捷键切换侧边栏。

配置 Ollama
方式1:点击 Select model----选择 Add model----点击 Ollama----选择 Autodetect
这样,就可以自动选择刚刚我们在 Ollama 上下载好的模型进行代码推理工具了。


方式2:点击如图所示的设置按钮,进入配置页面,粘贴如下配置
{ "models": [ { "title": "Ollama", "provider": "ollama", "model": "AUTODETECT" } ], "tabAutocompleteModel": { "title": "Starcoder 2 3b", "provider": "ollama", "model": "starcoder2:3b" }, "embeddingsProvider": { "provider": "ollama", "model": "nomic-embed-text" } }


cmd+L ( MacOS ) / ctrl+L ( Windows )cmd+J ( MacOS ) / ctrl+J ( Windows )
tab ( MacOS ) / tab ( Windows )tab ( MacOS ) / tab ( Windows )
cmd+I ( MacOS ) / ctrl+I ( Windows )cmd+I ( MacOS ) / ctrl+I ( Windows )
@codebase ( MacOS ) / @codebase ( Windows )
@docs ( MacOS ) / @docs ( Windows )@docs ( MacOS ) / @docs ( Windows )官方网站:https://docs.continue.dev/intro
Aider 是基于命令行的编程助手,比起集成开发环境,它拥有顶级的系统权限和功能使用,但同时意味着它更难上手。
以下教程将教会你安装 Aider 以及连接到 Ollama 服务
此外,请确保:
Aider 的使用过程中对 python 环境有大量依赖,建议使用 conda 新开一个环境或者使用 python 新建虚拟环境,以下使用 conda 演示
新起一个 conda 虚拟环境(python 虚拟环境同理)
conda create -n aider_env python=3.9
进入该虚拟环境
conda activate aider_env
按照以下命令安装
python -m pip install aider-chat
启动命令行,按照如下设置环境变量
export OLLAMA_API_BASE=http://127.0.0.1:11434 # Mac/Linux环境 setx OLLAMA_API_BASE http://127.0.0.1:11434 # Windows环境,设置以后重启shell工具
cd 进入自己本地的代码仓库位置,若没有,Aider 会自动在当前目录下初始化 git 仓库
#example cd D:\Myfile\handy-ollama\handy-ollama\handy-ollama
使用以下命令运行 Aider
aider --model ollama/<你的模型名字> #example #aider --model ollama/llama3:8b
你也可以使用 .env 文件配置 Aider 相关信息
比如
## 指定OPENAI_KEY(如果有的话) OPENAI_API_KEY=xxx ## 指定你使用model AIDER_MODEL=ollama/llama3:8b
更多配置参考:https://aider.chat/docs/config/dotenv.html
进入以下页面即成功

你现在可以跟他聊天,或者给他发送一些指令,它可以直接修改你的代码

你可以问它一些关于这个仓库的基本信息

Add Files 添加文件
/add <file1> <file2> ...
然后你就可以根据这些文件来做一些提问
示例:



使用 Aider 直接对代码文件或者其他文件进行修改,比如对 Readme最后一行加一个总结

查看实际文件

如果不希望 Aider 对文件进行实际操作,可以在对话前添加操作符 /ask
使用 /drop 删除所有添加入的文件
常用斜杠命令列表:
| 命令 | 描述 |
|---|---|
/add |
将文件添加到聊天中,以便 GPT 可以编辑或详细审查它们 |
/ask |
询问关于代码库的问题,而不编辑任何文件 |
/chat-mode |
切换到新的聊天模式 |
/clear |
清除聊天历史 |
/clipboard |
将剪贴板中的图像/文本添加到聊天中(可选择为图像提供名称) |
/code |
请求对代码进行更改 |
/commit |
提交在聊天外对仓库所做的编辑(提交信息可选) |
/diff |
显示自上次消息以来的更改差异 |
/drop |
从聊天会话中移除文件以释放上下文空间 |
/exit |
退出应用程序 |
/git |
运行 git 命令 |
/help |
询问关于 aider 的问题 |
/lint |
对提供的文件或聊天中的文件进行代码检查和修复(如果未提供文件) |
/ls |
列出所有已知文件,并指示哪些文件包含在聊天会话中 |
/map |
打印当前仓库信息 |
/map-refresh |
强制刷新仓库信息并打印出来 |
/model |
切换到新的语言模型 |
/models |
搜索可用模型列表 |
/quit |
退出应用程序 |
/read-only |
将文件添加到聊天中,仅供参考,不可编辑 |
/run |
运行 shell 命令,并可选择将输出添加到聊天中(别名:!) |
/test |
运行 shell 命令,并在非零退出代码时将输出添加到聊天中 |
/tokens |
报告当前聊天上下文使用的令牌数量 |
/undo |
如果最后一次 git 提交是由 aider 完成的,则撤销该提交 |
/voice |
录制并转录语音输入 |
/web |
抓取网页,转换为 markdown 并添加到聊天中 |
更多用法请参照 https://aider.chat/docs/usage.html