乐于分享
好东西不私藏

WPF 工具 + 多模型 AI 代理让 Copilot 用上国产大模型

WPF 工具 + 多模型 AI 代理让 Copilot 用上国产大模型

前言

GitHub Copilot 这东西确实好用,但它默认只支持 OpenAI 和 Anthropic 那几个海外模型。DeepSeek 和小米 MiMo 在中文代码理解上其实更对味儿,性价比也高,可惜 Copilot 用不上。

CopilotProxy 做的就是把这个口子打通。它起一个本地代理服务,把 Copilot 的请求转给 DeepSeek 和 MiMo,IDE 那边不用改任何配置。附带一个 WPF 小窗口,点几下就能配好 API Key、启动服务、看日志,不用跟命令行打交道。

项目介绍

CopilotProxy 是一个本地代理服务,在 GitHub Copilot 与国产大模型之间做协议转换。它模拟 Ollama 的 API 格式,让 Visual Studio 2026 和 VS Code 里的 Copilot Chat 能直接调用 DeepSeek V4 Pro/Flash 和 MiMo V2.5 系列模型。

项目分两部分:WPF 桌面管理工具负责配置、启停、日志查看;Node.js 脚本服务负责实际的 API 转发、提示词压缩、会话管理和工具调用标准化。整体基于 MIT 协议开源,代码在 GitHub 上。

项目功能

模块
功能说明
多模型接入
支持 DeepSeek V4 Pro/Flash、小米 MiMo V2.5 / Pro
WPF 管理界面
可视化配置 API Key、一键构建/启动/停止/重启、实时日志显示
单实例 + 托盘
确保只有一个实例运行,关闭时收进托盘,双击唤醒
Ollama 协议兼容
模拟 Ollama API,VS / VS Code 原生接入,无需改配置
自动推理模式
Pro 模型用最大推理强度(精准但稍慢),Flash/非 Pro 用最低推理(响应快)
提示词压缩
9 级压缩可选(off / lite / caveman / rtk / ultra / delta / stacked / aggressive / standard)
会话保活
自动维持 KV Cache,降低 API 调用成本
高并发控制
推理模型 5 并发、标准模型 15 并发
Token 用量统计
每轮对话输出 prompt/completion/total 用量日志
透传代理
未匹配的路由可转发到自定义上游 API,带 SSRF 防护
工具调用
完整 Function Calling 支持,Schema 自动校验补全、JSON 修复
中英文国际化
WPF 与脚本服务双向同步语言,默认中文
版本检测
一键检查 GitHub 最新版本,自动提示更新

项目特点

IDE 零改动:模拟 Ollama 协议,VS 和 VS Code 里直接选 Ollama 提供程序就能用

国产模型优先:DeepSeek 和 MiMo 在中文代码、推理能力上不输海外模型,成本更低

傻瓜式管理:WPF 界面把所有操作收拢了,配 Key、启停、看日志不用敲命令

智能推理切换:Pro 模型自动开高推理,Flash 自动切低推理,不用手调

提示词压缩省 Token:9 档压缩级别,对话越长省得越多

会话保活省钱:维持 KV Cache,同一会话后续请求不走重复计算

高并发不排队:推理模型 5 路并发,普通模型 15 路,响应快

工具调用不翻车:Schema 自动补全,AI 生成的残缺参数能自动修好

安全兜底:SSRF 防护、终端命令白名单、API Key 本地加密存储

跨运行时兼容:支持 Bun 和 Node.js,Bun 还能编译成单 exe

项目技术

技术分类
具体选型
用途
桌面管理
WPF + .NET 10
配置界面、服务控制、日志展示
代理服务
Node.js / Bun + Hono
HTTP 路由、API 转发
协议模拟
Ollama API
兼容 Copilot 的模型接入协议
提示词压缩
自研 9 级压缩引擎
减少 Token 消耗
会话保活
KV Cache 维持机制
复用推理缓存,降低成本
并发控制
队列 + 指数退避重试
限流、容错
工具调用
Schema 标准化 + 自动补全
Function Calling 修复
国际化
资源文件 + i18n 模块
中英文双语(156+ 翻译 Key)
单实例
Mutex + NamedPipe
防止重复启动
日志
AvalonEdit 控件 + ANSI 过滤
实时彩色日志显示
构建打包
build.cmd / build-bun.cmd
编译为独立 exe 或可移植文件夹

