agentkit.yaml 是部署配置的唯一来源。先用 agentkit init 创建项目,再执行 agentkit deploy config,即会在项目的 .agentkit/ 下生成它;agentkit deploy、deploy build 与 deploy apply 都从中读取,无需额外传参。生成的文件里必填与常用字段处于启用状态,其余可选字段以注释形式给出完整结构——取消注释并填值即可启用。
密钥不写入明文,而是用 ${VAR} 引用部署环境,由 CLI 在部署时解析:
${VAR}—— 必填,未设置则部署报错;${VAR:-default}—— 未设置或为空时使用默认值;${VAR:?message}—— 必填,未设置时以message报错;$$—— 表示字面量$。
.env,因此把取值写入 .env 即可,无需手动 export。已在 shell 中设置的变量优先级更高;.env 不会被上传到运行时。
完整示例
.agentkit/agentkit.yaml
项目
顶层的基本标识,均为必填。cloud_provider 是一次部署的统一云厂商选择。资源块只能覆盖 region 与 project,不支持在一次部署中混用不同云厂商。命令行显式指定的 --provider 优先于环境探测,并写入新生成的配置。
运行时资源
runtime 块配置运行时的计算资源与伸缩策略。
运行时网络
runtime.network 为可选配置。启用私有网络前,确认 VPC、子网和安全组位于 Runtime 使用的区域。
环境变量
envs 声明注入运行时的环境变量。为避免把密钥写进仓库,值用 ${VAR} 引用部署环境(语法见本页开头),由 CLI 在部署时解析后注入运行时。
.env,持续部署则配成仓库 Secret。用于部署鉴权的 VOLCENGINE_* 不会注入运行时。
${VAR} 取代了旧的 AK_ 前缀注入:现在每个变量在 envs 里显式声明、用 ${VAR} 取值,更清晰、可审阅。auth、im、frontend 等块里的密钥同样用 ${VAR}。模型与关联资源
均为可选,用于指定运行时使用的模型,以及关联的平台资源。网关鉴权
auth 配置运行时网关的鉴权方式,二选一。启用下文的 frontend 时,网关鉴权会依据其用户池自动设为 custom_jwt,此处无需重复声明。
消息渠道
im 块用于在运行时之后向 VeFaaS 部署一个机器人代理,把消息渠道接入运行时。凭据用 ${VAR} 提供。目前支持飞书、企业微信与钉钉,可任意组合启用。im.region 与 im.project 可覆盖顶层区域和项目。
飞书
企业微信
企业微信代理通过 WebSocket 连接。接入地址(
websocket_url,默认 wss://openws.work.weixin.qq.com)以及是否发送“思考中”过渡消息(send_thinking_message,默认 true)也可设置,但通常无需改动。
钉钉
前端
frontend 块在 VeFaaS 上部署一个公网前门:在边缘完成 OAuth 登录,再反向代理到运行时并透传用户的 JWT(不使用共享密钥)。启用后,运行时网关鉴权会依据该用户池自动设为 custom_jwt,回调地址自动注册、OAUTH2_REDIRECT_URI 自动推导,因此只需在此声明用户池。
可观测
apmplus 设为 true 时启用 APMPlus 监控。
高级选项
基础设施
infrastructure 指定镜像的构建与存储位置。Auto 表示由平台自动创建并托管,如需复用已有资源可替换为自己的值。
构建
dockerfile 字段指定构建镜像所用的 Dockerfile 路径,默认为 .agentkit/Dockerfile;若项目根目录存在 ./Dockerfile 则改用它。容器如何启动、以及必须监听 0.0.0.0:8000 的约定,见构建与部署 · 容器入口与端口。