用自然语言 Markdown 编写 AI Agent 工作流并在 GitHub Actions 中安全执行的开源框架,由 GitHub Next 与 Microsoft Research 联合开发。
gh-aw 是由 GitHub Next 与 Microsoft Research 联合开发的开源框架,允许开发者使用自然语言 Markdown 编写 AI Agent 工作流,并在 GitHub Actions 中执行。
- Markdown 工作流定义:使用
.md 文件 + YAML frontmatter 定义触发条件、权限、工具等
- 自然语言指令:在 Markdown body 中用自然语言描述 AI 任务,无需传统编程
- 模块化导入:支持工作流片段复用与组合
- 编译时验证:Schema 校验、表达式安全检查、Action SHA 固定
| 引擎 | 配置方式 |
|---|
| GitHub Copilot | 默认引擎,通过 COPILOT_GITHUB_TOKEN 认证 |
| Anthropic Claude | 通过 ANTHROPIC_API_KEY 接入 |
| OpenAI Codex | 通过 OPENAI_API_KEY 接入 |
- 通过 Model Context Protocol (MCP) 连接外部工具和服务
- MCP Gateway 作为统一 HTTP 网关,隔离 MCP 服务器与 Agent 运行环境
| 层级 | 机制 | 保护目标 |
|---|
| Substrate | GitHub Actions VM、Docker 容器、iptables | 内存隔离、进程隔离、网络隔离 |
| Configuration | Schema 验证、Action SHA pinning、安全扫描 | 配置有效性、供应链安全 |
| Plan | Lockdown Mode、Safe Outputs、威胁检测 | 限制操作范围、输出清洗 |
具体安全机制:
- Safe Outputs:AI Agent 默认只读权限,写操作通过预审批的独立 Job 执行
- Agent Workflow Firewall (AWF):网络出口控制,基于域名的访问控制
- MCP Gateway:统一 HTTP 网关路由 MCP 调用,隔离 MCP 服务器
- 内容清洗:@mention 中性化、Bot 触发保护、XML/HTML 标签转换
- Secret Redaction:自动扫描并遮蔽敏感信息
- Threat Detection Pipeline:AI 驱动的威胁检测作业,可集成 TruffleHog、Semgrep
| 场景 | 描述 |
|---|
| 自动化日报 | 每日生成仓库状态报告,分析 issues/PRs/discussions/releases |
| Issue 智能分类 | 自动 triage、打标签、添加评论 |
| 代码审查辅助 | 自动化代码审查建议生成 |
| 文档持续更新 | 保持 README、API 文档与代码同步 |
| 增量代码改进 | 分批次、可审计的代码质量提升 |
| 命令 | 用途 |
|---|
gh aw compile | 从 .md 工作流生成 .lock.yml GitHub Actions 配置 |
gh aw compile --watch | 监听模式,文件变更自动编译 |
gh aw run <workflow> | 触发指定工作流运行 |
gh aw logs | 下载并分析运行日志 |
gh aw audit <run-id> | 调查特定运行的详细信息 |
gh aw status | 检查工作流健康状态 |
# 1. 安装扩展
gh extension install github/gh-aw
# 2. 添加示例工作流
gh aw add-wizard githubnext/agentics/daily-repo-status
# 3. 等待工作流完成(约 2-3 分钟)
# 4. 自定义工作流
gh aw compile
- Agent Workflow Firewall (AWF):AI Agent 网络出口控制
- MCP Gateway:MCP 服务器调用的统一网关