{
  "description": "RunComfy 环境销毁工具：根据 server_id 主动关闭已启动的 ComfyUI 机器，避免持续计费",
  "task_spec": "## 目标\n创建一个 HTTP API 工具并注册到 Router，用于关闭 RunComfy 机器实例。\n\n## 核心功能\n调用 RunComfy Server API 删除指定的机器实例，释放资源。配合 `launch_comfy_env` 使用，负责生命周期的收尾阶段。\n\n## 环境变量\n- RUNCOMFY_USER_ID：RunComfy 用户 ID\n- API_TOKEN：RunComfy API Token\n\n## HTTP API 接口（必须实现）\n实现 `POST /stop` 接口：\n\n### 输入 JSON Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"server_id\": {\"type\": \"string\", \"description\": \"要关闭的机器 ID\"}\n  },\n  \"required\": [\"server_id\"]\n}\n```\n\n### 输出 JSON Schema\n```json\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"server_id\": {\"type\": \"string\", \"description\": \"关闭的机器 ID\"},\n    \"status\": {\"type\": \"string\", \"description\": \"Deleted 或报错信息\"},\n    \"message\": {\"type\": \"string\", \"description\": \"详细结果文本\"}\n  }\n}\n```\n\n## 核心逻辑\n1. 调用 API `DELETE https://beta-api.runcomfy.net/prod/api/users/{USER_ID}/servers/{server_id}`\n2. Header 需要 `Authorization: Bearer {API_TOKEN}`\n3. 处理 200 响应和 404 响应（说明已被清理或不存在），如果是其它错误，则抛出异常并返回失败状态\n4. 这个工具应始终返回安全的明确状态，供 Agent 确认释放情况\n\n## 实现要求\n1. 使用 uv 创建项目，项目名：runcomfy_stop_env\n2. 使用 FastAPI 实现 HTTP 接口\n3. 从环境变量读取 RUNCOMFY_USER_ID 和 API_TOKEN\n4. 实现 POST /stop 接口\n5. 编写测试脚本验证功能\n6. **必须调用 register_tool 注册到 Router**，tool_id 为 \"runcomfy_stop_env\"",
  "reference_files": [
    "tests/run_comfy/run_workflow.py"
  ]
}