1. 简单介绍

随着大语言模型的普及,当前使用GitHub Copilot进行AI coding的人数逐渐增加。GitHub Copilot的口号也变化了几次,当前变成了AI that builds with you。有一些开发者购买了付费的Pro版本(10美元/月)或商务版。每月微软也会提供一些免费GitHub Copilot使用额度。

当前在GitHub Copilot中也支持添加额外的大模型的,

        

GitHub Copilot的内置的交互模式分成Ask, Edit, Agent三种,如下图所示,

        

最近发现除了上面的三种built-in chat mode,还可以制作custom chat mode。下图中亚洲杯球员分析和MSAIFest挑战赛数据分析就是添加的custom chat mode,

        

Custom chat mode可以使GitHub Copilot满足特定的需求,更加专注在某一个方面。

这边尝试自定义一个chat mode,用来分析亚洲杯男篮各国的球员信息(亚洲杯男篮比赛已经于2025/8/5开始了,目前已经进入4强局面。澳大利亚和新西兰队也参加亚洲杯比赛。

2.具体说明

2.1 Custom Chat Mode

GitHub Copilot自定义chat mode可以使用markdown文件来定义,文件后缀是.chatmode.md

        

在chatmode.md文件中可以设定description, tools, instructions等

1) Description: 描述chat mode的目的

2) tools: 定义chat mode可以使用的tool,比如codebase, search等,包含MCP tool

3) Instructions: 设定一些AI要遵循的规则等,让Copilot agent更专注

2.2 创建Custom Chat Mode

1) 在Visual Studio Code 中打开GitHub Copilot面板,同时在GitHub Copilot面板下方,点击mode下拉框,然后点击Configure Modes...

        

2) 点击 Create new custom chat mode file

        

3) 点击.github\chatmodes

        

4) 接下来输入custom chat mode文件的名字,比如 亚洲杯球员分析.chatmode.md,回车之后就会在.github\chatmodes目录下生成文件了,如下图所示

        

5) 下面是这边制作的亚洲杯球员分析.chatmode.md的内容,

        

可以看出亚洲杯球员分析.chatmode.md文件中可以包含MCP tool

2.3 制作MCP tool

2.3.1 使用的MCP SDK

这边使用的是MCP C# SDK ModelContextProtocol.AspNetCore来进行MCP Server的制作,

<PackageReference Include="ModelContextProtocol.AspNetCore" Version="0.1.0-preview.7" />

        

2.3.2 数据库

亚洲杯2025参赛球员的数据是从网络上面获取的,数据已经存放到SQL Server中,

        

MCP Server项目的数据访问技术用的是Microsoft.EntityFrameworkCore 9.0

2.3.3 项目简介

MCP Server项目基于.NET 9,

1) 下面是项目的目录结构,

        

2) 下面是MCP Server的方法,

        

2.3.4 启动MCP Server

使用dotnet run命令启动MCP server,

        

2.3.5 配置Chat Mode

1) 首先在Visual Studio Code GitHub Copilot中配置一下MCP tool,

        

2) 在GitHub Copilot chat mode文件中添加特定的MCP tool,如下图所示,

        

3) 将鼠标悬停在my-mcp-server-4421c9c4时候,也会弹出这个MCP toolset对应的tools的

        

以上创建并配置好了自定义chat mode 亚洲杯球员分析。

2.4 测试一下

1) 在GitHub Copilot面板中选择custom mode 亚洲杯球员分析 ,如下图所示

        

2) 输入查询信息如下,通过自定义 chat mode就不需要很多上下文了

这边输入了中国队,Github Copilot就会自动调用MCP Server提供的三个mcp tool,最后返回中国队参赛球员名单和平均年龄身高等统计数据。祝中国国家男篮取得好成绩!

        

4) 在GitHub Copilot chat中输入 各国球员平均年龄和身高,按照平均年龄从大到小排序,

        

可以看出菲律宾队平均年龄超过30岁,年龄最小的是大洋洲洲的两个球队新西兰和澳大利亚,这两个队已经实现了阵容年轻化。

5) 输入中国台北队

        

中华台北队的平均身高相对其他球队低一些,中锋是规划球员高博凯,参赛队伍中有3名现役CBA球员,另外胡珑贸以前也有过CBA打球经历的。

亚洲杯男篮当前已经进入4强,有些比赛还是比较精彩的。

3.总结

本文简单记录了一下GitHub Copilot custom chat mode的配置和使用的过程,以及如何添加一个MCP tool到chat mode中。制作了一个亚洲杯2025男篮的特定chat mode,用来统计分析各国的球员数据。通过使用custom chat mode,可以让用户与GitHub Copilot的交互满足特定的规则和要求,在多轮对话中,不需要重复提供上下文了。

本文如果哪里有错误,麻烦告之,谢谢谢谢!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