自定义代理¶
本页介绍位于 .github/agents/中的仓库级自定义代理。每个代理都是一个 .agent.md 文件,由 YAML 前置元数据和指令组成,用于让 Copilot 专门处理代码审查、安全性、无障碍性或拉取请求摘要。
.agent.md 格式¶
自定义代理使用顶部包含前置元数据的 Markdown 文件:
---
name: dotnet-reviewer
description: Senior .NET code reviewer specializing in C# best practices, security, and performance
tools: ['agent', 'read', 'search']
model: claude-sonnet-4.6
---
该 name 是调用名称, description 告知 Copilot 该代理适用的场景,
tools 声明代理可以使用的功能,而 model (如存在)用于固定模型。Markdown 正文包含角色、审查清单、输出格式以及所有交叉验证指令。
dotnet-reviewer¶
- 路径:
.github/agents/dotnet-reviewer.agent.md - 前置元数据名称:
dotnet-reviewer - 前置元数据说明:
Senior .NET code reviewer specializing in C# best practices, security, and performance - 工具:
['agent', 'read', 'search'] - 固定模型:
claude-sonnet-4.6 - 触发场景:当变更需要 .NET 专项审查时使用,尤其适用于安全性、性能、可空引用类型、异步用法、资源释放或 EF Core 模式。
- 调用示例:
该代理还会指示自身在审查后将 security-scanner 作为子代理运行,然后直接报告两组发现。
security-scanner¶
- 路径:
.github/agents/security-scanner.agent.md - 前置元数据名称:
security-scanner - 前置元数据说明:
Security-focused code reviewer that identifies vulnerabilities and compliance issues - 工具:
['agent', 'read', 'search'] - 固定模型:
gpt-5.3-codex - 触发场景:用于审查 OWASP Top 10 问题、输入验证、身份验证与授权、敏感数据泄露、不安全解析或日志记录不足。
- 调用示例:
该代理要求每项发现都包含严重级别、适用时的 CWE、位置、攻击场景、修复措施和参考资料。如果存在用户界面代码,它会指示自身将 accessibility-auditor 作为子代理运行。
pr-summary¶
- 路径:
.github/agents/pr-summary.agent.md - 前置元数据名称:
pr-summary - 前置元数据说明:
Generates concise, informative PR summaries from code changes - 工具:
['agent', 'read', 'search'] - 固定模型:未声明。
- 触发场景:用于编写拉取请求说明、汇总差异,或按功能、修复、测试、文档和配置对变更分组。
- 调用示例:
预期输出包括单行摘要、分组后的变更概述、关键变更文件、影响评估和测试说明。它还要求使用
dotnet-reviewer 进行交叉验证,并且在最终的代码质量部分仅包含“严重”和“高”级别的发现。
accessibility-auditor¶
- 路径:
.github/agents/accessibility-auditor.agent.md - 前置元数据名称:
accessibility-auditor - 前置元数据说明:“当用户要求审查代码中的无障碍问题或合规性时,请使用此代理。”
触发短语包括:
- “检查此代码是否存在无障碍问题”
- “审查 WCAG 合规性”
- “审计无障碍问题”
- “查找无障碍违规”
- “这是否符合无障碍要求?”
示例:
- 用户说“能否审查此组件的无障碍性?”→ 调用此代理审计代码
- 用户问“此表单是否符合 WCAG 标准?”→ 调用此代理检查合规性
- 用户说“此代码可能存在哪些无障碍问题?”→ 调用此代理识别问题
- 编写用户界面代码后,如果可能存在无障碍问题,则主动调用此代理
- 工具:
['read', 'search'] - 固定模型:未声明。
- 触发场景:说明中明确列出了“检查此代码是否存在无障碍问题”“审查 WCAG 合规性”“审计无障碍问题”“查找无障碍违规”和“这是否符合无障碍要求?”等短语。
- 调用示例:
该代理检查语义化 HTML、ARIA、键盘导航、颜色对比度、焦点状态、表单标签、动态效果、媒体替代内容和响应式行为。
共享指令与审查专用指令¶
.github/copilot-instructions.md 是此仓库中所有助手的共享规范,其中说明了 .NET 10 零售分析应用、编码约定、Copilot SDK 模式、测试要求和安全规则。
.github/copilot-review-instructions.md 的范围更窄,提供审查时所需的上下文,包括 GitHub Copilot SDK v1.0.9 的命名空间
GitHub.Copilot、显式 session.On<T>(...) 用法、SSE 流式传输规则、模型发现预期,以及演示中有意保留的代码异味;除非明确要求,否则审查者不应标记这些代码异味。
模型固定配置的经验¶
security-scanner.agent.md 现在固定使用 model: gpt-5.3-codex。原值的大小写错误且末尾带有空格;实时模型列表中只有 gpt-5.3-codex
。无效的模型固定配置可能导致代理无法启动,因此前置元数据中的模型 ID 必须准确无误。