{"id":"7edebf42-a761-442f-bfcf-64025e97ff1d","entityType":"agent","slug":"clawhub-1688aiinfra-1688-sourcing-inquiry","name":"1688 Sourcing Inquiry","canonicalUrl":"https://www.xpersona.co/agent/clawhub-1688aiinfra-1688-sourcing-inquiry","canonicalPath":"/agent/clawhub-1688aiinfra-1688-sourcing-inquiry","generatedAt":"2026-10-10T21:57:18.767Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T19:33:26.263Z","emptyReason":null},"description":"1688采购询盘寻源能力。当用户有模糊的采购需求但尚未选定具体商品时，通过描述商品名称、数量和需求，发起采购询盘任务，由平台匹配合适的供应商和报价方案。 核心定位：采购前的询盘寻源阶段，帮助用户将模糊的采购意向转化为结构化询盘，获取供应商报价。 触发词：询盘、询价、寻源、采购咨询、发布采购需求、我有一批XX要采购... Skill: 1688 Sourcing Inquiry Owner: 1688aiinfra Summary: 1688采购询盘寻源能力。当用户有模糊的采购需求但尚未选定具体商品时，通过描述商品名称、数量和需求，发起采购询盘任务，由平台匹配合适的供应商和报价方案。 核心定位：采购前的询盘寻源阶段，帮助用户将模糊的采购意向转化为结构化询盘，获取供应商报价。 触发词：询盘、询价、寻源、采购咨询、发布采购需求、我有一批XX要采购... Tags: latest:0.1.0 Version history: v0.1.0 | 2026-05-06T02:28:48.077Z | auto Initial release of 1688-sourcing-inquiry skill: - Enables users to submit sourcing inquiries based on product name, quantity,","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s177df9srv6z2y0gd1kw90rern83hzxb:1688-sourcing-inquiry","sourceUrl":"https://clawhub.ai/1688aiinfra/1688-sourcing-inquiry","homepage":"https://clawhub.ai/1688aiinfra/skills/1688-sourcing-inquiry","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/1688aiinfra/1688-sourcing-inquiry","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/1688aiinfra/skills/1688-sourcing-inquiry","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"1688采购询盘寻源能力。当用户有模糊的采购需求但尚未选定具体商品时，通过描述商品名称、数量和需求，发起采购询盘任务，由平台匹配合适的供应商和报价方案。 核心定位：采购前的询盘寻源阶段，帮助用户将模糊的采购意向转化为结构化询盘，获取供应商报价。 触发词：询盘、询价、寻源、采购咨询、发布采购需求、我有一批XX要采购..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T19:33:26.263Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T19:33:26.263Z","emptyReason":null},"stars":null,"forks":null,"downloads":1279,"packageName":null,"latestVersion":"0.1.0","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T19:33:26.263Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T19:33:26.263Z","lastCrawledAt":"2026-10-10T19:33:26.263Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T19:33:26.263Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.0","createdAt":"2026-05-06T02:28:48.077Z","changelog":"Initial release of 1688-sourcing-inquiry skill: - Enables users to submit sourcing inquiries based on product name, quantity, and requirements when no specific product is selected. - Transforms vague procurement intent into structured inquiries to match suppliers and get quotations from the 1688 platform. - Skill triggers only for explicit sourcing, inquiry, or quote requests with vague needs and no specific product or supplier chosen. - Strict boundaries and integration with related skills: browsing triggers 1688-product-find, order placement triggers 1688-order, supplier search triggers 1688-source-suppliers. - Provides clear parameter extraction and prompts users to fill missing fields (product name, quantity, requirements) before submitting an inquiry. - Includes robust error handling and strict prohibitions on fabricating sourcing info or misusing the skill outside its defined scope.","fileCount":31,"zipByteSize":50685}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177df9srv6z2y0gd1kw90rern83hzxb:1688-sourcing-inquiry","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:57:18.767Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-sourcing-inquiry/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T19:33:26.263Z","emptyReason":null},"readme":"Skill: 1688 Sourcing Inquiry\n\nOwner: 1688aiinfra\n\nSummary: 1688采购询盘寻源能力。当用户有模糊的采购需求但尚未选定具体商品时，通过描述商品名称、数量和需求，发起采购询盘任务，由平台匹配合适的供应商和报价方案。 核心定位：采购前的询盘寻源阶段，帮助用户将模糊的采购意向转化为结构化询盘，获取供应商报价。 触发词：询盘、询价、寻源、采购咨询、发布采购需求、我有一批XX要采购...\n\nTags: latest:0.1.0\n\nVersion history:\n\nv0.1.0 | 2026-05-06T02:28:48.077Z | auto\n\nInitial release of 1688-sourcing-inquiry skill:\n\n- Enables users to submit sourcing inquiries based on product name, quantity, and requirements when no specific product is selected.\n- Transforms vague procurement intent into structured inquiries to match suppliers and get quotations from the 1688 platform.\n- Skill triggers only for explicit sourcing, inquiry, or quote requests with vague needs and no specific product or supplier chosen.\n- Strict boundaries and integration with related skills: browsing triggers 1688-product-find, order placement triggers 1688-order, supplier search triggers 1688-source-suppliers.\n- Provides clear parameter extraction and prompts users to fill missing fields (product name, quantity, requirements) before submitting an inquiry.\n- Includes robust error handling and strict prohibitions on fabricating sourcing info or misusing the skill outside its defined scope.\n\nArchive index:\n\nArchive v0.1.0: 31 files, 50685 bytes\n\nFiles: cli.py (14609b), references/capabilities/configure.md (1383b), references/capabilities/procurement.md (3188b), references/common/error-handling.md (1241b), references/skill埋点说明.md (4401b), requirements.txt (30b), scripts/_auth.py (3608b), scripts/_const.py (6290b), scripts/_errors.py (1541b), scripts/_http.py (4407b), scripts/_output.py (1831b), scripts/_tracker.py (2492b), scripts/authorize.py (7048b), scripts/callback_server.py (17925b), scripts/capabilities/__init__.py (0b), scripts/capabilities/configure/__init__.py (0b), scripts/capabilities/configure/cmd.py (5478b), scripts/capabilities/configure/service.py (2375b), scripts/capabilities/procurement/__init__.py (0b), scripts/capabilities/procurement/cmd.py (1872b), scripts/capabilities/procurement/service.py (1370b), scripts/encrypted_store.py (2039b), scripts/env_writer.py (2294b), scripts/pkce.py (836b), scripts/scope_manager.py (4854b), scripts/secure_store.py (4657b), scripts/token_manager.py (10326b), skill-card.md (2415b), SKILL.md (8828b), templates/callback.html (8108b), _meta.json (140b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: 1688-sourcing-inquiry\ndescription: |\n  1688采购询盘寻源能力。当用户有模糊的采购需求但尚未选定具体商品时，通过描述商品名称、数量和需求，发起采购询盘任务，由平台匹配合适的供应商和报价方案。\n  核心定位：采购前的询盘寻源阶段，帮助用户将模糊的采购意向转化为结构化询盘，获取供应商报价。\n  触发词：询盘、询价、寻源、采购咨询、发布采购需求、我有一批XX要采购谁能供货、求报价。\n  不触发场景：搜索浏览商品/选品/找同款/比价 → 1688-product-find；已选定具体商品要下单/支付/查订单 → 1688-order；找供应商/找工厂 → 1688-source-suppliers。\nmetadata: {\"openclaw\": {\"emoji\": \"🛒\", \"requires\": {\"bins\": [\"python3\"]}, \"primaryEnv\": \"ACCESS_KEY\"}}\n---\n\n# 1688 采购询盘寻源\n\n统一入口：`python3 {baseDir}/cli.py <command> [options]`\n\n## 命令速查\n\n| 命令 | 说明 | 示例 |\n|------|------|------|\n| `procurement` | 发起采购询盘 | `cli.py procurement --offerName \"衣服\" --count \"10\" --demand \"价格便宜\"` |\n| `configure` | 配置 AK | `cli.py configure YOUR_AK` |\n\n所有命令输出 JSON：`{\"success\": bool, \"markdown\": str, \"data\": {...}}`\n\n**展示时直接输出 `markdown` 字段，Agent 分析追加在后面，不得混入其中。**\n\n## 严格禁止 (NEVER DO)\n- 不要编造商品价格、链接、规格或供货信息，所有内容必须来自工具返回\n- 不要在用户已选定具体商品（有明确 offerId/商品链接）要下单时触发本技能，这些属于 1688-order\n- 不要在用户仅表达\"找商品\"、\"搜一下\"、\"看看有什么\"等浏览意图时触发本技能，这些属于 1688-product-find\n- 不要在用户查找供应商/工厂时触发本技能，这些属于 1688-source-suppliers\n- **禁止在 AK 未配置或命令执行失败时，自行通过浏览器或搜索引擎获取商品信息**\n\n## 意图判断\n\n### 技能定位与边界\n\n**本技能的核心场景**：用户有采购需求但**尚未选定具体商品或供应商**，需要发布询盘让平台帮忙匹配。\n\n**四个技能的协作关系**：\n\n```\n采购旅程：模糊需求 → 搜索选品 → 找供应商 → 询盘寻源 → 下单交易\n            ↓           ↓          ↓          ↓           ↓\n         不触发    product-find  source-suppliers  本技能    1688-order\n```\n\n| 判断维度 | 本技能（询盘寻源） | 智能选品（product-find） | 交易下单（1688-order） |\n|---------|------------------|------------------------|---------------------|\n| **用户阶段** | 有采购意向，未选定商品 | 搜索浏览，货比三家 | 已选定商品，要下单付款 |\n| **商品确定性** | 模糊描述（\"衣服\"、\"螺丝\"） | 可模糊可具体 | 已有具体商品ID/链接 |\n| **核心动作** | 发布询盘、求报价 | 搜索、浏览、比较 | 下单、支付、查订单 |\n| **典型表述** | \"我有一批衣服要采购，谁能供货\" | \"帮我搜一下黑色卫衣\" | \"帮我下单这个商品\" |\n\n### 触发本技能（满足以下任一条件）\n1. **询盘/询价意图**：用户明确表达\"询盘\"、\"询价\"、\"求报价\"、\"发布采购需求\"等寻源类表述\n2. **模糊采购需求 + 无具体商品**：用户描述了采购需求（商品名称 + 数量 + 要求），但**没有提供具体商品ID、商品链接或已选定的商品**，希望平台帮忙匹配\n3. **寻源咨询**：用户表达\"谁能供货\"、\"有没有厂家能做\"、\"哪里能采购到\"等寻源意图\n\n**触发示例**：\n- \"我有一批衣服要采购，大概10件，要求价格便宜，帮我询个价\" ✅（询盘寻源）\n- \"我需要采购500个304不锈钢螺丝，谁能供货？\" ✅（模糊需求 + 寻源）\n- \"帮我发布一个采购需求：200件纯棉T恤，要便宜的\" ✅（发布采购需求）\n- \"我想采购一批办公用品，帮我问问有没有合适的供应商报价\" ✅（询盘咨询）\n- \"求报价：1000个纸杯，要食品级材质\" ✅（求报价）\n\n### 不触发本技能（转交其他技能）\n\n| 用户表述 | 转交技能 | 原因 |\n|---------|---------|------|\n| \"帮我搜一下黑色卫衣\" | **1688-product-find** | 搜索浏览商品，非询盘 |\n| \"帮我找同款\" / \"以图搜图\" / \"比价\" | **1688-product-find** | 选品比价，非询盘 |\n| \"帮我下单这个商品（offerId: xxx）\" | **1688-order** | 已有具体商品，直接下单 |\n| \"帮我下单，商品链接是 xxx\" | **1688-order** | 已选定商品，交易下单 |\n| \"我要买100箱打印纸\"（已有具体商品） | **1688-order** | 已选定商品要下单 |\n| \"帮我支付订单\" / \"查询订单状态\" | **1688-order** | 订单交易流程 |\n| \"帮我找做保温杯的供应商\" | **1688-source-suppliers** | 找供应商信息 |\n| \"我要下单付款\" / \"查物流\" | 不处理 | 非本技能范围 |\n\n### 边界场景处理\n\n- **\"帮我采购10件衣服，要求价格便宜\"**（无具体商品ID）→ ✅ 触发本技能（模糊需求，发起询盘）\n- **\"帮我采购10件衣服，商品ID是 xxx\"**（有具体商品）→ **交给 1688-order**（已选定商品，直接下单）\n- **\"帮我采购10件衣服，链接是 xxx\"**（有商品链接）→ **交给 1688-order**（已选定商品，直接下单）\n- **\"我想买打印纸\"**（无数量、无具体商品、意图模糊）→ **交给 1688-product-find**（更接近浏览搜索）\n- **\"找货\"** → **交给 1688-product-find**（搜索商品）\n- **\"帮我找做衣服的工厂\"** → **交给 1688-source-suppliers**（找供应商）\n\n### 核心区分口诀\n\n> **有具体商品要下单 → 1688-order**\n> **没有具体商品，只有模糊需求要询盘 → 本技能**\n> **只是搜索浏览看看 → 1688-product-find**\n> **找供应商/工厂信息 → 1688-source-suppliers**\n\n## 使用流程\n\nAgent 根据用户意图**直接执行对应命令**。\n各命令在 AK 缺失等情况下会自行返回明确错误，Agent 按下方「异常处理」应对即可。\n\n**采购询盘使用指引**：\n- 当用户表达模糊的采购需求且未选定具体商品时（如\"我需要采购10件衣服，要求价格便宜，帮我询个价\"），使用 `procurement`\n- Agent 需从用户自然语言中提取以下字段：\n  - `offerName`：商品名称（如\"衣服\"）\n  - `count`：采购数量，**必须是纯数字**，不能包含单位（如用户说\"500斤\"，传给 count 的值应为 \"500\"，而非 \"500斤\"）\n  - `demand`：采购需求描述（如\"价格便宜\"）\n- 若有字段缺失，**必须主动询问用户补充**：\n  - 缺 offerName → \"请问您要采购什么商品？\"\n  - 缺 count → \"请问您大概需要采购多少？\"\n  - 缺 demand → \"请问您对商品有什么要求？（如价格、材质、发货速度等）\"\n- 所有字段齐全后再执行命令\n\n## 安全声明\n\n| 风险级别 | 命令 | Agent 行为 |\n|---------|------|-----------|\n| **写入** | procurement | 当商品名称、数量、需求明确时直接执行；信息缺失时先追问补齐 |\n\n**全局写入规则（适用于所有写操作）**：\n1. 发送类、创建类操作属于写入。\n2. 当所需信息明确时，可直接执行。\n3. 当信息缺失时，先向用户追问补齐后再执行。\n4. 不擅自扩写、改写用户的原始意图；如需调整，应明确告知并征得用户认可。\n\n## 执行前置（首次命中能力时必须）\n\n- 首次执行 `procurement` 前：先完整阅读 `references/capabilities/procurement.md`\n- 首次执行 `configure` 前：先完整阅读 `references/capabilities/configure.md`\n- 同一会话内后续重复调用可复用已加载知识；仅在规则冲突或文档更新时重读。\n\n## 异常处理\n\n任何命令输出 `success: false` 时：\n\n1. **先输出 `markdown` 字段**（已包含用户可读的错误描述）\n2. **再根据关键词追加引导**：\n\n| markdown 关键词 | Agent 额外动作 |\n|----------------|--------------|\n| \"AK 未配置\" 或 \"签名无效\" 或 \"401\" | 提示用户当前能力所需鉴权未就绪，请补充有效 AK 或检查鉴权配置后重试 |\n| \"offerName 不能为空\" | 询问用户要采购什么商品 |\n| \"count 不能为空\" | 询问用户大概需要采购多少 |\n| \"demand 不能为空\" | 询问用户对商品有什么要求 |\n| \"参数缺失\" 或 \"title/userId/text 不能为空\" | 提示用户补充缺失参数后重试 |\n| \"限流\" 或 \"429\" | 建议用户等待 1-2 分钟后重试 |\n| 其他 | 仅输出 markdown 即可 |\n\n## 参数补齐引导话术\n\n**采购询盘**：\n> \"发起采购询盘需要这几个信息：商品名称、采购数量、采购需求。您可以直接告诉我，例如：我需要采购10件衣服，要求价格便宜，帮我询个价。\"\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn76msg8cwkep3b08z7zffx9fx82p5wj\",\n  \"slug\": \"1688-sourcing-inquiry\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1778034528077\n}\n\nFile v0.1.0:references/capabilities/configure.md\n\n# AK 配置指南\n\n## 获取 AK（引导用户）\n\n当用户没有 AK 时，Agent 输出以下引导：\n\n> 请提供您的 AK（Access Key），用于钉钉消息发送的鉴权。\n\n## Agent 配置流程（核心）\n\n用户告知 AK 后，Agent 按以下步骤执行：\n\n```\n1. 从用户消息中提取 AK 字符串\n2. 执行 cli.py configure <AK>\n3. 检查输出：success=true → 继续；success=false → 原样输出 markdown 错误信息\n4. 配置成功后由 OpenClaw 配置注入生效（不依赖本地会话缓存）；如当前会话仍未生效，提示用户新开会话或执行 `openclaw secrets reload`\n5. 继续用户的原始请求（如发送钉钉消息）；若用户仅提供了 AK 没有其他请求，告知\"配置成功，您可以发送钉钉消息了\"\n```\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py configure YOUR_AK_HERE\n```\n\n无参数调用可查看当前配置状态：`python3 {baseDir}/cli.py configure`\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| configure 输出 success=false | 原样输出 markdown 错误信息 |\n| 配置成功但后续命令仍报 AK 未配置 | 提示用户新开会话或执行 `openclaw secrets reload`，必要时再重试 configure |\n| 用户问\"我的 AK 在哪\" | 输出上方获取 AK 引导话术 |\n\n通用 HTTP 异常（400/401/429/500）处理见 `references/common/error-handling.md`。\n\nFile v0.1.0:references/capabilities/procurement.md\n\n# 采购数字人使用指南\n\n## 功能说明\n\n采购数字人 Skill，支持用户通过自然语言描述采购需求，自动解析为结构化数据并发起采购任务。\n\n## 前置条件\n\n- 已配置 AK（未配置时会提示运行 `cli.py configure YOUR_AK`）\n\n## Agent 处理流程（核心）\n\n```\n1. 用户输入自然语言采购需求（如\"帮我采购10件衣服，要求价格便宜\"）\n2. Agent 从用户消息中提取以下字段：\n   - offerName: 商品名称（如\"衣服\"）\n   - count: 采购数量（如\"10\"）\n   - demand: 采购需求描述（如\"价格便宜\"）\n3. 如果有字段缺失，Agent 需要主动询问用户补充：\n   - 缺 offerName → \"请问您要采购什么商品？\"\n   - 缺 count → \"请问您要采购多少件？\"\n   - 缺 demand → \"请问您对商品有什么要求？（如价格、质量、发货速度等）\"\n4. 所有字段齐全后，执行 CLI 命令\n5. 检查输出：success=true → 告知用户采购任务已创建；success=false → 原样输出错误信息\n```\n\n### 自然语言解析示例\n\n| 用户输入 | offerName | count | demand |\n|---------|-----------|-------|--------|\n| 采购10件衣服要求价格便宜 | 衣服 | 10 | 价格便宜 |\n| 帮我买500个螺丝，要304不锈钢的 | 螺丝 | 500 | 304不锈钢 |\n| 我需要采购一批手机壳 | 手机壳 | （需询问） | （需询问） |\n| 200件T恤，纯棉的，要便宜 | T恤 | 200 | 纯棉，价格便宜 |\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py procurement --offerName \"衣服\" --count \"10\" --demand \"价格便宜\"\n```\n\n### 参数说明\n\n| 参数 | 缩写 | 是否必填 | 说明 |\n|------|------|----------|------|\n| `--offerName` | `-n` | ✅ 是 | 商品名称 |\n| `--count` | `-c` | ✅ 是 | 采购数量（纯数字，不含单位） |\n| `--demand` | `-d` | ✅ 是 | 采购需求描述 |\n\n### 调用示例\n\n```bash\npython3 {baseDir}/cli.py procurement -n \"衣服\" -c \"10\" -d \"价格便宜\"\npython3 {baseDir}/cli.py procurement --offerName \"螺丝\" --count \"500\" --demand \"304不锈钢，要求包邮\"\n```\n\n## 输出格式\n\n### 成功\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"✅ 采购任务已创建\\n\\n- **商品名称**: 衣服\\n- **采购数量**: 10\\n- **采购需求**: 价格便宜\",\n  \"data\": {\n    \"data\": { ... }\n  }\n}\n```\n\n### 失败 — AK 未配置\n\n```json\n{\n  \"success\": false,\n  \"markdown\": \"❌ AK 未配置，无法创建采购任务。\\n\\n运行: `cli.py configure YOUR_AK`\",\n  \"data\": { \"data\": {} }\n}\n```\n\n### 失败 — 参数缺失\n\n```json\n{\n  \"success\": false,\n  \"markdown\": \"❌ 参数错误：商品名称（offerName）不能为空\",\n  \"data\": { \"data\": {} }\n}\n```\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| AK 未配置 | 引导用户执行 `cli.py configure YOUR_AK` 配置 AK |\n| 参数缺失（offerName/count/demand） | 主动询问用户补充缺少的信息 |\n| 用户输入模糊无法解析 | 逐一询问商品名称、数量、需求 |\n| 接口返回格式异常 | 提示\"格式异常，请稍后重试\" |\n| 其他运行时异常 | 原样输出错误信息 |\n\n通用 HTTP 异常（400/401/429/500）处理见 `references/common/error-handling.md`。\n\nFile v0.1.0:references/common/error-handling.md\n\n# 通用错误处理\n\n所有命令在遇到以下 HTTP / 业务错误时，遵循统一处理策略。\n\n## 错误码与 Agent 应对\n\n| 错误码 | 含义 | Agent 应对 |\n|--------|------|-----------|\n| — | AK 未配置（命令入口预检查） | 输出 AK 引导话术（见 SKILL.md） |\n| 400 | 参数不合法 | 检查用户输入（关键词、渠道、商品ID等）是否正确 |\n| 401 | 鉴权无效（AK 错误或已过期） | 输出 AK 引导话术（见 SKILL.md），引导用户重新配置 |\n| 429 | 请求被限流 | 建议用户稍后重试（通常等待 1-2 分钟） |\n| 500 | 服务端异常 | 建议用户稍后重试，如持续出现建议联系客服 |\n\n## 网络异常\n\nCLI 已内置 3 次重试（指数退避），重试耗尽后返回 `success: false`。\n\nAgent 应对：告知用户\"网络异常，请检查网络连接后重试\"。\n\n## 识别方式\n\n当 CLI 输出 `success: false` 时：\n\n1. 输出 `markdown` 字段（用户可读的错误描述）\n2. 检查 `markdown` 中的关键词（如 \"AK 未配置\"、\"401\"、\"授权过期\"、\"限流\"），按 SKILL.md 异常处理表追加对应引导\n\n## 各能力特有异常\n\n通用错误外的业务异常，见各能力文档的\"业务异常处理\"段。\n\nFile v0.1.0:references/skill埋点说明.md\n\n# Skill 埋点说明\n\n本文描述 **1688-open-skill-template** 中 Skill 调用埋点的上报时机、请求内容与失败策略，便于对接网关统计与二次开发对齐行为。\n\n## 1. 作用概述\n\n埋点用于在 **Skill 网关**侧统计 Skill 被调用的次数与基础元信息（名称、版本、渠道、场景）。实现集中在 `scripts/_tracker.py` 的 `report_skill_usage()`，由统一 CLI 入口 `cli.py` 在命令生命周期末尾触发。\n\n## 2. 上报时机\n\n| 场景 | 是否上报 | 说明 |\n|------|----------|------|\n| 已识别子命令（如 `ali_dingtalk`、`configure`），且子命令 `main()` **正常执行完毕**（无未捕获异常、未中途 `sys.exit`） | **是** | 无论业务 JSON 中 `success` 为 `true` 或 `false`（例如 AK 未配置、参数校验失败等只要进程未崩），均在子命令返回后上报一次。 |\n| 未传入子命令、子命令名不在注册表、或展示用法后 `sys.exit(1)` | **否** | `cli.py` 在调用子模块前即退出，不会执行埋点逻辑。 |\n| 子命令内 `argparse` 报错并 `sys.exit`（如必填参数缺失） | **否** | 进程在 `module.main()` 内退出，**不会**回到 `cli.py` 的埋点代码。 |\n| 子命令 `main()` 抛出**未捕获**异常 | **否** | 异常向上传播，埋点代码未执行。 |\n\n**小结**：埋点表示「一次 CLI 子命令入口已跑完主流程」，偏 **会话级 / 调用次数** 统计，**不**区分具体子命令名（请求体中无命令字段），也**不**保证业务一定成功。\n\n## 3. 上报接口与传输\n\n| 项 | 值 |\n|----|-----|\n| 方法 | `POST` |\n| 路径 | `/api/reportSkillsUsage/1.0.0` |\n| 完整 URL | 与业务 API 相同网关：`https://skills-gateway.1688.com` + 路径（见 `scripts/_http.py` 中 `BASE_URL`） |\n| 请求体 | JSON，`Content-Type: application/json; charset=utf-8` |\n| 鉴权 | 与能力调用一致：通过 `get_auth_headers()` 注入签名；**未配置 AK 时** `api_post` 会抛鉴权类异常，由埋点模块捕获（见下文），**不会**向网关发出 HTTP 请求。 |\n\n网络层对 **连接错误 / 超时** 有有限次重试（与 `_http.api_post` 一致）；HTTP 4xx/5xx 或业务 `success: false` 会转为异常并由埋点侧吞掉。\n\n## 4. 请求体字段\n\n上报 JSON 字段与含义如下（与代码一一对应）。\n\n| 字段 | 类型 | 取值说明 |\n|------|------|----------|\n| `apiName` | `null` | 固定为 JSON `null`，占位或网关约定字段。 |\n| `skillsName` | string | Skill 名称，来自环境变量 `SKILL_NAME`，缺省为 `1688-open-skill-template`。 |\n| `version` | string | Skill 版本，来自 `SKILL_VERSION`，缺省为 `1.0.0`。 |\n| `scene` | string | 固定为 `\"CLI\"`，表示当前模板通过命令行入口触发。 |\n| `channel` | string | 发布渠道，来自 `SKILL_CHANNEL`，缺省为 `clawhub`。 |\n\n**环境变量来源**：模块加载时会读取项目根目录 `.env` 并写入 `os.environ`（**不覆盖**已存在的环境变量，便于 CI/CD 注入覆盖本地文件）。\n\n## 5. 失败与日志策略\n\n- `report_skill_usage()` 整体包裹在 `try/except` 中：**任意异常均不向外抛出**，主命令的退出码与输出不受影响。\n- 失败时通过 logger `1688_tracker` 输出 **DEBUG** 级别日志：`埋点上报失败（已忽略）: ...`。\n- `cli.py` 在调用 `report_skill_usage()` 外层还有一次 `try/except`，避免导入埋点模块等极端情况影响进程。\n\n若需在本地排查埋点，可将日志级别调到 DEBUG 并关注 `1688_tracker` / `1688_http`。\n\n## 6. 与模板扩展的关系\n\n新增 `capabilities/<name>/cmd.py` 并注册命令后，只要仍由根目录 `cli.py` 统一调度且在子命令 `main()` 正常返回后回到 `cli.py`，**会自动沿用同一套埋点**，无需在子命令内重复调用。\n\n若希望按子命令或按业务结果细分统计，需要在网关契约允许的前提下扩展请求体或增加独立埋点逻辑（当前模板未实现）。\n\n## 7. 相关文件索引\n\n| 文件 | 职责 |\n|------|------|\n| `scripts/_tracker.py` | 读取 `.env`、组装请求体、调用 `api_post` 上报。 |\n| `cli.py` | 命令分发结束后调用 `report_skill_usage()`。 |\n| `scripts/_http.py` | `api_post`：网关地址、签名、重试与错误映射。 |\n| `SKILL.md` | 面向使用方的环境变量与埋点摘要。 |\n\nFile v0.1.0:skill-card.md\n\n## Description:\n\n1688 Sourcing Inquiry helps an agent turn vague procurement needs into structured 1688 sourcing inquiries so the platform can match suppliers and quotation options.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[1688aiinfra](https://clawhub.ai/user/1688aiinfra)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal procurement users and agents use this skill when a buyer has a product name, quantity, and requirements but has not selected a specific product or supplier. The skill submits a 1688 sourcing inquiry after required fields are collected.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill requires a 1688 access key and handles OAuth credential material.\n\nMitigation: Install only after reviewing the skill, provide credentials only in trusted environments, and rotate the access key if it may have been exposed.\n\nRisk: Command usage is reported to the 1688 gateway.\n\nMitigation: Use the skill only when this telemetry behavior is acceptable for the deployment context.\n\nRisk: Credential status or configuration output could appear in shared logs or transcripts.\n\nMitigation: Avoid running configure status commands in shared logs or transcripts.\n\n## Reference(s):\n\n- [1688 Sourcing Inquiry on ClawHub](https://clawhub.ai/1688aiinfra/skills/1688-sourcing-inquiry)\n- [AK configuration guide](references/capabilities/configure.md)\n- [Procurement capability guide](references/capabilities/procurement.md)\n- [Common error handling](references/common/error-handling.md)\n- [Skill usage telemetry notes](references/skill埋点说明.md)\n- [1688 skills gateway](https://skills-gateway.1688.com)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration instructions, Guidance]\n\n**Output Format:** [JSON containing success, markdown, and data fields; agents should present the markdown field to users]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires python3 and a configured ACCESS_KEY for authenticated 1688 gateway calls.]\n\n## Skill Version(s):\n\n0.1.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v0.1.0:requirements.txt\n\nrequests>=2.28.0\nkeyring>=25.0","readmeExcerpt":"Skill: 1688 Sourcing Inquiry Owner: 1688aiinfra Summary: 1688采购询盘寻源能力。当用户有模糊的采购需求但尚未选定具体商品时，通过描述商品名称、数量和需求，发起采购询盘任务，由平台匹配合适的供应商和报价方案。 核心定位：采购前的询盘寻源阶段，帮助用户将模糊的采购意向转化为结构化询盘，获取供应商报价。 触发词：询盘、询价、寻源、采购咨询、发布采购需求、我有一批XX要采购... Tags: latest:0.1.0 Version history: v0.1.0 | 2026-05-06T02:28:48.077Z | auto Initial release of 1688-sourcing-inquiry skill: - Enables users to submit sourcing inquiries based on product name, quantity,","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"采购旅程：模糊需求 → 搜索选品 → 找供应商 → 询盘寻源 → 下单交易\n            ↓           ↓          ↓          ↓           ↓\n         不触发    product-find  source-suppliers  本技能    1688-order"},{"language":"text","snippet":"1. 从用户消息中提取 AK 字符串\n2. 执行 cli.py configure <AK>\n3. 检查输出：success=true → 继续；success=false → 原样输出 markdown 错误信息\n4. 配置成功后由 OpenClaw 配置注入生效（不依赖本地会话缓存）；如当前会话仍未生效，提示用户新开会话或执行 `openclaw secrets reload`\n5. 继续用户的原始请求（如发送钉钉消息）；若用户仅提供了 AK 没有其他请求，告知\"配置成功，您可以发送钉钉消息了\""},{"language":"bash","snippet":"python3 {baseDir}/cli.py configure YOUR_AK_HERE"},{"language":"text","snippet":"1. 用户输入自然语言采购需求（如\"帮我采购10件衣服，要求价格便宜\"）\n2. Agent 从用户消息中提取以下字段：\n   - offerName: 商品名称（如\"衣服\"）\n   - count: 采购数量（如\"10\"）\n   - demand: 采购需求描述（如\"价格便宜\"）\n3. 如果有字段缺失，Agent 需要主动询问用户补充：\n   - 缺 offerName → \"请问您要采购什么商品？\"\n   - 缺 count → \"请问您要采购多少件？\"\n   - 缺 demand → \"请问您对商品有什么要求？（如价格、质量、发货速度等）\"\n4. 所有字段齐全后，执行 CLI 命令\n5. 检查输出：success=true → 告知用户采购任务已创建；success=false → 原样输出错误信息"},{"language":"bash","snippet":"python3 {baseDir}/cli.py procurement --offerName \"衣服\" --count \"10\" --demand \"价格便宜\""},{"language":"bash","snippet":"python3 {baseDir}/cli.py procurement -n \"衣服\" -c \"10\" -d \"价格便宜\"\npython3 {baseDir}/cli.py procurement --offerName \"螺丝\" --count \"500\" --demand \"304不锈钢，要求包邮\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: 1688-sourcing-inquiry\ndescription: |\n  1688采购询盘寻源能力。当用户有模糊的采购需求但尚未选定具体商品时，通过描述商品名称、数量和需求，发起采购询盘任务，由平台匹配合适的供应商和报价方案。\n  核心定位：采购前的询盘寻源阶段，帮助用户将模糊的采购意向转化为结构化询盘，获取供应商报价。\n  触发词：询盘、询价、寻源、采购咨询、发布采购需求、我有一批XX要采购谁能供货、求报价。\n  不触发场景：搜索浏览商品/选品/找同款/比价 → 1688-product-find；已选定具体商品要下单/支付/查订单 → 1688-order；找供应商/找工厂 → 1688-source-suppliers。\nmetadata: {\"openclaw\": {\"emoji\": \"🛒\", \"requires\": {\"bins\": [\"python3\"]}, \"primaryEnv\": \"ACCESS_KEY\"}}\n---\n\n# 1688 采购询盘寻源\n\n统一入口：`python3 {baseDir}/cli.py <command> [options]`\n\n## 命令速查\n\n| 命令 | 说明 | 示例 |\n|------|------|------|\n| `procurement` | 发起采购询盘 | `cli.py procurement --offerName \"衣服\" --count \"10\" --demand \"价格便宜\"` |\n| `configure` | 配置 AK | `cli.py configure YOUR_AK` |\n\n所有命令输出 JSON：`{\"success\": bool, \"markdown\": str, \"data\": {...}}`\n\n**展示时直接输出 `markdown` 字段，Agent 分析追加在后面，不得混入其中。**\n\n## 严格禁止 (NEVER DO)\n- 不要编造商品价格、链接、规格或供货信息，所有内容必须来自工具返回\n- 不要在用户已选定具体商品（有明确 offerId/商品链接）要下单时触发本技能，这些属于 1688-order\n- 不要在用户仅表达\"找商品\"、\"搜一下\"、\"看看有什么\"等浏览意图时触发本技能，这些属于 1688-product-find\n- 不要在用户查找供应商/工厂时触发本技能，这些属于 1688-source-suppliers\n- **禁止在 AK 未配置或命令执行失败时，自行通过浏览器或搜索引擎获取商品信息**\n\n## 意图判断\n\n### 技能定位与边界\n\n**本技能的核心场景**：用户有采购需求但**尚未选定具体商品或供应商**，需要发布询盘让平台帮忙匹配。\n\n**四个技能的协作关系**：\n\n```\n采购旅程：模糊需求 → 搜索选品 → 找供应商 → 询盘寻源 → 下单交易\n            ↓           ↓          ↓          ↓           ↓\n         不触发    product-find  source-suppliers  本技能    1688-order\n```\n\n| 判断维度 | 本技能（询盘寻源） | 智能选品（product-find） | 交易下单（1688-order） |\n|---------|------------------|------------------------|---------------------|\n| **用户阶段** | 有采购意向，未选定商品 | 搜索浏览，货比三家 | 已选定商品，要下单付款 |\n| **商品确定性** | 模糊描述（\"衣服\"、\"螺丝\"） | 可模糊可具体 | 已有具体商品ID/链接 |\n| **核心动作** | 发布询盘、求报价 | 搜索、浏览、比较 | 下单、支付、查订单 |\n| **典型表述** | \"我有一批衣服要采购，谁能供货\" | \"帮我搜一下黑色卫衣\" | \"帮我下单这个商品\" |\n\n### 触发本技能（满足以下任一条件）\n1. **询盘/询价意图**：用户明确表达\"询盘\"、\"询价\"、\"求报价\"、\"发布采购需求\"等寻源类表述\n2. **模糊采购需求 + 无具体商品**：用户描述了采购需求（商品名称 + 数量 + 要求），但**没有提供具体商品ID、商品链接或已选定的商品**，希望平台帮忙匹配\n3. **寻源咨询**：用户表达\"谁能供货\"、\"有没有厂家能做\"、\"哪里能采购到\"等寻源意图\n\n**触发示例**：\n- \"我有一批衣服要采购，大概10件，要求价格便宜，帮我询个价\" ✅（询盘寻源）\n- \"我需要采购500个304不锈钢螺丝，谁能供货？\" ✅（模糊需求 + 寻源）\n- \"帮我发布一个采购需求：200件纯棉T恤，要便宜的\" ✅（发布采购需求）\n- \"我想采购一批办公用品，帮我问问有没有合适的供应商报价\" ✅（询盘咨询）\n- \"求报价：1000个纸杯，要食品级材质\" ✅（求报价）\n\n### 不触发本技能（转交其他技能）\n\n| 用户表述 | 转交技能 | 原因 |\n|---------|---------|------|\n| \"帮我搜一下黑色卫衣\" | **1688-product-find** | 搜索浏览商品，非询盘 |\n| \"帮我找同款\" / \"以图搜图\" / \"比价\" | **1688-product-find** | 选品比价，非询盘 |\n| \"帮我下单这个商品（offerId: xxx）\" | **1688-order** | 已有具体商品，直接下单 |\n| \"帮我下单，商品链接是 xxx\" | **1688-order** | 已选定商品，交易下单 |\n| \"我要买100箱打印纸\"（已有具体商品） | **1688-order** | 已选定商品要下单 |\n| \"帮我支付订单\" / \"查询订单状态\" | **1688-order** | 订单交易流程 |\n| \"帮我找做保温杯的供应商\" | **1688-source-suppliers** | 找供应商信息 |\n| \"我要下单付款\" / \"查物流\" | 不处理 | 非本技能范围 |\n\n### 边界场景处理\n\n- **\"帮我采购10件衣服，要求价格便宜\"**（无具体商品ID）→ ✅ 触发本技能（模糊需求，发起询盘）\n- **\"帮我采购10件衣服，商品ID是 xxx\"**（有具体商品）→ **交给 1688-order**（已选定商品，直接下单）\n- **\"帮我采购10件衣服，链接是 xxx\"**（有商品链接）→ **交给 1688-order**（已选定商品，直接下单）\n- **\"我想买打印纸\"**（无数量、无具体商品、意图模糊）→ **交给 1688-product-find**（更接近浏览搜索）\n- **\"找货\"** → **交给 1688-product-find**（搜索商品）\n- **\"帮我找做衣服的工厂\"** → **交给 1688-source-suppliers**（找供应商）\n\n### 核心区分口诀\n\n> **有具体商品要下单 → 1688-"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn76msg8cwkep3b08z7zffx9fx82p5wj\",\n  \"slug\": \"1688-sourcing-inquiry\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1778034528077\n}"},{"path":"references/capabilities/configure.md","content":"# AK 配置指南\n\n## 获取 AK（引导用户）\n\n当用户没有 AK 时，Agent 输出以下引导：\n\n> 请提供您的 AK（Access Key），用于钉钉消息发送的鉴权。\n\n## Agent 配置流程（核心）\n\n用户告知 AK 后，Agent 按以下步骤执行：\n\n```\n1. 从用户消息中提取 AK 字符串\n2. 执行 cli.py configure <AK>\n3. 检查输出：success=true → 继续；success=false → 原样输出 markdown 错误信息\n4. 配置成功后由 OpenClaw 配置注入生效（不依赖本地会话缓存）；如当前会话仍未生效，提示用户新开会话或执行 `openclaw secrets reload`\n5. 继续用户的原始请求（如发送钉钉消息）；若用户仅提供了 AK 没有其他请求，告知\"配置成功，您可以发送钉钉消息了\"\n```\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py configure YOUR_AK_HERE\n```\n\n无参数调用可查看当前配置状态：`python3 {baseDir}/cli.py configure`\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| configure 输出 success=false | 原样输出 markdown 错误信息 |\n| 配置成功但后续命令仍报 AK 未配置 | 提示用户新开会话或执行 `openclaw secrets reload`，必要时再重试 configure |\n| 用户问\"我的 AK 在哪\" | 输出上方获取 AK 引导话术 |\n\n通用 HTTP 异常（400/401/429/500）处理见 `references/common/error-handling.md`。"},{"path":"references/capabilities/procurement.md","content":"# 采购数字人使用指南\n\n## 功能说明\n\n采购数字人 Skill，支持用户通过自然语言描述采购需求，自动解析为结构化数据并发起采购任务。\n\n## 前置条件\n\n- 已配置 AK（未配置时会提示运行 `cli.py configure YOUR_AK`）\n\n## Agent 处理流程（核心）\n\n```\n1. 用户输入自然语言采购需求（如\"帮我采购10件衣服，要求价格便宜\"）\n2. Agent 从用户消息中提取以下字段：\n   - offerName: 商品名称（如\"衣服\"）\n   - count: 采购数量（如\"10\"）\n   - demand: 采购需求描述（如\"价格便宜\"）\n3. 如果有字段缺失，Agent 需要主动询问用户补充：\n   - 缺 offerName → \"请问您要采购什么商品？\"\n   - 缺 count → \"请问您要采购多少件？\"\n   - 缺 demand → \"请问您对商品有什么要求？（如价格、质量、发货速度等）\"\n4. 所有字段齐全后，执行 CLI 命令\n5. 检查输出：success=true → 告知用户采购任务已创建；success=false → 原样输出错误信息\n```\n\n### 自然语言解析示例\n\n| 用户输入 | offerName | count | demand |\n|---------|-----------|-------|--------|\n| 采购10件衣服要求价格便宜 | 衣服 | 10 | 价格便宜 |\n| 帮我买500个螺丝，要304不锈钢的 | 螺丝 | 500 | 304不锈钢 |\n| 我需要采购一批手机壳 | 手机壳 | （需询问） | （需询问） |\n| 200件T恤，纯棉的，要便宜 | T恤 | 200 | 纯棉，价格便宜 |\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py procurement --offerName \"衣服\" --count \"10\" --demand \"价格便宜\"\n```\n\n### 参数说明\n\n| 参数 | 缩写 | 是否必填 | 说明 |\n|------|------|----------|------|\n| `--offerName` | `-n` | ✅ 是 | 商品名称 |\n| `--count` | `-c` | ✅ 是 | 采购数量（纯数字，不含单位） |\n| `--demand` | `-d` | ✅ 是 | 采购需求描述 |\n\n### 调用示例\n\n```bash\npython3 {baseDir}/cli.py procurement -n \"衣服\" -c \"10\" -d \"价格便宜\"\npython3 {baseDir}/cli.py procurement --offerName \"螺丝\" --count \"500\" --demand \"304不锈钢，要求包邮\"\n```\n\n## 输出格式\n\n### 成功\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"✅ 采购任务已创建\\n\\n- **商品名称**: 衣服\\n- **采购数量**: 10\\n- **采购需求**: 价格便宜\",\n  \"data\": {\n    \"data\": { ... }\n  }\n}\n```\n\n### 失败 — AK 未配置\n\n```json\n{\n  \"success\": false,\n  \"markdown\": \"❌ AK 未配置，无法创建采购任务。\\n\\n运行: `cli.py configure YOUR_AK`\",\n  \"data\": { \"data\": {} }\n}\n```\n\n### 失败 — 参数缺失\n\n```json\n{\n  \"success\": false,\n  \"markdown\": \"❌ 参数错误：商品名称（offerName）不能为空\",\n  \"data\": { \"data\": {} }\n}\n```\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| AK 未配置 | 引导用户执行 `cli.py configure YOUR_AK` 配置 AK |\n| 参数缺失（offerName/count/demand） | 主动询问用户补充缺少的信息 |\n| 用户输入模糊无法解析 | 逐一询问商品名称、数量、需求 |\n| 接口返回格式异常 | 提示\"格式异常，请稍后重试\" |\n| 其他运行时异常 | 原样输出错误信息 |\n\n通用 HTTP 异常（400/401/429/500）处理见 `references/common/error-handling.md`。"},{"path":"references/common/error-handling.md","content":"# 通用错误处理\n\n所有命令在遇到以下 HTTP / 业务错误时，遵循统一处理策略。\n\n## 错误码与 Agent 应对\n\n| 错误码 | 含义 | Agent 应对 |\n|--------|------|-----------|\n| — | AK 未配置（命令入口预检查） | 输出 AK 引导话术（见 SKILL.md） |\n| 400 | 参数不合法 | 检查用户输入（关键词、渠道、商品ID等）是否正确 |\n| 401 | 鉴权无效（AK 错误或已过期） | 输出 AK 引导话术（见 SKILL.md），引导用户重新配置 |\n| 429 | 请求被限流 | 建议用户稍后重试（通常等待 1-2 分钟） |\n| 500 | 服务端异常 | 建议用户稍后重试，如持续出现建议联系客服 |\n\n## 网络异常\n\nCLI 已内置 3 次重试（指数退避），重试耗尽后返回 `success: false`。\n\nAgent 应对：告知用户\"网络异常，请检查网络连接后重试\"。\n\n## 识别方式\n\n当 CLI 输出 `success: false` 时：\n\n1. 输出 `markdown` 字段（用户可读的错误描述）\n2. 检查 `markdown` 中的关键词（如 \"AK 未配置\"、\"401\"、\"授权过期\"、\"限流\"），按 SKILL.md 异常处理表追加对应引导\n\n## 各能力特有异常\n\n通用错误外的业务异常，见各能力文档的\"业务异常处理\"段。"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"1688采购询盘寻源能力。当用户有模糊的采购需求但尚未选定具体商品时，通过描述商品名称、数量和需求，发起采购询盘任务，由平台匹配合适的供应商和报价方案。 核心定位：采购前的询盘寻源阶段，帮助用户将模糊的采购意向转化为结构化询盘，获取供应商报价。 触发词：询盘、询价、寻源、采购咨询、发布采购需求、我有一批XX要采购... Skill: 1688 Sourcing Inquiry Owner: 1688aiinfra Summary: 1688采购询盘寻源能力。当用户有模糊的采购需求但尚未选定具体商品时，通过描述商品名称、数量和需求，发起采购询盘任务，由平台匹配合适的供应商和报价方案。 核心定位：采购前的询盘寻源阶段，帮助用户将模糊的采购意向转化为结构化询盘，获取供应商报价。 触发词：询盘、询价、寻源、采购咨询、发布采购需求、我有一批XX要采购... Tags: latest:0.1.0 Version history: v0.1.0 | 2026-05-06T02:28:48.077Z | auto Initial release of 1688-sourcing-inquiry skill: - Enables users to submit sourcing inquiries based on product name, quantity,","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":720,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T19:33:26.263Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T19:33:26.263Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:57:18.767Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}