Windows11 VS code 安装 Cline 调用 Github MCP 配置过程坑点汇总

背景

为了调研 MCP 在 windows 上如何使用本地的命令执行一些操作而实现自动化的过程,在 B 站视频的指导下,进行相应填坑过程,最终运行起来,并实现 github 自动化编程并提交代码的过程。

B 站 Cline 视频演示

Cline

Cline 是一款 Visual Studio Code (VSCode) 的开源 AI 编程辅助插件,主要用于通过人工智能增强开发者的编码体验,帮助自动化和加速软件开发流程。它不仅限于代码补全,而是作为一个智能代理(agent),能够理解项目上下文、执行复杂任务并与开发环境交互。以下是 Cline 的主要用途和功能:

自动化编程任务:

  • Cline 可以通过自然语言指令执行复杂的编程任务,例如创建新文件、编辑现有代码、运行终端命令等。例如,你可以要求它"创建一个 Spring Boot 应用"或"修复某个 bug",它会分解任务并逐步完成。

代码生成与优化:

  • 它能根据用户需求生成代码模板、优化现有代码或进行大规模重构。Cline 还能分析代码结构,自动修复语法错误、缺少的导入等常见问题。

实时调试与运行时交互:

  • Cline 支持与运行时环境交互,例如启动本地 Web 服务器、检查页面渲染、捕获控制台日志或修复运行时错误。它甚至可以通过无头浏览器模拟用户操作(如点击、输入)来调试前端问题。

多模型支持与灵活性:

  • Cline 支持多种 AI 模型(如 Anthropic 的 Claude 3.5 Sonnet、OpenAI 的 GPT-4、Google Gemini、DeepSeek R1 等),并允许用户根据任务需求切换模型。它还支持本地模型(如通过 LM Studio 或 Ollama),提供隐私和成本控制。

版本控制与安全:

  • Cline 提供工作区快照功能,每次 AI 操作后自动保存状态,允许用户随时查看更改差异或回滚到之前版本。每次文件修改或命令执行都需要用户批准,确保安全性和可控性。

项目上下文理解:

  • 通过分析文件结构、源代码 AST 和正则搜索,Cline 能快速适应大型复杂项目,提供精准的建议和修改。它还能通过 .clinerules 文件或自定义指令遵循项目特定的编码规范。

终端命令执行:

  • 利用 VSCode 的终端集成,Cline 可以执行安装包、运行测试、部署应用等命令,并根据输出动态调整后续操作。

多语言和框架支持:

  • Cline 支持多种编程语言和框架,尤其对主流框架(如 Spring Boot、Next.js)有较好的支持。用户可以用自然语言描述需求,Cline 会生成相应的代码结构。

增强系统管理员工作:

  • 对于系统管理员,Cline(及其分支 Roo Code)可通过自然语言生成和优化 PowerShell 或 Bash 脚本,自动化 CLI 任务。

成本透明与管理:

  • Cline 实时跟踪 API 使用的 token 数量和成本,帮助用户优化模型选择和控制开支。

Cline 安装 github MCP 常见问题

如何安装

在 cline 的插件管理里面搜索

github 源码地址:

https://github.com/modelcontextprotocol/modelcontextprotocol

cline_mcp_settings.json 配置

安装后在 Installed 中可以看到该服务的提供的服务,安装完后,需要我们来配置一个服务 json,B 站课程里面要求改写的地方注意改写,实测不改写在 powershell 里面也不会有啥问题,UP 主估计是在 cmd 控制台下出现的问题。

下面的 autoApprove 是自动授权的一种操作,若不添加,AI 无论操作以下哪种行为都要求我们来授权,比较麻烦,我全勾了。

open router 模型配置

openrouter 的地址:OpenRouter

注意 cline 的模型自动换成 sonnet

这估计不是 bug,而是故意而为,要时刻注意模型是否被切换

VS code 报 Shell Integration Unavailable 问题

知乎一篇帖子写得很全,下面来补补坑

  1. 第一个坑是 powershell 如何安装 7 的命令,这个往往会因为网络问题无法处理安装,你需要配置下 http_proxy,https_proxy ,另外 microsoft.com 默认不会被转发,你需要将其手动追加,这是个关键 地方,否则下面的命令无法执行
