{
  "name": "TjMakeBot OpenClaw Agent Pack",
  "version": "1.2.0",
  "kind": "openclaw-agent-tool-manifest",
  "description": "用于把 TjMakeBot 作为 OpenClaw 业务执行层接入，驱动标注、人工复核、训练、导出和最终交付摘要；签名与密钥管理由 Hosted Gateway 内部处理。",
  "siteBaseUrl": "{{siteBaseUrl}}",
  "gatewayBaseUrl": "{{siteBaseUrl}}/api/openclaw-gateway",
  "documentation": {
    "guideUrl": "{{siteBaseUrl}}/zh-CN/openclaw",
    "workbenchUrl": "{{siteBaseUrl}}/zh-CN/openclaw/workbench",
    "skillPackUrl": "{{siteBaseUrl}}/openclaw/agent-skill.md",
    "agentWorkflowTemplateUrl": "{{siteBaseUrl}}/openclaw/agent-workflow-template.json",
    "compatibilityWorkflowTemplateUrl": "{{siteBaseUrl}}/openclaw/closed-loop-workflow-template.json",
    "smokeTestTemplateUrl": "{{siteBaseUrl}}/openclaw/workflow-template.json"
  },
  "defaults": {
    "automation": {
      "mode": "agent",
      "autoStartTrainingAfterReview": true,
      "autoExportAfterTraining": true
    },
    "training": {
      "model": "yolo11s",
      "epochs": 120,
      "batchSize": 16,
      "imageSize": 640,
      "optimizer": "adamw",
      "learningRate": 0.001,
      "mixedPrecision": true
    },
    "export": {
      "format": "onnx"
    }
  },
  "agentContract": {
    "primaryMode": "workflow-session",
    "humanInTheLoop": true,
    "resumeTokenRequired": true,
    "statusCallbacksSupported": true,
    "recommendedSequence": [
      "create_workflow",
      "get_human_task",
      "handoff_human_review",
      "complete_human_review",
      "get_workflow_or_events",
      "resume_if_paused",
      "get_delivery_summary",
      "handoff_artifact_download"
    ]
  },
  "tools": [
    {
      "name": "tjmakebot.create_workflow",
      "method": "POST",
      "path": "/workflows",
      "purpose": "创建 agent-native workflow session，用于标注、人工复核、训练、导出。",
      "required": [
        "projectId"
      ],
      "recommended": [
        "datasetUri or images",
        "mode",
        "annotationObjects",
        "format",
        "automation"
      ],
      "response": [
        "workflowId",
        "status",
        "nextAction",
        "agent",
        "links"
      ]
    },
    {
      "name": "tjmakebot.get_workflow",
      "method": "GET",
      "path": "/workflows/:workflowId",
      "purpose": "读取 workflow 最新状态、下一步动作、agent contract、训练进度、导出结果。"
    },
    {
      "name": "tjmakebot.get_human_task",
      "method": "GET",
      "path": "/workflows/:workflowId/human-task",
      "purpose": "读取待处理的人审任务，以及 hosted editor URL。"
    },
    {
      "name": "tjmakebot.complete_human_review",
      "method": "POST",
      "path": "/workflows/:workflowId/human-task/complete",
      "purpose": "标记人工复核已完成，并可选择自动恢复 workflow。",
      "required": [
        "decision"
      ],
      "recommended": [
        "completedBy",
        "autoResume",
        "notes"
      ]
    },
    {
      "name": "tjmakebot.resume_workflow",
      "method": "POST",
      "path": "/workflows/:workflowId/resume",
      "purpose": "当 workflow 暂停在 ready_for_training 或 ready_for_export 时，使用 resumeToken 继续。",
      "required": [
        "resumeToken"
      ]
    },
    {
      "name": "tjmakebot.get_workflow_events",
      "method": "GET",
      "path": "/workflows/:workflowId/events",
      "purpose": "读取 workflow 事件时间线，用于审计和外部监控。"
    },
    {
      "name": "tjmakebot.get_delivery_summary",
      "method": "GET",
      "path": "/workflows/:workflowId/delivery",
      "purpose": "读取标准交付摘要。完成态下优先使用它对外汇报交付信息。"
    },
    {
      "name": "tjmakebot.download_artifact",
      "method": "GET",
      "path": "/workflows/:workflowId/artifact",
      "purpose": "当交付下载链接已准备好时，跳转到最终模型下载地址。"
    },
    {
      "name": "tjmakebot.dispatch_action",
      "method": "POST",
      "path": "/workflows/:workflowId/actions/:action",
      "purpose": "高级 dispatcher，用于 complete_human_review、start_training、export_model、resume。"
    }
  ],
  "diagnosticTools": [
    {
      "name": "tjmakebot.run_smoke_test",
      "method": "POST",
      "path": "/workflow/run",
      "purpose": "最短路径的 annotate-train-export smoke test。"
    },
    {
      "name": "tjmakebot.create_low_level_task",
      "method": "POST",
      "paths": [
        "/tasks/annotate",
        "/tasks/train",
        "/tasks/export"
      ],
      "purpose": "仅用于低层工程排障，不作为生产主路径。"
    }
  ],
  "guardrails": [
    "Do not store App-Id, Salt, Sign, or apiSecretKey in OpenClaw public JSON. Call the hosted gateway only.",
    "生产主路径优先使用 workflow sessions，不要把低层任务接口当主路径。",
    "当 status=needs_review 时，必须使用 agent.humanTask.editorUrl 或 links.reviewUrl 把用户带到人工复核页。",
    "human-task/complete 已做幂等保护；重复完成不会重复写 review.approved 事件。",
    "workflow 完成后，优先读取 /delivery，而不是只返回裸 artifactUri。",
    "只有 delivery.export.downloadUrl 或 links.artifactDownloadUrl 可用时，才把下载入口暴露给最终用户。"
  ],
  "security": {
    "mode": "gateway-signed",
    "requestSigning": "managed-by-hosted-gateway",
    "clientSecretRequired": false,
    "clientMustStoreSecret": false,
    "clientMustCallGatewayOnly": true,
    "directSignedMode": "private-engineering-only"
  }
}
