{
  "schema": "a9.agent-card/v1",
  "name": "A9 全渠道自动运营",
  "version": "2026-09-29",
  "site": "https://a9.sale",
  "one_liner": "宁波自营店自用的全渠道电商自动运营工作台：人类看指挥台，AI 读能力目录。",
  "audience": [
    "human",
    "ai-agent"
  ],
  "discovery": {
    "llms_txt": "https://a9.sale/llms.txt",
    "manifest": "https://a9.sale/a9.manifest.json",
    "openapi": "https://a9.sale/openapi.json",
    "agent_card": "https://a9.sale/agent-card.json",
    "agents_page": "https://a9.sale/agents.html",
    "mcp": {
      "status": "not_implemented",
      "note": "MCP（Streamable HTTP）端点待服务端实现；当前可用静态发现层。"
    }
  },
  "auth": {
    "current": "只读发现层无需鉴权；执行/审计/计费端点**尚未开放**",
    "schemes": [
      {
        "id": "bearer",
        "type": "http-bearer",
        "scopes": [
          "read",
          "execute",
          "settle",
          "admin"
        ],
        "status": "planned"
      },
      {
        "id": "api-key",
        "type": "header X-API-Key",
        "scopes": [
          "read"
        ],
        "status": "planned"
      }
    ],
    "roles": [
      {
        "id": "admin",
        "label": "管理员（店主）",
        "can": "全部操作，含动钱与不可逆动作"
      },
      {
        "id": "operator",
        "label": "运营",
        "can": "执行任务；动钱/不可逆需管理员拍板"
      },
      {
        "id": "viewer",
        "label": "只读",
        "can": "只看自己数据；零操作权"
      }
    ],
    "short_lived": "令牌须最小 scope、可吊销；不得下发前端。"
  },
  "rate_limits": {
    "live_endpoints": "静态文件，未设限",
    "planned": "由服务端按令牌 scope 与限额下发"
  },
  "sandbox": {
    "status": "current",
    "note": "演示态即沙箱：任何写操作不落地（实测点击按钮 0 个网络请求）。沙箱与生产由同一份数据契约区分，靠凭据判定。"
  },
  "tools": [
    {
      "name": "import_shop",
      "summary": "★核心：导入一个店铺（平台授权→拉商品/订单/库存）",
      "status": "not_implemented",
      "http": "POST /act",
      "read_only": false,
      "cost": "free",
      "side_effect": "写：建立店铺连接",
      "confirmation_required": true,
      "input": {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string"
          },
          "auth_code": {
            "type": "string"
          }
        }
      },
      "output": {
        "type": "object"
      },
      "notes": "首要功能主线第①段。走平台官方开放平台授权，不收账号密码"
    },
    {
      "name": "sync_listings",
      "summary": "★核心：全渠道铺货（一次编辑→多平台写入，差量+幂等）",
      "status": "not_implemented",
      "http": "POST /act",
      "read_only": false,
      "cost": "按量",
      "side_effect": "写：改各平台在售商品/价格/库存",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {
          "canonical_sku": {
            "type": "string"
          },
          "channels": {
            "type": "array"
          }
        }
      },
      "output": {
        "type": "object"
      },
      "notes": "主线第②段。幂等键 = hash(sku+channel+payload_version)"
    },
    {
      "name": "collect_analytics",
      "summary": "★核心：数据回流（分钟级）",
      "status": "not_implemented",
      "http": "GET /analytics",
      "read_only": true,
      "cost": "free",
      "side_effect": "none",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {
          "range": {
            "type": "string"
          }
        }
      },
      "output": {
        "type": "object"
      },
      "notes": "主线第③段。日粒度事实表，对账误差目标 <1%"
    },
    {
      "name": "plan_campaign",
      "summary": "★核心：AI 策划（诊断→1 主推+2 备选）",
      "status": "not_implemented",
      "http": "POST /act",
      "read_only": false,
      "cost": "按量",
      "side_effect": "none（只产出方案）",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {
          "goal": {
            "type": "string"
          }
        }
      },
      "output": {
        "type": "object"
      },
      "notes": "主线第④段。每条方案带依据/收益/风险/成本/生效时间"
    },
    {
      "name": "execute_plan",
      "summary": "★核心：自动实施（可自动的自动跑，动钱/不可逆等人拍板）",
      "status": "not_implemented",
      "http": "POST /act",
      "read_only": false,
      "cost": "按量",
      "side_effect": "写：按方案执行",
      "confirmation_required": true,
      "input": {
        "type": "object",
        "properties": {
          "plan_id": {
            "type": "string"
          },
          "confirm": {
            "type": "boolean"
          }
        }
      },
      "output": {
        "$ref": "#/components/schemas/ActionResult"
      },
      "notes": "主线第⑤段。全程 action_id + 审计链 + 可回滚标记"
    },
    {
      "name": "get_site_facts",
      "summary": "取站点权威事实（定位/边界/状态/哈希）",
      "status": "live",
      "http": "GET /a9.manifest.json",
      "read_only": true,
      "cost": "free",
      "side_effect": "none",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {}
      },
      "output": {
        "type": "object"
      },
      "notes": "AI 应优先读这一条"
    },
    {
      "name": "get_ai_summary",
      "summary": "取给 LLM 的站点摘要（llms.txt）",
      "status": "live",
      "http": "GET /llms.txt",
      "read_only": true,
      "cost": "free",
      "side_effect": "none",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {}
      },
      "output": {
        "type": "string"
      }
    },
    {
      "name": "get_capabilities",
      "summary": "取能力卡（本卡）",
      "status": "live",
      "http": "GET /agent-card.json",
      "read_only": true,
      "cost": "free",
      "side_effect": "none",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {}
      },
      "output": {
        "type": "object"
      }
    },
    {
      "name": "get_console_snapshot",
      "summary": "取指挥台数据快照（战果/战线/风险/待拍板/流水/装备）",
      "status": "live",
      "http": "GET /a9ui.json",
      "read_only": true,
      "cost": "free",
      "side_effect": "none",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "admin",
              "operator",
              "viewer"
            ]
          }
        }
      },
      "output": {
        "type": "object",
        "properties": {
          "cards": {
            "type": "array"
          },
          "roles": {
            "type": "object"
          },
          "dataSource": {
            "type": "object"
          },
          "opMode": {
            "type": "object"
          }
        }
      },
      "notes": "演示数据 + 演示操作态；卡片带 roles 过滤"
    },
    {
      "name": "list_orders",
      "summary": "查订单（按状态/渠道/时间）",
      "status": "not_implemented",
      "http": "GET /orders",
      "read_only": true,
      "cost": "free",
      "side_effect": "none",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "channel": {
            "type": "string"
          }
        }
      },
      "output": {
        "type": "array"
      }
    },
    {
      "name": "print_labels",
      "summary": "★主线必需：自动打单/出库单（自动实施的第一环 —— 打不出单货就走不了）",
      "status": "not_implemented",
      "http": "POST /act",
      "read_only": false,
      "cost": "按量",
      "side_effect": "写：改变物流状态",
      "confirmation_required": true,
      "input": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "channel": {
            "type": "string",
            "enum": [
              "ewaybill",
              "cloud",
              "local"
            ]
          }
        }
      },
      "output": {
        "$ref": "#/components/schemas/ActionResult"
      },
      "notes": "通道优先级：电子面单 API 直出 > 云打印 > 桌面打印机（可选冗余）。三条有一通即可自动出单；>50 张需二次确认"
    },
    {
      "name": "chase_express",
      "summary": "催快递/催单",
      "status": "not_implemented",
      "http": "POST /act",
      "read_only": false,
      "cost": "按量",
      "side_effect": "写：向承运商发指令",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array"
          }
        }
      },
      "output": {
        "type": "object"
      }
    },
    {
      "name": "block_risky_order",
      "summary": "发货前拦下高危订单",
      "status": "not_implemented",
      "http": "POST /act",
      "read_only": false,
      "cost": "free",
      "side_effect": "写：挡生意（可回滚）",
      "confirmation_required": true,
      "input": {
        "type": "object",
        "properties": {
          "targets": {
            "type": "array"
          },
          "confirm": {
            "type": "boolean"
          }
        }
      },
      "output": {
        "type": "object"
      },
      "notes": "阻断级风险；必须人类拍板"
    },
    {
      "name": "apply_repricing",
      "summary": "跟价/改价",
      "status": "not_implemented",
      "http": "POST /act",
      "read_only": false,
      "cost": "按量",
      "side_effect": "不可逆（影响在售价格）",
      "confirmation_required": true,
      "input": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string"
          },
          "delta": {
            "type": "number"
          }
        }
      },
      "output": {
        "type": "object"
      }
    },
    {
      "name": "answer_customer",
      "summary": "客服自动应答（可转人工）",
      "status": "not_implemented",
      "http": "POST /act",
      "read_only": false,
      "cost": "按量",
      "side_effect": "写：对外发消息",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {
          "conversation_id": {
            "type": "string"
          }
        }
      },
      "output": {
        "type": "object"
      }
    },
    {
      "name": "get_earnings",
      "summary": "取收益/账本",
      "status": "not_implemented",
      "http": "GET /billing",
      "read_only": true,
      "cost": "free",
      "side_effect": "none",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {
          "range": {
            "type": "string"
          }
        }
      },
      "output": {
        "type": "object"
      }
    },
    {
      "name": "get_audit_log",
      "summary": "取审计流水",
      "status": "not_implemented",
      "http": "GET /audit",
      "read_only": true,
      "cost": "free",
      "side_effect": "none",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {
          "since": {
            "type": "string"
          }
        }
      },
      "output": {
        "type": "array"
      }
    },
    {
      "name": "get_policy",
      "summary": "取策略（禁止行为/限额/风控）",
      "status": "not_implemented",
      "http": "GET /policy",
      "read_only": true,
      "cost": "free",
      "side_effect": "none",
      "confirmation_required": false,
      "input": {
        "type": "object",
        "properties": {}
      },
      "output": {
        "type": "object"
      }
    }
  ],
  "not_offered": [
    {
      "name": "rent_account",
      "why": "本系统不提供账号租赁、买卖、代注册，也不使用他人账号"
    },
    {
      "name": "buy_account",
      "why": "同上"
    },
    {
      "name": "proxy_kyc",
      "why": "不代替实名认证（人脸/身份必须本人）"
    },
    {
      "name": "deposit_funds",
      "why": "不代收代付、不托管资金"
    }
  ],
  "events": {
    "status": "not_implemented",
    "kinds": [
      "task.updated",
      "risk.detected",
      "approval.required",
      "billing.charged"
    ],
    "transport": [
      "SSE /events",
      "Webhook（待定）"
    ]
  },
  "errors": [
    {
      "code": 401,
      "id": "UNAUTHENTICATED",
      "hint": "缺/失效令牌；执行类端点当前未开放"
    },
    {
      "code": 403,
      "id": "ROLE_INSUFFICIENT",
      "hint": "角色不足（只读不得执行；运营不得动钱）"
    },
    {
      "code": 409,
      "id": "NEEDS_CONFIRMATION",
      "hint": "高风险动作需人类二次确认后带 confirm=true 重试"
    },
    {
      "code": 409,
      "id": "IDEMPOTENCY_CONFLICT",
      "hint": "同一 Idempotency-Key 已在处理"
    },
    {
      "code": 429,
      "id": "RATE_LIMITED",
      "hint": "按 Retry-After 退避"
    },
    {
      "code": 501,
      "id": "NOT_IMPLEMENTED",
      "hint": "该能力尚未实现（见 x-status / status 字段）"
    }
  ],
  "guardrails": [
    "令牌最小 scope",
    "高风险动作二次确认",
    "幂等键防重放",
    "限额与熔断",
    "append-only 审计",
    "演示态零写入"
  ],
  "billing": {
    "status": "not_charging",
    "note": "内测阶段不对外收费。将来若收费：口径先公示、扣费 append-only、可查可申诉。"
  },
  "audit": {
    "status": "not_implemented",
    "note": "设计口径：每步动作留（谁/何时/依据/结果/花费），append-only，不可改。"
  },
  "human_in_the_loop": {
    "principle": "需求 ≠ 指令：AI 提的是意图，系统出方案，人拍板才执行。",
    "must_confirm": [
      "打单 >50 张",
      "拦单（挡生意）",
      "改价/跟价（不可逆）",
      "任何花钱动作",
      "放行不可逆作业"
    ]
  },
  "disambiguation": {
    "statement": "本卡描述的是 https://a9.sale 这一个系统。与其它以「A9」命名的项目无关。",
    "unrelated_name_collisions": [
      "A9互助",
      "A9团",
      "A9-6.1",
      "A9NeverZero",
      "a9 摄像头相关 App",
      "奥迪 A9 / A9 财务软件等"
    ],
    "common_misreadings": [
      "误读为「多平台账号租赁/卖号平台」→ 不是；本系统不使用他人账号，不提供租赁、买卖、代注册",
      "误读为「招商加盟平台」→ 不是；自用系统，内测阶段不对外收费"
    ]
  },
  "last_updated": "2026-09-29"
}