架构分层清晰:WPF 管界面和进程,脚本服务管 API 转发。两个进程通过 HTTP 和命令行参数通信,WPF 切语言时会同步给脚本服务。

项目效果

安装配置:下载源码或发布包,双击打开 WPF 工具。主界面分上下两块,上面是按钮区(构建、设置、启动、停止、重启、重建、检查更新、清空),下面是日志输出框。

点“设置”弹窗出来,填 DeepSeek API Key 或小米 MiMo API Key,其他参数保持默认就行。保存后配置自动同步到脚本目录的 .env 文件里。

构建和启动:点“构建”,脚本被编译打包到 .dist 文件夹。构建完成按钮亮起来,点“启动”,日志框里开始刷服务启动信息,看到 Server running on http://127.0.0.1:11434 就说明好了。

配置 IDE:打开 VS 2026,Copilot Chat 面板里点模型下拉菜单 → 管理模型 → 提供程序选 Ollama,端点填 http://localhost:11434,点添加。模型列表里会出现带 [DEEPSEEK] 和 [MIMO] 前缀的选项。VS Code 操作类似,装好 GitHub Copilot 扩展后同样方式添加 Ollama 提供程序。

实际使用:在 Copilot Chat 里选 [DEEPSEEK] deepseek-v4-pro,问一个“用 C# 写一个 Modbus RTU 的 CRC16 校验”,几秒钟后返回代码。日志框里能看到完整的请求响应过程,末尾有一行 [token] prompt:245 completion:312 total:557。切到小米 MiMo,回答风格不太一样,中文表述更自然一些。

工具调用:问 Copilot “帮我查一下当前文件夹里有哪些 .cs 文件”,AI 会调用 list_files 工具,代理服务自动补全缺失的参数,返回结果后 AI 整理成回答。整个过程在日志里能看到工具调用的 JSON 和返回结果。

会话保活:连续多轮对话时,日志里会出现 [keepalive] cache hit for session xxx 的提示,说明 KV Cache 命中,这一轮省掉了重复计算。

托盘和单实例:关掉 WPF 窗口,程序缩到系统托盘,鼠标悬停显示服务状态。再双击桌面快捷方式,不会开第二个窗口,而是把已有的窗口唤醒。这个细节很实用,不会乱。

项目源码

GitHub:https://github.com/shunnet/CopilotProxy

目录结构

CopilotProxy/├── src/│   ├── App.xaml / App.xaml.cs          # 应用入口、单实例、全局异常│   ├── MainWindow.xaml / .cs           # 主界面、日志控件│   ├── MainWindowModel.cs              # MVVM 逻辑│   ├── Language.resx / .en.resx        # 中英文资源│   ├── handler/│   │   ├── CmdHandle.cs                # 脚本进程管理│   │   ├── EnvHandle.cs                # 配置文件读写│   │   └── SingleInstanceHandle.cs     # 单实例实现│   ├── models/EnvConfigModel.cs        # 配置数据模型│   └── script/│       ├── start.cmd / build.cmd       # 启动和构建入口│       ├── package.json                # npm 依赖│       └── src/│           ├── server.js               # 主服务、路由│           ├── snet-handle.js          # 模型管理、API 请求│           ├── token-optimizer.js      # 提示词压缩引擎│           ├── concurrency.js          # 并发队列、重试│           ├── tool-extractor.js       # 工具调用提取│           ├── tool-schemas.js         # VS/VSCode 工具 Schema│           ├── session-keepalive.js    # 会话保活│           └── ...

快速开始:

git clone https://github.com/shunnet/CopilotProxy.gitcd CopilotProxy/src# 用 Visual Studio 2022 打开项目,编译运行 WPF 工具# 或在终端里直接跑脚本服务cd scriptbun run start   # 推荐# 或npm run node

系统要求

  • Windows 10 / 11

  • Visual Studio 2026 18.6.0+(如需使用 Copilot Chat)

  • Node.js 或 Bun(脚本服务运行时)

总结

CopilotProxy 解决的问题很具体:想用国产模型但 Copilot 不让连。解决方案也挺直接——中间加一层代理,把 Ollama 协议翻译给 DeepSeek 和 MiMo。

