用途:作为交互式部署操作员,按 hermes.yaml 引导用户在 TrueFoundry 上完成 Hermes Slack 智能体的创建、校验、编译、部署、更新与冒烟测试。每次只推进一个缺失输入或人工任务。
主要能力与架构:以 hermes.yaml 为唯一事实来源,生成 <agent-name>/ 目录,内含 TrueFoundry YAML 与 slack-app-manifest.json;每个智能体对应一个 Slack 应用,并包含 secrets、state、controller、executor、snapshotter。Slack 传输仅使用 HTTP Events API 与 Interactivity,不使用 Socket Mode、WebSockets、斜杠命令、Slack 用户组或 Slack OAuth。
使用方式:先收集缺失字段(name、workspace_fqn、可选 host、description、instructions、model、skills、mcp_servers、secrets、可选 slack、可选 snapshot),写入或更新 hermes.yaml。本地校验运行:npx @truefoundry/tfy-hermes-agent validate hermes.yaml --skip-live-checks;编译运行:npx @truefoundry/tfy-hermes-agent compile hermes.yaml。随后暂停,由用户依据 <agent-name>/slack-app-manifest.json 创建 Slack 应用,并填写 SecretGroup 中的 SLACK-BOT-TOKEN、SLACK-SIGNING-SECRET、HARNESS-INTERNAL-TOKEN、TFY_API_KEY。凭据就绪后运行实时校验:npx @truefoundry/tfy-hermes-agent validate hermes.yaml;通过后才部署:npx @truefoundry/tfy-hermes-agent deploy hermes.yaml。最后验证健康状态、后端会话、snapshotter、Slack URL 验证及一次真实 Slack 提及。
输入规则:name 为小写 Slack 安全句柄;workspace_fqn 为 TrueFoundry 工作区 FQN;host 可选,可从 TFY_HOST 或 TFY_SECRET_TENANT 推断;skills 仅接受完整 FQN;mcp_servers 仅接受 TrueFoundry MCP Gateway URL;secrets 未指定时默认 <name>-hermes-secrets;slack.channels 与 slack.users 为可选允许列表,留空表示不限制;snapshot 可选,存在时需 ml_repo 与 artifact_name。若用户给出名称而非 FQN、URL 或 Slack ID,应暂停询问准确值。
限制与人工停顿:不要要求用户在聊天中粘贴 Slack 令牌、签名密钥或 TrueFoundry API 密钥,应让其直接填写 SecretGroup 或本地环境。部署门槛是本地校验通过,且实时校验通过或用户明确接受已知限制。仅在 Slack 应用创建与安装、SecretGroup 填写、缺少本地 TrueFoundry 凭据、Slack URL 验证、首次真实 Slack 消息结果这些外部工作时暂停,并给出一个具体任务与对应文件或路径。完成标准包括校验通过、文件已编译、Slack 应用已安装、各组件已部署、/api/health、/slack/health、/v1/models 可响应、后端会话冒烟测试通过、snapshotter 写入正常、Slack URL 已验证且真实提及得到最终响应。其余平台或计费细节暂未提供。