VS Code Copilot 自定义代理创建触发场景
当用户需要在 VS Code 中创建自定义 Copilot 代理、配置专用 AI 角色、定义交接工作流、设置工具权限或编写代理指令时使用。触发关键词包括“创建代理”、“自定义代理”、“VS Code 代理”、“Copilot 代理”、“agent.md”、“交接”等。
⚡ 工作流
理解需求 → 询问用户关于:代理角色、可用工具、是否需要交接链
生成文件 → 创建 .agent.md 文件,按照模板
放置 → 告知用户将其放置在 .github/agents/(工作区)或 ~/.copilot/agents/(用户级)
文件位置
范围路径
工作区 .github/agents/<名称>.agent.md Claude 格式 .claude/agents/<名称>.md
用户级 ~/.copilot/agents/<名称>.agent.md
工作区代理可以通过 chat.agentFilesLocations 配置额外的搜索路径
文件结构
---
名称:代理名称 # 可选,默认为文件名
描述:简要描述 # 显示在输入占位符中
参数提示:参数提示 # 可选,指导用户输入
模型:GPT-5.2(Copilot) # 可选,字符串或数组(按顺序尝试)
工具: # 工具列表
代理: # 可用子代理,
表示所有,[] 表示禁止
用户可调用:true # 可选,是否出现在下拉菜单中(默认为 true)
禁用模型调用:false # 可选,防止被其他代理调用为子代理
交接: # 可选,交接链
代理:目标代理
提示:预填充提示
发送:false # 可选,是否自动发送
模型:GPT-5.2(Copilot) # 可选
钩子: # 可选(预览),作用域钩子
PostToolUse:
命令:"./scripts/format.sh"
---
# 代理指令正文
在此处编写代理的行为指南、工作流、输出格式等。支持 Markdown 链接到其他文件。使用 #tool:web/fetch 引用工具。
前置字段参考
字段类型描述
名称字符串代理名称
描述字符串简要描述
参数提示字符串输入框占位符文本
模型字符串/数组模型名称(模型(供应商)格式),数组按顺序尝试
工具数组可用工具列表。MCP 服务使用 <服务器>/
代理数组可用子代理列表,* = 所有,[] = 禁止
用户可调用布尔值是否出现在下拉菜单中(默认为 true)
禁用模型调用布尔值防止被其他代理调用为子代理
目标字符串vscode 或 github-copilot
mcp-servers 数组MCP 服务配置,用于 GitHub Copilot
交接数组交接链定义
交接.标签字符串按钮文本
交接.代理字符串目标代理标识符
交接.提示字符串预填充提示
交接.发送布尔值自动发送(默认为 false)
交接.模型字符串指定模型
钩子对象(预览)代理级钩子,需要 chat.useCustomAgentHooks
交接工作流
交接显示按钮,允许单击切换,带有预填充上下文:
计划 → 实现 → 代码审查
示例:
交接:
代理:实现者
提示:实现上述计划。
发送:false
代理:审查者
提示:审查更改以确保安全性和质量。
内置工具参考
工具描述
search/codebase 搜索代码库
search/usages 搜索用法
web/fetch 获取网页
web/search 网页搜索
edit 编辑文件
read/terminalLastCommand 读取终端输出
agent 调用子代理
使用 #tool:<名称> 语法引用工具,例如 #tool:web/fetch
常用代理模板
规划代理
---
名称:规划者
描述:生成实现计划
工具:['search/codebase', 'web/fetch', 'search/usages']
模型:['Claude Opus 4.5', 'GPT-5.2']
交接:
代理:实现者
提示:实现上述计划。
---
您处于规划模式。生成详细计划,包括:
不要进行代码编辑。
代码审查代理
---
名称:审查者
描述:审查代码以确保质量和安全性
工具:['search/codebase', 'web/fetch']
---
审查代码更改,包括:
- 安全漏洞
- 代码质量问题
- 性能问题
- 项目约定遵守情况
实现代理
---
名称:实现者
描述:实现代码更改
工具:['edit', 'read/terminalLastCommand', 'search/codebase']
---
按照现有代码模式实现更改。进行最小、集中式编辑。更改后运行测试。
创建过程
在聊天中,输入 /agents 或点击齿轮图标 → 代理自定义编辑器
选择新代理(工作区)或新代理(用户)
输入文件名 → 生成 .agent.md 模板
填写前置字段 + 指令正文
或使用 /create-agent 让 AI 根据描述生成
Claude