技术上的几个亮点值得提:提示词压缩 9 档可调,长对话省 Token 效果明显;会话保活把 KV Cache 复用起来,同一会话后续请求不重复算钱;工具调用的 Schema 自动补全,AI 输出不规范时能自动修复,这个在实际使用中帮了大忙。

WPF 管理工具虽然简单,但该有的都有——配 Key、启停、看日志、检查更新,不用去翻命令行。单实例和托盘也是实实在在的体验优化。

如果你在用 GitHub Copilot 但又想试试 DeepSeek 或小米 MiMo,这个项目可以直接上手。开源、MIT 协议、源码全公开,想改哪里改哪里。

关键词

#Copilot代理、#DeepSeek、#小米MiMo、#Ollama协议、#本地代理、WPF、.NET 10、#提示词压缩、#会话保活、#工具调用、Function Calling、VS Code、Visual Studio 2026

最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

作者:小码编匠

出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!
END
方便大家交流、资源共享和共同成长
纯技术交流群,需要加入的小伙伴请扫码,并备注【加群】

推荐阅读

C# 高颜值工业设备监控上位机,支持多参数实时采集

C# 工控开发打造专业级运动控制系统

.NET 8 + WPF 的温湿度远程监测上位机系统

C# + VisionMaster 的通用视觉控制上位机

WinForm 开发的机器视觉自动化上位机

无硬件如何学上位机?C# 开发的雷赛运动控制卡仿真软件

15个高质量开源项目:带你玩转C#运动控制、机器视觉与现代化UI

WinForm + SunnyUI 的智能图书管理系统(用户/管理员双端)

Element 风格的 WPF 后台管理系统,免费开源,开箱即用

开箱即用的 .NET 8 + Avalonia + SukiUI 桌面应用模板

.NET 8 + S7.Net Plus 开源PLC监控系统,支持西门子与Modbus双协议

5分钟搭建工控 HMI:WinForm 状态/报警/趋势控件库及模板

WPF + Halcon/OpenCvSharp 的锂电池极耳视觉检测系统

C# 自动化设备运动控制上位机模拟系统

.NET 8+MAUI跨平台 IoT 移动端,实时监控水温、转速与光强

一款高效易用的 WinForm 端口扫描工具

WPF 表格终于能筛选了!支持嵌套对象、百万级数据、开箱即用

C# 工业机器视觉平台,实现 OpenCV 与 深度学习算法的可视化编排

填补.NET 生态空白:面向工业视觉的高性能 3D 点云/网格处理库

WPF 打造可视化标签打印工具:自由绘制,所见即所得

WPF + MVVM架构的开源高效工业级电池管理系统(BMS)

.NET 9+ Avalonia + Prism 高性能、支持 AOT 跨平台桌面应用

开源、有文档、能上线的 .NET + Vue 通用权限系统

一个真正好用的 .NET 开源短链系统:支持生成 + 实时监控

.NET 开源串口转发工具,工业协议调试 + 自动应答

WPF 工业视觉检测系统:双工位(面阵 + 线扫)独立运行架构

.NET 10 + CQRS + MediatR 一个跨平台文档管理系统

WinForm + Modbus 上位机温湿度数据采集系统

超实用!一个专为工控量身打造的 WinForm 控件库

基于 C# 的轻量级离线工业语音播报方案

.NET 8 高性能跨平台设备健康监测上位机系统

谁说 WinForm 不能高颜值?看这个 Ant Design 无边框收银系统

WinForm + SQL Server 企业物资管理系统(库存、出入库、审批全搞定)

WinForm 做了个医院信息管理系统,支持多角色权限

WPF +虚拟PLC 实现的工业视觉检测线模拟系统

本月.NET干货:流式菜单、高颜值控件库与硬核视觉实战

基于 WinForm、Halcon、OpenCV的多功能图像处理与机器视觉框架

WPF + Halcon + YOLO 工业视觉检测的全能上位机

零依赖!WinForm 车牌识别系统开发全流程(算法实现+模块拆解)

C# 运动控制流程引擎:实现类 PLC 的启动与暂停功能

觉得有收获?不妨分享让更多人受益

关注「DotNet技术匠」,共同提升技术实力

收藏
点赞
分享
在看

相关学习资料