agentkit.yaml:
- 根目录
agentkit.yaml:由agentkit init或agentkit config --init创建,供build、deploy、launch、status与destroy读取,用于生命周期式构建与部署。 .agentkit/agentkit.yaml:由agentkit release config创建,供release、release build与release apply读取,用于包含消息渠道和前端 BFF 的完整云端发布流程。
.agentkit/agentkit.yaml 发布配置。两类配置不要混用:生命周期命令默认读取根目录 agentkit.yaml,release 默认读取 .agentkit/agentkit.yaml。
生命周期配置
根目录agentkit.yaml 描述智能体应用如何构建、部署和查询状态。common.launch_type 决定当前使用的策略:local 表示本地 Docker 构建和本地容器部署,cloud 表示云端构建和云端运行时部署,hybrid 表示本地构建后部署到云端运行时。
agentkit.yaml
通用字段
本地策略
云端与混合策略
cloud 与 hybrid 共用多数运行时、鉴权、网络和镜像仓库字段。cloud 还包含 TOS 与 Code Pipeline 字段;hybrid 使用本地构建结果,不包含这些云端构建字段。
使用生命周期配置部署到云端运行时时,
runtime_network.mode: hybrid 会同时启用公网入口和私有 VPC 网络。需要只允许私有网络访问时,使用 runtime_network.mode: private;需要平台默认公网行为时,可以省略 runtime_network 或使用 runtime_network.mode: public。
构建字段
发布配置
.agentkit/agentkit.yaml 是 release 发布配置。先用 agentkit release config 生成它;agentkit release、release build 与 release apply 都从中读取。生成的文件里必填与常用字段处于启用状态,其余可选字段以注释形式给出完整结构,取消注释并填值即可启用。
密钥不写入明文,而是用 ${VAR} 引用部署环境,由 CLI 在部署时解析:
${VAR}—— 必填,未设置则部署报错;${VAR:-default}—— 未设置或为空时使用默认值;${VAR:?message}—— 必填,未设置时以message报错;$$—— 表示字面量$。
.env,因此把取值写入 .env 即可,无需手动 export。已在 shell 中设置的变量优先级更高;.env 不会被上传到运行时。
发布配置完整示例
.agentkit/agentkit.yaml
项目
顶层字段为各资源块提供默认的云厂商、区域和项目。资源块可以覆盖区域和项目,但一次发布不能混用不同云厂商。运行时资源
runtime 块配置运行时的计算资源与伸缩策略。
运行时网络
runtime.network 为可选配置。启用私有网络前,确认 VPC、子网和安全组位于 Runtime 使用的区域。
Harness Sidecar
harness_sidecar 为托管 Harness Runtime 启用 Product Component 能力。启用后,release 会使用平台提供的托管 Sidecar 基础镜像,在发布过程中写入 Sidecar 运行时配置,并在运行时就绪后校验 Sidecar、模型代理和所需 MCP 网关状态。启用该块时,至少需要在 component_overrides 中将一个可选组件设为 true。
可用组件如下。
mcp_resilience 会自动带上 SQL 只读保护;sql_readonly、browser、evaluation 与 shadow 不是用户可直接选择的 component_overrides 项。
发布前可用
harness sidecar resolve 校验选择结果。
环境变量
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 控制消息代理所在的区域和项目;省略时分别继承顶层 region 与 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,运行时会探测该端口以判断实例是否就绪。