gh-aw模型字段深度解析如何为工作流指定模型与定价【免费下载链接】gh-awGitHub Agentic Workflows项目地址: https://gitcode.com/GitHub_Trending/gha/gh-awgh-awGitHub Agentic Workflows让你用 Markdown 编写可在 GitHub Actions 上运行的 AI Agent 工作流。其中模型字段model / engine.model / models决定了用哪个模型跑工作流AI 信用定价AI Credits Pricing则决定了每次运行最多花多少钱。本文面向新手带你快速搞懂这三个字段的写法、优先级与常见坑。模型字段速览先分清 3 个关键字段在动手配置前先认识 gh-aw frontmatter 中 3 个与模型相关的字段字段作用一句话说明model工作流默认模型顶层一行搞定如model: gpt-5.4engine.model单个引擎实例的模型覆盖嵌套更具体优先级高于顶层modelmodels模型策略与定价配置允许/禁用名单 每 token 定价$/百万 tokens 记忆口诀顶层管默认嵌套管例外models管预算。如何用顶层model一行指定工作流模型最简单的用法就是在 frontmatter 顶层写一行--- on: workflow_dispatch: engine: codex model: gpt-5.4 timeout-minutes: 5 ---这个字段支持完整模型 ID如claude-3-5-sonnet-20241022、gpt-5.4也支持模型别名如small、large。为什么要单独提到顶层早期 gh-aw 要求把模型名嵌在engine对象里engine.model只想换个模型的用户也必须先理解引擎对象结构。官方在 ADR-46570 中把model提升为顶层字段与max-turns、max-runs等扁平字段保持一致同时保留engine.model作为按实例覆盖的合法写法——因为拆引擎场景主 Agent 和威胁检测各用一个引擎需要两个不同的模型只有嵌套字段能表达。字段定义可查阅官方 JSON Schemamain_workflow_schema.json。进阶技巧用engine.model为不同引擎指定不同模型当工作流中主 Agent和某个子引擎例如safe-outputs.threat-detection需要不同模型时就把模型写进引擎对象--- on: workflow_dispatch: engine: id: claude model: claude-3-5-sonnet-20241022 max-turns: 15 ---优先级规则同一个引擎实例同时配置了顶层model和engine.model时嵌套的engine.model胜出因为它更具体。官方 Schema 对该覆盖行为的说明见 main_workflow_schema.json。⚠️ 常见误区不要试图用gh aw fix之类的工具把engine.model全部迁到顶层——那会直接破坏拆引擎工作流。如何用models配置模型策略与 AI 信用定价models是一个对象负责模型准入与成本核算主要包含 3 个子字段定义见 main_workflow_schema.json1.allowed/blocked模型黑白名单实验性--- models: allowed: - gpt-5* blocked: - experimental-* ---两者会分别映射到 AWF 防火墙代理的allowedModels/disallowedModels实现模型级准入控制。2.default-ai-credits-pricing自托管模型的兜底定价新手最常踩的坑gh-aw 的 AWF API 代理内置了一张模型定价表并通过max-ai-credits默认开启成本核算。如果你的模型不在内置定价表里——比如本地自托管的 Ollama 模型qwen2.5:0.5bBYOK 场景——代理会直接以 HTTP 400unknown_model_ai_credits拒绝请求导致 CI 连续失败。解决办法就是在 frontmatter 里补充兜底定价单位美元/百万 tokens--- models: default-ai-credits-pricing: input: 0 output: 0 ---约定俗成自托管或免费模型把input和output都设为0明确表示这个模型是免费的。该字段还支持cache_read、cache_write、reasoning等 token 类别定价结构定义见 main_workflow_schema.json。背后的完整决策过程包括为什么不做全局默认价写在 ADR-47687 中值得精读。3.providers按提供商注入自定义定价表如果需要为多个第三方模型精确报价可以用providers按提供商 → 模型 → 单价的层级提供定价数据编译时会按 provider/model 键合并进 AWF 配置。用max-ai-credits给每次运行设置花费上限指定了模型和定价后别忘了护栏max-ai-credits单次运行的 AI 信用预算默认 1000约 1k 额度设为-1可关闭预算执行与 token 引导。max-daily-ai-credits同一用户 24 小时内的信用护栏省略即关闭。--- max-ai-credits: 500 max-daily-ai-credits: 2000 ---这两项支持 GitHub Actions 表达式可以配合workflow_dispatch的输入动态传参。字段定义见 main_workflow_schema.json。完整示例与延伸阅读把前面 3 个字段组合起来一个指定模型 自托管定价 预算护栏的完整 frontmatter 长这样--- on: workflow_dispatch: permissions: contents: read engine: codex model: gpt-5.4 models: default-ai-credits-pricing: input: 0 output: 0 max-ai-credits: 1000 timeout-minutes: 5 ---想动手试一试官方提供了models字段的覆盖示例工作流 schema-demo-models.md以及模型价格表生成脚本 generate-model-tables.js配合 pkg/parser/schemas/ 下的 JSON Schema 就能对任意配置做本地校验。一句话总结默认模型用顶层model例外场景用engine.model成本与准入用models配合max-ai-credits——三件套配齐gh-aw 工作流的模型选择就再也不会黑盒。【免费下载链接】gh-awGitHub Agentic Workflows项目地址: https://gitcode.com/GitHub_Trending/gha/gh-aw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