bash 复制代码
PS C:\Users\Administrator> winget install --id Microsoft.PowerShell --source winget
尝试更新源失败: winget
执行此命令时发生意外错误:
InternetOpenUrl() failed.
0x80072eff : unknown error
PS C:\Users\Administrator> winget install --id Microsoft.PowerShell --source winget
尝试更新源失败: winget
执行此命令时发生意外错误:
InternetOpenUrl() failed.
0x80072eff : unknown error

https://zhuanlan.zhihu.com/p/25724740375(升级 shell)

Powershell 如何被 vscode 默认调用

在C盘搜索pwsh.exe,查看新的PowerShell装哪了(此时默认的PowerShell还是旧版的),我的是在C:\Program Files\PowerShell\7\pwsh.exe下。然后,在VS Code中按Ctrl + Shift + P,输入并选择 Preferences: Open User Settings (JSON),打开用户设置文件,搜索 terminal.integrated,我不经常用 vscode,所以配置是空的,我直接输入以下内容即可:

bash 复制代码
{
    "terminal.external.windowsExec": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
    "terminal.integrated.defaultProfile.windows": "PowerShell 7",
    "terminal.integrated.profiles.windows": {
        "PowerShell 7":{
            "path": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
            "args": []
        }
    },
}

除了 json 配置外,也有 UI 配置

在VS Code中按Ctrl + Shift + P,输入并选择 Preferences: Open User Settings

Powershell 7 无法升级

需要将 microsoft.com 以 domain-suffix 增加到 clash rules 中去

  1. powershell 的命令 pwsh,不是 powershell,所以你在资源目录里面直接输入 powershell 还是 5 版本,如想找到 pwsh.exe 配置 pycharm terminal,可以用 everthing 搜索 pwsh.exe

查看 powershell 的版本号命令

bash 复制代码
$PSVersionTable.PSVersion  #这个比较难记
host # 这个比较好记

Pycharm 更换 powershell 7 后如何自动切换环境?

powershell 7 支持你开启时,执行一些脚本,powershell 5 不清楚是如何适配的,但是 7 需要配置 ps1 文件,并且开启可执行脚本的命令

bash 复制代码
. : 无法加载文件 C:\Users\Administrator\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本。有关详细信
息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 3
+ . 'C:\Users\Administrator\Documents\WindowsPowerShell\profile.ps1'
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
profile.ps1 内容(网上可找)
bash 复制代码
#region conda initialize
# !! Contents within this block are managed by 'conda init' !!
If (Test-Path "C:\Users\Administrator\anaconda3\Scripts\conda.exe") {
    (& "C:\Users\Administrator\anaconda3\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | ?{$_} | Invoke-Expression
}
#endregion
Microsoft.PowerShell_profile.ps1,因为在此系统上禁止运行脚本

解决方案

解决Win11报错:Microsoft.PowerShell_profile.ps1,因为在此系统上禁止运行脚 本。_profile.ps1,因为在此系统上禁止运行脚本-CSDN博客

bash 复制代码
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
相关推荐
杨杨杨大侠20 小时前
Atlas Mapper 案例 01:初级开发者 - 电商订单系统开发
java·开源·github
MrSYJ21 小时前
Chat Memory你知道怎么用吗
llm·openai·ai编程
绝无仅有1 天前
后端 Go 经典面试常见问题解析与总结
后端·面试·github
绝无仅有1 天前
后端工程师面试常见问题与回答解析总结
后端·面试·github
飞哥数智坊1 天前
多次尝试用 CodeBuddy 做小程序,最终我放弃了
人工智能·ai编程
逛逛GitHub2 天前
发现一个 AI 大模型服务质量榜单。
github
量子位2 天前
马斯克周末血裁xAI 500人
人工智能·ai编程
算家计算2 天前
OpenAI最强编程模型GPT-5-Codex发布!可独立编程7小时,编程效率提升10倍
人工智能·ai编程·资讯
就是帅我不改2 天前
揭秘Netty高性能HTTP客户端:NIO编程的艺术与实践
后端·面试·github
uhakadotcom2 天前
静态代码检测技术入门:Python 的 Tree-sitter 技术详解与示例教程
后端·面试·github