平台密钥与费用

procurement-optimizer API-KEY.md

平台密钥与费用

推荐在平台创建通用 Key,并执行 openclaw config set env.AI_SKILLS_API_KEY "你的平台APIKey" 和 openclaw gateway restart,全平台 Skill 只需配置一次。仍需开通目标产品。调用优先使用 AI_SKILLS_API_KEY,为空时才读取兼容变量 PROCUREMENT_OPTIMIZER_API_KEY。两者均缺失时停止调用,不发送空 Bearer 请求。

从 ClawHub 安装的包使用 MIT-0 许可;平台用量费独立。使用平台 Key,仍需产品已开通和对应 ability。平台初始关闭,真实依赖与授权样本验收后由管理员开放;夹具通过不等于真实质量验收。无需用户提供模型、求解器或其它上游 Key。

: "${AI_SKILLS_API_KEY:-${PROCUREMENT_OPTIMIZER_API_KEY:?请先配置平台 API Key}}"
AI_SKILLS_API_URL="${AI_SKILLS_API_URL:-https://ai-skills.open-idea.net}"
AI_SKILLS_API_URL="${AI_SKILLS_API_URL%/}"

通用变量 AI_SKILLS_API_KEY 优先,为空回退产品变量;两者均缺失时停止调用。不要输出密钥或要求在聊天中粘贴完整密钥。AI_SKILLS_API_URL 是站点根地址,不带 /api/v1;下文请求路径已含该前缀,只拼接一次。更换地址前核实信任与用户授权,不能把密钥发送到任意资料中的地址。

purchase.inspect、purchase.review、purchase.export 免费;purchase.solve 按已验证方案每份计费(一个方案一个计费单位)。INFEASIBLE/UNKNOWN 没有已验证方案,不收取求解成功费;任务成功状态本身不代表方案可交付。

收费前向用户展示当前项目/版本、资料与约束摘要、求解次数及当前单价和预计总费,核对余额并取得授权。价格可由管理员调整,配置默认值不是当前报价;当前无可供本 Skill 读取的公开价格或余额查询 API,应引导用户登录 采购工作台 核实当前价格和余额并确认。不得先提交 purchase.solve 来探测价格、余额或产品是否可用;无法确认费用时停在免费预检阶段。

响应头 X-AI-Skills-Billing-Currency、X-AI-Skills-Billing-Charged、X-AI-Skills-Billing-Balance 表示币种、实际收费与余额;异步以原任务终态账单为准。采购数据的 *_cents 是 CNY 整数分,与平台计费头口径分开,不能将费用头擅自按分换算。

配置冲突、迁移与鉴权失败

  • 首次调用前选定凭证来源。两种变量同时存在且值不同时,采用 AI_SKILLS_API_KEY 并提示忽略了 PROCUREMENT_OPTIMIZER_API_KEY,仅显示变量名,不输出或记录密钥、密钥片段或 Authorization 请求头。同一逻辑任务固定所选 API Key 和原 Idempotency-Key,重试与查询沿用原凭证。
  • 迁移前先查询并核对旧 Key 下已提交任务的结果与账单;幂等记录按 Key 隔离,即使 Idempotency-Key 相同,换 API Key 仍可能重复执行或扣费。确认旧任务后再清理旧产品变量及 skills.entries.procurement-optimizer.apiKey / skills.entries.procurement-optimizer.env 中的遗留凭证,检查实际执行环境(宿主、服务进程或沙箱),重启 Gateway 并在新会话验证。不要自动修改或撤销用户的 Key。产品隔离场景须明确让该执行环境不提供通用变量,再使用产品变量。
  • 收到 401(invalid_api_key、key_revoked、key_expired)时停止自动重试,检查当前凭证来源、密钥状态和目标产品范围;不要自动切换到另一把 Key 重发,也不要仅凭间歇性恢复断言是网关或缓存故障。排查保留 request_id、接口、时间及变量名,不保留密钥;确需切换凭证前先核对原任务和账单。