{"id":"1ae5bb86-7363-4580-8e71-41c335d390c7","entityType":"agent","slug":"clawhub-1688aiinfra-1688-marketing","name":"1688 Marketing","canonicalUrl":"https://www.xpersona.co/agent/clawhub-1688aiinfra-1688-marketing","canonicalPath":"/agent/clawhub-1688aiinfra-1688-marketing","generatedAt":"2026-10-11T04:37:21.769Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:31:34.281Z","emptyReason":null},"description":"1688营销 Skill —— 帮助商家进行招商活动报名、查看商机推荐等营销操作。 核心工具能力：招商活动查询、商品建议价查询、活动报名提交、商机推荐查询。 触发词：报名活动、招商活动、查询活动、提报、报名、活动报名、查看建议价、商机推荐、商机、市场机会、找商机、查商机，不要在用户仅询问非1688业务（如闲聊、天...","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s177df9srv6z2y0gd1kw90rern83hzxb:1688-marketing","sourceUrl":"https://clawhub.ai/1688aiinfra/1688-marketing","homepage":"https://clawhub.ai/1688aiinfra/skills/1688-marketing","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/1688aiinfra/1688-marketing","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/1688aiinfra/skills/1688-marketing","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"1688 Marketing technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:31:34.281Z","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-11T02:31:34.281Z","emptyReason":null},"stars":null,"forks":null,"downloads":1188,"packageName":null,"latestVersion":"0.1.0","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T02:31:34.131Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T02:31:34.281Z","lastCrawledAt":"2026-10-11T02:31:34.131Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T02:31:34.131Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.0","createdAt":"2026-05-06T07:12:51.463Z","changelog":"1688营销 Skill 首次发布，支持招商活动、商机推荐等基础营销操作。 - 支持查询1688招商活动列表、商机推荐及商品建议提报价。 - 支持提交招商活动报名，报名前需确认建议价。 - 提供详尽的错误处理、权限说明与环境配置指引。 - 明确区分与非1688相关话题，避免误触发。 - 首次执行需加载对应能力文档，提升安全性与合规性。","fileCount":42,"zipByteSize":76533}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177df9srv6z2y0gd1kw90rern83hzxb:1688-marketing","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s177df9srv6z2y0gd1kw90rern83hzxb:1688-marketing` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/1688aiinfra/1688-marketing before using production credentials."],"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-marketing/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-marketing/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-marketing/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-marketing/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-marketing/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-marketing/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-11T04:37:21.768Z"}},"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-marketing/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-marketing/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-marketing/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-1688aiinfra-1688-marketing/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":"medium","updatedAt":"2026-10-11T02:31:34.281Z","emptyReason":null},"readme":"Skill: 1688 Marketing\n\nOwner: 1688aiinfra\n\nSummary: 1688营销 Skill —— 帮助商家进行招商活动报名、查看商机推荐等营销操作。 核心工具能力：招商活动查询、商品建议价查询、活动报名提交、商机推荐查询。 触发词：报名活动、招商活动、查询活动、提报、报名、活动报名、查看建议价、商机推荐、商机、市场机会、找商机、查商机，不要在用户仅询问非1688业务（如闲聊、天...\n\nTags: latest:0.1.0\n\nVersion history:\n\nv0.1.0 | 2026-05-06T07:12:51.463Z | auto\n\n1688营销 Skill 首次发布，支持招商活动、商机推荐等基础营销操作。\n\n- 支持查询1688招商活动列表、商机推荐及商品建议提报价。\n- 支持提交招商活动报名，报名前需确认建议价。\n- 提供详尽的错误处理、权限说明与环境配置指引。\n- 明确区分与非1688相关话题，避免误触发。\n- 首次执行需加载对应能力文档，提升安全性与合规性。\n\nArchive index:\n\nArchive v0.1.0: 42 files, 76533 bytes\n\nFiles: cli.py (15701b), references/capabilities/1688_enroll_activity_query.md (1858b), references/capabilities/1688_enroll_offer_query.md (2637b), references/capabilities/1688_enroll_submit_item.md (2969b), references/capabilities/1688_opp_recommend.md (13899b), references/capabilities/configure.md (1823b), requirements.txt (52b), scripts/_auth.py (3848b), scripts/_const.py (6860b), scripts/_errors.py (1541b), scripts/_http.py (4890b), scripts/_output.py (1987b), scripts/_tracker.py (2472b), scripts/ak_crypto.py (6435b), scripts/authorize.py (13500b), scripts/callback_server.py (21641b), scripts/capabilities/1688_enroll_activity_query/__init__.py (0b), scripts/capabilities/1688_enroll_activity_query/cmd.py (2068b), scripts/capabilities/1688_enroll_activity_query/service.py (786b), scripts/capabilities/1688_enroll_offer_query/__init__.py (0b), scripts/capabilities/1688_enroll_offer_query/cmd.py (2299b), scripts/capabilities/1688_enroll_offer_query/service.py (681b), scripts/capabilities/1688_enroll_submit_item/__init__.py (0b), scripts/capabilities/1688_enroll_submit_item/cmd.py (2301b), scripts/capabilities/1688_enroll_submit_item/service.py (1010b), scripts/capabilities/1688_opp_recommend/__init__.py (0b), scripts/capabilities/1688_opp_recommend/cmd.py (1519b), scripts/capabilities/1688_opp_recommend/service.py (7133b), scripts/capabilities/configure/__init__.py (0b), scripts/capabilities/configure/cmd.py (5478b), scripts/capabilities/configure/service.py (2965b), scripts/encrypted_store.py (3109b), scripts/env_writer.py (3303b), scripts/pkce.py (836b), scripts/scope_manager.py (4854b), scripts/secure_store.py (4907b), scripts/token_manager.py (10326b), skill-card.md (2752b), SKILL.md (12191b), templates/callback.html (8108b), tests/testcases.json (13289b), _meta.json (133b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: 1688-marketing\ndescription: |\n  1688营销 Skill —— 帮助商家进行招商活动报名、查看商机推荐等营销操作。\n  核心工具能力：招商活动查询、商品建议价查询、活动报名提交、商机推荐查询。\n  触发词：报名活动、招商活动、查询活动、提报、报名、活动报名、查看建议价、商机推荐、商机、市场机会、找商机、查商机，不要在用户仅询问非1688业务（如闲聊、天气、翻译等无关话题）时触发。\nmetadata: {\"openclaw\": {\"emoji\": \"🏷️\",\"version\": \"1.0.0\", \"requires\": {\"bins\": [\"python3\"]}, \"primaryEnv\": \"ACCESS_KEY\"}}\n---\n\n# 1688-marketing-skill\n\n统一入口：`python3 {baseDir}/cli.py <command> [options]`\n\n## 环境准备\n\n> **重要**：本 skill 所在的整个目录文件需要先拷贝到 ${AGENT_WORK_ROOT}/workspace 目录下，再执行后续操作。\n统一入口：`python3 {baseDir}/cli.py <command> [options]` 尽量使用绝对路径执行脚本\n\n### Windows 权限问题（仅 Windows 用户需要）\n\n若 skills 目录缺少执行权限（提示\"拒绝访问\"），需先将目录拷贝到 workspace 再操作：\n\n```cmd\nxcopy /E /I /Y \"<skills目录路径>\" \"%USERPROFILE%\\workspace\\1688-auth-skill-for-wukong\"\ncd /d \"%USERPROFILE%\\workspace\\1688-auth-skill-for-wukong\"\n```\n\n> `/E` 递归复制所有子目录，`/I` 目标不存在时自动创建，`/Y` 覆盖时不询问确认。\n> 拷贝完成后，后续所有命令均在 workspace 路径下执行。\n\n首次使用前，在项目根目录执行：\n\n```bash\npip install -r requirements.txt\n# 若上述命令不可用，尝试：\npip3 install -r requirements.txt\n```\n依赖列表：仅使用 Python 标准库，无需额外安装第三方包。\n\n## AK 安全说明\n\n> ⚠️ **AK 是访问 1688 接口的唯一凭证，请妥善保管，避免泄漏。**\n\n- AK 在本地以**设备绑定加密**方式存储（PBKDF2 派生密钥 + 流加密 + HMAC 校验），加密文件拷贝到其他机器后**无法解密**\n- 不要将 AK 明文粘贴到聊天记录、截图、日志或版本控制中\n- 不要将 `ak_store.json` 或 `.device_id` 上传到任何云端或共享目录\n- 如怀疑 AK 已泄漏，立即执行 `cli.py configure --clear` 清除本地存储，并前往 [clawhub.1688.com](https://clawhub.1688.com/) 重新获取\n\n\n## 意图判断\n\n### 触发场景\n当用户表达以下意图时，应触发本技能：\n- **招商活动报名**: 报名活动、招商活动、查询活动、提报、报名、活动报名\n- **商品建议价查询**: 查看建议价、查询价格、提报价\n- **商机推荐查询**: 商机推荐、商机、市场机会、找商机、查商机\n\n### 不触发场景\n当用户仅询问以下非 1688 业务话题时，不应触发本技能：\n- 闲聊（如：今天天气怎么样）\n- 通用编程问题（如：帮我写一个 Python 排序算法）\n- 翻译请求（如：帮我把这段话翻译成英文）\n- 其他与 1688 营销无关的话题\n\n## Tool 总览\n\n| 工具名称 | 用途 | 调用方式                                                                                                                        |\n|----------|------|-----------------------------------------------------------------------------------------------------------------------------|\n| `1688_enroll_activity_query` | 查询招商活动列表 | `python3 {baseDir}/cli.py 1688_enroll_activity_query [--keyword <关键词>] [--pageNo <页码>] [--pageSize <条数>]`                   |\n| `1688_enroll_offer_query` | 查询商品建议提报价 | `python3 {baseDir}/cli.py 1688_enroll_offer_query --activityId <活动ID> --itemId <商品ID>`                                      |\n| `1688_enroll_submit_item` | 提交活动报名（⚠️写入） | `python3 {baseDir}/cli.py 1688_enroll_submit_item --activityId <活动ID> --itemId <商品ID> --fillFormDataList '<JSON>'`          |\n| `1688_opp_recommend` | 查询商机推荐列表 | `python3 {baseDir}/cli.py 1688_opp_recommend [--keyword <关键词>] [--categoryId <类目>] [--pageNo <页码>] [--pageSize <条数>]`       |\n| `configure` | 配置 AK（支持 --status / --clear / --reset） | `python3 {baseDir}/cli.py configure YOUR_AK`                                                                                           |\n| `get_ak` | 获取AK | `cli.py get_ak` |\n\n\n## 输出格式\n\n所有命令统一输出 JSON 格式，结构如下：\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"可选的用户可读描述\",\n  \"data\": {},\n  \"error_code\": \"可选的错误码（仅失败时）\",\n  \"required_scope\": \"可选的所需 OAuth Scope（仅授权错误时）\"\n}\n```\n\n> 仅包含非空字段。`error_code` 和 `required_scope` 用于 Agent 自动识别网关授权错误并触发恢复流程。\n\n## 使用流程\n\nAgent 根据用户意图**识别所属功能模块**，按对应流程执行：\n\n### 流程一：招商活动报名\n\n1. **查询活动**：用户表达报名意图时，先调用 `1688_enroll_activity_query` 查询招商活动，展示活动列表供用户选择\n2. **查询建议价**：用户选定活动和商品后，调用 `1688_enroll_offer_query` 查询商品信息和建议提报价，展示给商家确认，此接口返回的价格单位为分。当建议价为空时，中断流程，提示商家无法报名此活动\n3. **确认价格**：**必须等商家明确确认建议价后**，才能进入报名步骤\n4. **提交报名**：商家确认后，根据商品是否有 SKU 构造 `fillFormDataList`，调用 `1688_enroll_submit_item` 提交报名，此接口入参价格单位为元\n\n### 流程二：商机推荐查询\n\n1. **明确意图**：用户表达查看商机、市场机会的意图\n2. **收集筛选条件**：从用户消息中提取关键词、类目等筛选条件（均为可选）\n3. **执行查询**：调用 `1688_opp_recommend` 查询商机推荐列表\n4. **展示结果**：将商机列表以易读格式展示（标题、类目、求购数、参考价格等），如有更多结果提示用户可翻页\n\n各命令在 AK 缺失等情况下会自行返回明确错误，Agent 按下方「异常处理」应对即可。\n\n## 安全声明\n\n| 风险级别 | 命令 | Agent 行为 |\n|---------|------|-----------|\n| **只读** | 1688_enroll_activity_query | 直接执行 |\n| **只读** | 1688_enroll_offer_query | 直接执行 |\n| **只读** | 1688_opp_recommend | 直接执行 |\n| **写入** | 1688_enroll_submit_item | **必须在商家确认建议价后才能执行**，不得自动提交 |\n\n**全局写入规则（适用于所有写操作）**：\n1. 所有写入操作必须经过商家明确确认，不得自动执行。\n2. 提交报名前，必须先查询建议价并展示给商家；商家明确确认价格后，方可提交报名。\n3. 不擅自修改商家确认的任何参数。\n\n## 环境变量（.env）\n\n项目根目录的 `.env` 文件存储 skill 基础信息，供埋点上报等模块读取。发布到不同环境时可直接替换该文件中的变量值。\n\n| 变量 | 默认值 | 说明 |\n|------|--------|------|\n| `SKILL_NAME` | `1688-marketing` | skill 名称 |\n| `SKILL_VERSION` | `1.0.0` | skill 版本号 |\n| `SKILL_CHANNEL` | `clawhub` | 发布渠道 |\n\n> 已存在的系统环境变量优先级高于 `.env`，CI/CD 注入的变量不会被覆盖。\n\n## 埋点上报\n\n每次 CLI 命令执行时，自动向 skill 网关上报一次调用记录，用于统计 skill 调用次数。\n\n- **实现位置**：`scripts/_tracker.py` → `report_skill_usage()`，在 `cli.py` 的 `main()` 中每次命令执行后自动调用\n- **上报接口**：`POST /api/reportSkillsUsage/1.0.0`\n- **上报参数**：\n\n  | 参数 | 值来源 | 说明 |\n  |------|--------|------|\n  | `apiName` | 固定 `null` | 固定传 null |\n  | `skillsName` | `.env` `SKILL_NAME` | skill 名称 |\n  | `version` | `.env` `SKILL_VERSION` | skill 版本号 |\n  | `scene` | 固定 `CLI` | 固定值 |\n  | `channel` | `.env` `SKILL_CHANNEL` | 发布渠道 |\n\n- **失败处理**：上报失败静默忽略，不影响主流程\n\n## 执行前置（首次命中能力时必须）\n\n- 首次执行 `1688_enroll_activity_query` 前：先完整阅读 `references/capabilities/1688_enroll_activity_query.md`\n- 首次执行 `1688_enroll_offer_query` 前：先完整阅读 `references/capabilities/1688_enroll_offer_query.md`\n- 首次执行 `1688_enroll_submit_item` 前：先完整阅读 `references/capabilities/1688_enroll_submit_item.md`\n- 首次执行 `1688_opp_recommend` 前：先完整阅读 `references/capabilities/1688_opp_recommend.md`\n- 首次执行 `configure` 前：先完整阅读 `references/capabilities/configure.md`\n- 同一会话内后续重复调用可复用已加载知识；仅在规则冲突或文档更新时重读。\n\n## 授权链接处理（browser_use）\n\n`get_ak` 和 `authorize` 命令输出一条 JSON 后**立即退出**，回调服务器作为独立后台进程继续运行（最长 300 秒）。\n\n**输出格式**：\n```json\n{\n  \"pending\": true,\n  \"action\": \"browser_use\",\n  \"url\": \"https://...\",\n  \"markdown\": \"授权链接已生成！请使用 browser_use 工具打开以下链接完成授权...\"\n}\n```\n\n> ⚠️ **强制动作**：输出中只要出现 `\"action\": \"browser_use\"`，Agent **必须立即**调用 `browser_use` 工具打开 `url` 字段中的链接，不得跳过、延迟或用其他方式替代。\n\n**Agent 处理流程**：\n1. 读到 `\"action\": \"browser_use\"` → **立即**用 `browser_use` 工具导航到 `url`，并向用户展示 `markdown` 字段内容。\n2. 在页面中完成登录和授权操作（AK 模式：复制 AK；OAuth 模式：点击授权确认）。\n3. 授权完成后，浏览器页面会自动将结果回调给后台服务器（`localhost`），服务器直接将 AK/Token 写入本地存储。\n4. browser_use 返回后，调用 `python3 cli.py configure --status` 确认 AK 是否已保存成功。\n\n**注意事项**：\n- 命令本身只输出这一条 JSON，**不会有第二条结果 JSON**，无需继续等待命令输出。\n- 授权回调目标是 `localhost`，browser_use 执行环境必须能访问本机回调端口（8080–8089）。\n- 若 300 秒内未完成授权，后台服务进程自动退出，下次运行 `get_ak` 时会自动清理并重新启动。\n- **禁止**调用系统浏览器、`open` 命令或任何其他方式替代 browser_use。\n\n## 异常处理\n\n任何命令输出 `success: false` 时：\n\n1. **`markdown`不为空时先输出 `markdown` 字段**（已包含用户可读的错误描述）\n2. **再根据关键词追加引导**：\n\n| markdown 关键词 / error_code | Agent 额外动作 |\n|------------------------------|--------------|\n| \"AK 未配置\" 或 \"AK 未就绪\" | **停止一切搜索尝试**，优先执行 `python3 cli.py get_ak` 自动获取 AK；如自动获取失败，引导用户前往 https://clawhub.1688.com/ 登录后右上角点击🔑复制获取ak内容后执行 `python3 cli.py configure YOUR_AK`。**禁止浏览器替代** |\n| \"参数缺失\" 或 \"参数错误\" | 提示用户补充缺失参数后重试 |\n| \"限流\" 或 \"429\" | 建议用户等待 1-2 分钟后重试 |\n| \"报名失败\" | 展示失败原因，引导用户检查商品或活动状态 |\n| \"格式错误\" | 提示用户检查 fillFormDataList 的 JSON 格式 |\n| \"投放类型\" 或 \"cpxObjEvent\" | 提示用户投放类型仅支持 ENQUIRY（询盘）、FEEDBACK（线索）、PAYMENT（订单） |\n| \"无法识别的类目\" | 提示用户输入正确的类目 ID 或中文名称 |\n| 其他 | 仅输出 markdown 即可 |\n\n## 参数补齐引导话术\n\nAgent 根据用户意图选择对应的引导话术：\n\n### 招商活动报名\n\n> \"要进行招商活动报名，我需要以下信息：\n> 1. 您想报名哪个活动？（我可以帮您查询当前有效的活动）\n> 2. 您要提报的商品ID是什么？\n> 查询到建议价后，需要您确认提报价格，我再帮您提交报名。\"\n\n### 商机推荐\n\n> \"我可以帮您查看商机推荐，您可以告诉我：\n> 1. 想搜索什么关键词？（可选，如：连衣裙、运动鞋）\n> 2. 想看哪个类目的商机？（可选，如：女装、鞋、童装）\n> 也可以直接查看默认推荐。\"\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn76msg8cwkep3b08z7zffx9fx82p5wj\",\n  \"slug\": \"1688-marketing\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1778051571463\n}\n\nFile v0.1.0:references/capabilities/1688_enroll_activity_query.md\n\n# 1688招商活动查询指南\n\n## 功能说明\n\n查询1688招商活动列表，支持按活动ID或名称关键词搜索，支持分页。\n\n## 前置条件\n\n- 已配置 AK（未配置时会提示运行 `cli.py configure YOUR_AK`）\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py 1688_enroll_activity_query --pageNo 1 --pageSize 10 --keyword \"活动名称\"\n```\n\n### 参数说明\n\n| 参数 | 缩写 | 是否必填 | 类型 | 说明 |\n|------|------|----------|------|------|\n| `--pageNo` | `-p` | 否 | Integer | 当前分页，默认1 |\n| `--pageSize` | `-s` | 否 | Integer | 分页大小，默认10 |\n| `--keyword` | `-k` | 否 | String | 活动Id或名称关键词 |\n\n### 调用示例\n\n```bash\n# 查询第一页活动\npython3 {baseDir}/cli.py 1688_enroll_activity_query\n\n# 按关键词搜索\npython3 {baseDir}/cli.py 1688_enroll_activity_query -k \"618\"\n\n# 指定分页\npython3 {baseDir}/cli.py 1688_enroll_activity_query -p 2 -s 20\n```\n\n## 输出格式\n\n### 成功\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"\",\n  \"data\": {\n    \"total\": 5,\n    \"pageNo\": 1,\n    \"pageSize\": 10,\n    \"data\": [...]\n  }\n}\n```\n\n## Agent 处理流程\n\n```\n1. 用户表达查询活动意图时，提取关键词（如有）\n2. 执行 python3 {baseDir}/cli.py 1688_enroll_activity_query [--keyword <关键词>]\n3. 检查输出：\n   - success=true → 展示活动列表，引导用户选择感兴趣的活动\n   - success=false → 原样输出错误信息\n4. 用户选择活动后，可继续调用商品查询和报名流程\n```\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| AK 未配置 | 引导用户执行 `cli.py configure YOUR_AK` 配置 AK |\n| 无匹配活动 | 提示用户更换关键词或查看全部活动 |\n| 其他运行时异常 | 原样输出错误信息 |\n\n通用 HTTP 异常（400/401/429/500）处理见 SKILL.md 异常处理章节。\n\nFile v0.1.0:references/capabilities/1688_enroll_offer_query.md\n\n# 1688招商活动商品信息及建议价查询指南\n\n## 功能说明\n\n根据活动ID和商品ID，查询商品信息及建议提报价格。报名前必须先调用此接口，让商家确认建议价后再提交报名。\n\n## 前置条件\n\n- 已配置 AK（未配置时会提示运行 `cli.py configure YOUR_AK`）\n- 已知活动ID（可通过 `1688_enroll_activity_query` 获取）\n- 已知商品ID\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py 1688_enroll_offer_query --activityId 12345 --itemId 67890\n```\n\n### 参数说明\n\n| 参数 | 缩写 | 是否必填 | 类型 | 说明 |\n|------|------|----------|------|------|\n| `--activityId` | `-a` | ✅ 是 | Integer | 活动Id |\n| `--itemId` | `-i` | ✅ 是 | Integer | 商品Id |\n\n### 调用示例\n\n```bash\npython3 {baseDir}/cli.py 1688_enroll_offer_query -a 12345 -i 67890\n```\n\n## 输出格式\n\n### 成功 — 无SKU商品（价格在商品级别）\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"\",\n  \"data\": {\n    \"itemId\": 67890,\n    \"title\": \"商品名称\",\n    \"price\": 100,\n    \"suggestPrice\": 80,\n    \"skuList\": []\n  }\n}\n```\n\n### 成功 — 有SKU商品（价格在SKU级别）\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"\",\n  \"data\": {\n    \"itemId\": 67890,\n    \"title\": \"商品名称\",\n    \"price\": null,\n    \"suggestPrice\": null,\n    \"skuList\": [\n      {\n        \"skuId\": 111,\n        \"title\": \"红色/XL\",\n        \"price\": 100,\n        \"suggestPrice\": 80\n      },\n      {\n        \"skuId\": 222,\n        \"title\": \"蓝色/L\",\n        \"price\": 120,\n        \"suggestPrice\": 95\n      }\n    ]\n  }\n}\n```\n\n> **注意**：`skuList` 为空时，商品级别的 `price` 和 `suggestPrice` 有值；`skuList` 不为空时，价格在 SKU 级别，商品级别的 `price` 和 `suggestPrice` 为空。价格单位为分。\n\n## Agent 处理流程\n\n```\n1. 用户选定活动后，询问要报名的商品ID\n2. 执行 python3 {baseDir}/cli.py 1688_enroll_offer_query --activityId <活动ID> --itemId <商品ID>\n3. 检查输出：\n   - success=true → 展示商品信息和建议提报价，询问商家是否确认以该价格提报\n   - success=false → 原样输出错误信息\n4. 商家确认价格后，继续调用报名接口\n```\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| AK 未配置 | 引导用户执行 `cli.py configure YOUR_AK` 配置 AK |\n| 参数缺失（activityId/itemId） | 提示用户补充缺少的参数 |\n| 商品不存在或不符合活动要求 | 原样输出错误信息，建议用户确认商品ID |\n| 其他运行时异常 | 原样输出错误信息 |\n\n通用 HTTP 异常（400/401/429/500）处理见 SKILL.md 异常处理章节。\n\nFile v0.1.0:references/capabilities/1688_enroll_submit_item.md\n\n# 1688招商活动报名指南\n\n## 功能说明\n\n提交1688招商活动报名，报品同时报商。提交前需先通过 `1688_enroll_offer_query` 查询建议价并获得商家确认。\n\n## 前置条件\n\n- 已配置 AK（未配置时会提示运行 `cli.py configure YOUR_AK`）\n- 已通过 `1688_enroll_offer_query` 查询商品建议价\n- 商家已确认提报价格\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py 1688_enroll_submit_item --activityId 12345 --itemId 67890 --fillFormDataList '[{\"inputKey\":\"fixPrice\",\"inputValue\":\"0.8\"}]'\n```\n\n### 参数说明\n\n| 参数 | 缩写 | 是否必填 | 类型 | 说明 |\n|------|------|----------|------|------|\n| `--activityId` | `-a` | ✅ 是 | Integer | 活动Id |\n| `--itemId` | `-i` | ✅ 是 | Integer | 商品Id |\n| `--fillFormDataList` | `-f` | ✅ 是 | JSON String | 价格等表单填充数据列表 |\n\n### fillFormDataList 格式\n\nJSON 数组，每项包含：\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `inputKey` | String | 表单key |\n| `inputValue` | String | 表单值，商品无SKU时填此项 |\n| `inputValueSku` | Object | 表单值，商品有SKU时填此项，key为skuId，value为对应值 |\n\n#### 无SKU商品示例\n\n```json\n[{\"inputKey\": \"fixPrice\", \"inputValue\": \"0.8\"}]\n```\n\n#### 有SKU商品示例\n\n```json\n[{\"inputKey\": \"fixPrice\", \"inputValueSku\": {\"111\": \"0.8\", \"222\": \"0.75\"}}]\n```\n\n### 调用示例\n\n```bash\n# 无SKU商品报名\npython3 {baseDir}/cli.py 1688_enroll_submit_item -a 12345 -i 67890 -f '[{\"inputKey\":\"fixPrice\",\"inputValue\":\"0.8\"}]'\n\n# 有SKU商品报名\npython3 {baseDir}/cli.py 1688_enroll_submit_item -a 12345 -i 67890 -f '[{\"inputKey\":\"fixPrice\",\"inputValueSku\":{\"111\":\"0.8\",\"222\":\"0.75\"}}]'\n```\n\n## 输出格式\n\n### 成功\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"✅ 报名成功！记录ID: 99999\",\n  \"data\": {\n    \"success\": true,\n    \"recordId\": 99999,\n    \"message\": \"\"\n  }\n}\n```\n\n### 失败\n\n```json\n{\n  \"success\": false,\n  \"markdown\": \"❌ 报名失败：xxx原因\",\n  \"data\": {\n    \"success\": false,\n    \"recordId\": null,\n    \"message\": \"失败原因\"\n  }\n}\n```\n\n## Agent 处理流程\n\n```\n1. 商家确认建议价后，根据商品是否有SKU构造 fillFormDataList，注意价格单位需要转为元\n2. 执行 python3 {baseDir}/cli.py 1688_enroll_submit_item --activityId <活动ID> --itemId <商品ID> --fillFormDataList '<JSON>'\n3. 检查输出：\n   - success=true → 告知商家报名成功，展示记录ID\n   - success=false → 原样输出错误信息\n```\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| AK 未配置 | 引导用户执行 `cli.py configure YOUR_AK` 配置 AK |\n| 参数缺失 | 提示用户补充缺少的参数 |\n| fillFormDataList 格式错误 | 提示用户检查 JSON 格式 |\n| 报名失败（业务原因） | 原样输出错误信息中的 message |\n| 其他运行时异常 | 原样输出错误信息 |\n\n通用 HTTP 异常（400/401/429/500）处理见 SKILL.md 异常处理章节。\n\nFile v0.1.0:references/capabilities/1688_opp_recommend.md\n\n# 商机推荐查询指南\n\n## 功能说明\n\n通过 CLI 调用 1688 接口，查询商机推荐列表，帮助商家发现市场商机。支持按关键词搜索和按类目筛选。\n\n## 前置条件\n\n- 已配置 AK（未配置时会提示运行 `cli.py configure YOUR_AK`）\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py 1688_opp_recommend [--pageNo 页码] [--pageSize 每页条数] [--keyword 关键词] [--categoryId 类目ID或名称]\n```\n\n### 参数说明\n\n| 参数 | 缩写 | 是否必填 | 默认值 | 说明 |\n|------|------|----------|--------|------|\n| `--pageNo` | `-p` | ❌ 否 | `1` | 页码，从1开始 |\n| `--pageSize` | `-s` | ❌ 否 | `20` | 每页条数 |\n| `--keyword` | `-k` | ❌ 否 | — | 按商机标题搜索的关键词 |\n| `--categoryId` | `-c` | ❌ 否 | — | 一级类目 ID 或中文名称（如 `1038378` 或 `鞋`） |\n\n### 调用示例\n\n```bash\n# 查询默认推荐（无筛选）\npython3 {baseDir}/cli.py 1688_opp_recommend\n\n# 按关键词搜索\npython3 {baseDir}/cli.py 1688_opp_recommend -k \"连衣裙\"\n\n# 按类目筛选（支持中文名称）\npython3 {baseDir}/cli.py 1688_opp_recommend -c \"鞋\"\n\n# 按类目筛选（支持类目ID）\npython3 {baseDir}/cli.py 1688_opp_recommend -c \"1038378\"\n\n# 组合筛选 + 分页\npython3 {baseDir}/cli.py 1688_opp_recommend -k \"运动鞋\" -c \"鞋\" -p 2 -s 10\n```\n\n---\n\n## 接口信息\n\n- **接口类**：`com.alibaba.cbu.insight.service.opportunityportrait.impl.OpportunityPortraitHandleServiceImpl`\n- **方法签名**：`ResultModel<Map<String, Object>> queryOpportunitiesNew(Long userId, Map<String, Object> params)`\n- **返回值类型**：`ResultModel<Map<String, Object>>`\n\n### 入参说明\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `userId` | Long | 是 | 用户ID |\n| `params` | Map<String, Object> | 是 | 查询参数，包含分页、类目、筛选条件等 |\n\n#### params 内部结构\n\n| 字段 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `sceneCode` | String | 是 | 场景编码，固定值 `realOpportunityPortraitViewNew` |\n| `sceneType` | String | 是 | 场景类型，固定值 `offer_portrait` |\n| `pageNo` | int | 是 | 页码，从1开始 |\n| `pageSize` | int | 是 | 每页条数，默认20 |\n| `conditions` | Object[] | 是 | 筛选条件数组 |\n\n### 筛选条件（conditions）\n\n每个条件对象结构为：\n\n```json\n{\n  \"nodeName\": \"条件中文名\",\n  \"nodeCode\": \"条件编码\",\n  \"value\": [\"值1\", \"值2\"]\n}\n```\n\n#### 按商机标题检索\n\n```json\n{\n  \"nodeCode\": \"title\",\n  \"nodeName\": \"商机标题\",\n  \"value\": [\"关键词\"]\n}\n```\n\n#### 按类目筛选\n\n```json\n{\n  \"nodeCode\": \"category_id_path\",\n  \"nodeName\": \"商机类目\",\n  \"value\": [\"一级类目ID\"]\n}\n```\n\n> 以上固定条件（`opp_type`、`is_test`、`tag_info`、`status`、`delivery_channel`、`sort_field`）由代码自动注入，调用方无需关心。\n\n### 请求示例\n\n#### 初始化请求（无筛选）\n\n```json\n{\n  \"userId\": 2214452629780,\n  \"params\": {\n    \"sceneCode\": \"realOpportunityPortraitViewNew\",\n    \"sceneType\": \"offer_portrait\",\n    \"pageNo\": 1,\n    \"pageSize\": 20,\n    \"mainCategorys\": [\"1031910\", \"127372010\", \"10166\", \"1045520\", \"1813\"],\n    \"cate_param_empty\": true,\n    \"conditions\": [\n      { \"nodeName\": \"画像类型\", \"nodeCode\": \"opp_type\", \"value\": [\"item\"] },\n      { \"nodeName\": \"是否测试画像\", \"nodeCode\": \"is_test\", \"value\": [\"N\"] },\n      { \"nodeName\": \"商机标签\", \"nodeCode\": \"tag_info\", \"value\": [\"xinpin_maijiaxuqiu\", \"xinpin_ifashion\", \"xinpin_xiaoheihe\", \"xinpin_xinpinqudong\", \"xinpin_fuzhuangteshu\", \"xinpin_chaoliuxinpin\", \"xinpin_taobao_new_tag\", \"real_new_cu\", \"xinpin_trend_hot\", \"nontb_263531_xinpin\", \"nontb_263531_aoxia\"] },\n      { \"nodeName\": \"画像状态\", \"nodeCode\": \"status\", \"value\": [\"ONLINE\"] },\n      { \"nodeName\": \"商机状态\", \"nodeCode\": \"delivery_channel\", \"value\": [\"supply\"] },\n      { \"nodeName\": \"排序方式\", \"nodeCode\": \"sort_field\", \"value\": [\"item_rank#desc#tpp\"] }\n    ]\n  }\n}\n```\n\n> 上述所有字段均为默认值，由代码自动填充，调用方只需提供 `userId`。\n\n#### 按标题关键词检索\n\n```json\n{\n  \"userId\": 2214452629780,\n  \"params\": {\n    \"sceneCode\": \"realOpportunityPortraitViewNew\",\n    \"sceneType\": \"offer_portrait\",\n    \"pageNo\": 1,\n    \"pageSize\": 20,\n    \"mainCategorys\": [\"1031910\", \"127372010\", \"10166\", \"1045520\", \"1813\"],\n    \"cate_param_empty\": true,\n    \"conditions\": [\n      { \"nodeName\": \"商机标题\", \"nodeCode\": \"title\", \"value\": [\"连衣裙\"] }\n    ]\n  }\n}\n```\n\n> **关键参数**：`conditions` 中新增 `nodeCode: \"title\"` 条件，`value` 为搜索关键词数组。其余均为默认值。\n\n#### 按类目筛选\n\n```json\n{\n  \"userId\": 2214452629780,\n  \"params\": {\n    \"sceneCode\": \"realOpportunityPortraitViewNew\",\n    \"sceneType\": \"offer_portrait\",\n    \"pageNo\": 1,\n    \"pageSize\": 20,\n    \"mainCategorys\": [\"1031910\", \"127372010\", \"10166\", \"1045520\", \"1813\"],\n    \"cate_param_empty\": true,\n    \"conditions\": [\n      { \"nodeName\": \"商机类目\", \"nodeCode\": \"category_id_path\", \"value\": [\"1038378\"] }\n    ]\n  }\n}\n```\n\n> **关键参数**：`conditions` 中新增 `nodeCode: \"category_id_path\"` 条件，`value` 为一级类目ID数组（如 `1038378` 代表鞋）。其余均为默认值。\n\n---\n\n## 出参模型\n\n### ResultModel\n\n```java\npackage com.alibaba.cbu.insight.service.opportunityportrait.models;\n\npublic class ResultModel<T> implements Serializable {\n    private T model;                              // 数据主体\n    private String msg;                           // 消息\n    private ResultCode code = ResultCode.SUCCESS;  // 状态码\n    private boolean success = Boolean.TRUE;        // 是否成功\n}\n```\n\n### 响应结构\n\n```json\n{\n  \"code\": \"SUCCESS\",\n  \"success\": true,\n  \"model\": {\n    \"oppIds\": [133509664, 133510495],\n    \"totalCnt\": \"2000\",\n    \"pageNo\": 1,\n    \"pageSize\": 20,\n    \"scmId\": \"opensearch\",\n    \"data\": [ ... ]\n  }\n}\n```\n\n### model 字段说明\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `oppIds` | Long[] | 商机ID列表 |\n| `totalCnt` | String | 总条数 |\n| `pageNo` | int | 当前页码 |\n| `pageSize` | int | 每页条数 |\n| `scmId` | String | 搜索引擎标识 |\n| `data` | Object[] | 商机详情数组 |\n\n### data 单条商机字段说明\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `id` | String | 商机ID |\n| `title` | String | 商机标题 |\n| `pictUrlList` | String[] | 商品图片列表（OSS key） |\n| `pictUrls` | String | 主图（OSS key） |\n| `oppItemId` | String | 对应商品ID |\n| `cateLevel1Id` | String | 一级类目ID |\n| `cateLevel1Name` | String | 一级类目名称 |\n| `cateLevel2Id` | String | 二级类目ID |\n| `cateLevel3Id` | String | 三级类目ID |\n| `categoryId` | String | 类目ID |\n| `categoryIdPath` | String | 类目路径（tab分隔） |\n| `status` | String | 商机状态（`ONLINE`） |\n| `source` | String | 来源（`tb`=淘宝） |\n| `deliveryChannel` | String | 投放渠道（`supply`=供给侧） |\n| `businessCodes` | String | 业务编码 |\n| `opportunityType` | String | 商机类型（`growth`=增长） |\n| `opportunityLevel` | int | 商机等级 |\n| `buyerDemandSignal` | String | 买家需求信号（`low`/`medium`/`high`） |\n| `supplyJudgmentSignal` | String | 供给判断信号 |\n| `transactionSignal` | String | 交易信号 |\n| `chooseMode` | String | 选品模式（`算法`） |\n| `matchType` | String | 匹配类型（`normal`） |\n| `tagInfo` | String | 标签信息（tab分隔） |\n| `startDate` | long | 开始时间（毫秒时间戳） |\n| `endDate` | long | 结束时间（毫秒时间戳） |\n| `gmtCreate` | long | 创建时间（毫秒时间戳） |\n| `gmtModified` | long | 修改时间（毫秒时间戳） |\n| `creator` | String | 创建人 |\n| `modifier` | String | 修改人 |\n| `owner` | String | 负责人 |\n| `isAutoApply` | String | 是否自动应用（`Y`/`N`） |\n| `uniqueClusterId` | String | 唯一聚类ID |\n| `extendInfo` | String | **扩展信息（JSON字符串，见下方）** |\n| `trackInfo` | Object | 追踪信息 |\n\n### extendInfo 关键字段（JSON字符串，需解析）\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `item_title` | String | 商品标题 |\n| `item_url` | String | 商品链接 |\n| `item_picts` | String | 商品图片URL（逗号分隔） |\n| `brand_name` | String | 品牌名称 |\n| `cate_path_name` | String | 类目路径名称（如 `童装>童裤`） |\n| `cate_lv1_name` | String | 一级类目名称 |\n| `cpv_mapping` | String | 属性映射（分号分隔） |\n| **`average_final_price`** | **Number** | **下游高成交价格** |\n| **`expose_sum_30`** | **String** | **求购数目（近30天曝光量）** |\n| `click_sum_30` | String | 近30天点击量 |\n| `pay_amt_30` | String | 近30天成交金额（指数化） |\n| `pay_amt_7` | Number | 近7天成交金额 |\n| `pay_amt_1` | Number | 近1天成交金额 |\n| `quantity_30` | String | 近30天成交件数 |\n| `quantity_7` | String | 近7天成交件数 |\n| `ord_count_30` | String | 近30天订单数 |\n| `ord_count_7` | String | 近7天订单数 |\n| `ord_count_1` | String | 近1天订单数 |\n| `require_index` | Number | 需求指数 |\n| `supply_index` | Number | 供给指数 |\n| `require_supply_rate` | Number | 需供比（越大代表供不应求） |\n| `cluster_1688_itm_cnt` | String | 1688同款商品数量 |\n| `cluster_byr_cnt_1m` | String | 近1月买家数 |\n| `cluster_se_ipv_1m` | String | 近1月搜索IPV |\n| `growth_score` | String | 增长分数 |\n| `ppdx_score` | String | 品牌度分数 |\n| `opp_sell_points` | String | 商机卖点（如 `下游趋势新品`） |\n| `serviceRequestInfoMap` | String | 服务要求（如 `72小时发货 / 1件起批包邮`） |\n| `priceRequestInfoMap` | String | 价格要求（如 `≤57.67元`） |\n| `is_spid_new` | String | 是否新品（`Y`/`N`） |\n| `is_brand_itm` | String | 是否品牌商品（`Y`/`N`） |\n| `sku_info` | String | SKU信息（JSON字符串） |\n| `opp_statistics` | String | 商机统计数据（JSON字符串） |\n\n---\n\n## 输出格式\n\n### Skill 提取字段\n\nSkill 层只提取以下关键字段返回给用户：\n\n| 提取字段 | 来源 | 说明 |\n|----------|------|------|\n| `title` | `data[].title` | 商机标题 |\n| `pictUrlList` | `data[].pictUrlList` | 商品图片列表 |\n| `demandCount` | `extendInfo.expose_sum_30` | 求购数目（近30天） |\n| `averagePrice` | `extendInfo.average_final_price` | 下游高成交价格 |\n| `categoryName` | `data[].cateLevel1Name` | 一级类目名称 |\n| `oppItemId` | `data[].oppItemId` | 商品ID（可拼接商品链接） |\n\n### 成功\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"\",\n  \"data\": {\n    \"totalCnt\": \"2000\",\n    \"pageNo\": 1,\n    \"pageSize\": 20,\n    \"data\": [\n      {\n        \"title\": \"商机标题\",\n        \"pictUrlList\": [\"图片URL1\", \"图片URL2\"],\n        \"demandCount\": \"1234\",\n        \"averagePrice\": \"5767\",\n        \"categoryName\": \"女装\",\n        \"oppItemId\": 1032857514520\n      }\n    ]\n  }\n}\n```\n\n### 失败 — AK 未配置\n\n```json\n{\n  \"success\": false,\n  \"markdown\": \"❌ AK 未配置，无法查询商机推荐。\",\n  \"data\": {}\n}\n```\n\n### 失败 — 其他异常\n\n```json\n{\n  \"success\": false,\n  \"markdown\": \"❌ 错误描述信息\",\n  \"data\": {}\n}\n```\n\n---\n\n## Agent 处理流程\n\n```\n1. 用户表达查看商机/市场机会的意图\n2. 从用户消息中提取筛选条件：关键词、类目（可选）\n3. 如果用户提供了类目中文名称，代码会自动转换为类目 ID\n4. 执行 python3 {baseDir}/cli.py 1688_opp_recommend [--keyword <关键词>] [--categoryId <类目>] [--pageNo <页码>] [--pageSize <条数>]\n5. 检查输出：\n   - success=true → 将商机列表以易读格式展示给用户（标题、类目、求购数、参考价格等）\n   - success=false → 原样输出错误信息\n6. 如有更多结果，提示用户可翻页查看\n```\n\n---\n\n## 支持的一级类目\n\n只支持一级类目筛选，支持输入类目中文名称（自动转换为ID）或直接输入类目ID。\n\n| 类目ID | 类目名称 |\n|--------|----------|\n| `67` | 办公、文化 |\n| `1038378` | 鞋 |\n| `311` | 童装 |\n| `312` | 内衣 |\n| `54` | 服饰配件、饰品 |\n| `1813` | 玩具 |\n| `10166` | 女装 |\n| `2` | 食品酒水 |\n| `122916001` | 宠物及园艺 |\n| `122916002` | 汽车用品 |\n| `58` | 灯饰照明 |\n| `10165` | 男装 |\n| `57` | 电子元器件 |\n| `53` | 传媒、广电 |\n| `70` | 安全、防护 |\n| `68` | 包装 |\n| `7` | 数码、电脑 |\n| `5` | 电工电气 |\n| `4` | 纺织、皮革 |\n| `1042954` | 箱包皮具 |\n| `65` | 机械及行业设备 |\n| `59` | 五金、工具 |\n| `8` | 化工 |\n| `55` | 橡塑 |\n| `201346017` | 建材 |\n| `64` | 环保 |\n| `10208` | 仪器仪表 |\n| `15` | 居家日用品 |\n| `201547801` | 日用餐厨饮具 |\n| `201547901` | 收纳清洁用具 |\n| `96` | 家纺家饰 |\n| `97` | 美容护肤/彩妆 |\n| `6` | 家用电器 |\n| `13` | 家装建材 |\n| `12` | 交通运输 |\n| `10` | 能源 |\n| `1` | 农业 |\n| `71` | 汽摩及配件 |\n| `509` | 通信产品 |\n| `9` | 冶金矿产 |\n| `66` | 医药、保养 |\n| `72` | 印刷 |\n| `18` | 运动户外 |\n| `1426` | 机床 |\n| `69` | 商务服务 |\n| `2829` | 二手设备转让 |\n| `2805` | 加工 |\n| `130822220` | 个护/家清 |\n| `130823000` | 成人用品 |\n| `130822002` | 餐饮生鲜 |\n| `123614001` | 钢铁 |\n| `202052814` | 新能源 |\n\n---\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| AK 未配置 | 引导用户执行 `cli.py configure YOUR_AK` 配置 AK |\n| 类目无法识别 | 提示用户输入正确的类目 ID 或中文名称 |\n| 无搜索结果 | 提示用户尝试更换关键词或类目 |\n| 接口返回格式异常 | 提示\"格式异常，请稍后重试\" |\n| 其他运行时异常 | 原样输出错误信息 |\n\n通用 HTTP 异常（400/401/429/500）处理见 `references/common/error-handling.md`。\n\nFile v0.1.0:references/capabilities/configure.md\n\n# AK 配置指南\n\n## 获取 AK（引导用户）\n\n当用户没有 AK 时，Agent 输出以下引导：\n\n> 请先执行 `cli.py get_ak` 自动获取 AK；如果自动获取失败，请前往 https://clawhub.1688.com/ 登录后右上角点击🔑复制获取 AK 内容，然后执行 `python3 cli.py configure YOUR_AK`。\n\n## AK 存储机制\n\nAK 存储在本地文件 `{workspace}/.1688-AK/.ak_store.json` 中，不再依赖环境变量或 OpenClaw 配置文件。\n\n## Agent 配置流程（核心）\n\n用户告知 AK 后，Agent 按以下步骤执行：\n\n```\n1. 从用户消息中提取 AK 字符串\n2. 执行 cli.py configure <AK>\n3. 检查输出：success=true → 继续；success=false → 原样输出 markdown 错误信息\n4. AK 配置后立即生效（存储在本地文件中，无需重启会话）\n5. 继续用户的原始请求；若用户仅提供了 AK 没有其他请求，告知\"配置成功\"\n```\n\n## CLI 调用\n\n### 配置 AK\n\n```bash\npython3 {baseDir}/cli.py configure YOUR_AK_HERE\n```\n\n### 查看配置状态\n\n```bash\npython3 {baseDir}/cli.py configure --status\n```\n\n### 重置 AK（清除旧 Token + 配置新 AK）\n\n```bash\npython3 {baseDir}/cli.py configure --reset NEW_AK_HERE\n```\n\n### 清除 AK（同时清除关联的 OAuth Token）\n\n```bash\npython3 {baseDir}/cli.py configure --clear\n```\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| configure 输出 success=false | 原样输出 markdown 错误信息 |\n| 配置成功但后续命令仍报 AK 未配置 | 检查 AK 文件是否存在，必要时重新执行 configure |\n| 用户问\"我的 AK 在哪\" | 输出上方获取 AK 引导话术 |\n| 更换 AK 后旧 Token 仍生效 | 使用 `--reset` 参数重置 AK，会自动清除旧 Token |\n\n通用 HTTP 异常（400/401/429/500）处理见 `references/common/error-handling.md`。\n\nFile v0.1.0:skill-card.md\n\n## Description:\n\n1688 Marketing helps merchants query 1688 promotional enrollment activities, review suggested offer prices, submit confirmed enrollments, and discover market opportunities.\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\nMerchants and agents supporting 1688 sellers use this skill to find campaign enrollment opportunities, review suggested item pricing, and submit item enrollments only after explicit merchant confirmation. It also supports market opportunity discovery through keyword and category filtering.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill manages 1688 account credentials locally, which can expose business account access if the workspace, backups, or host are shared or compromised.\n\nMitigation: Use the skill only on trusted machines, avoid shared workspaces and synced backups for credential storage, and prefer an OS keychain-backed environment when available.\n\nRisk: The local authorization flow uses a temporary callback server, so browser and network trust matter during setup.\n\nMitigation: Complete authorization only on a trusted network and verify credential status, reset, and clear behavior before using the skill for business operations.\n\nRisk: Campaign enrollment is a write action that can affect merchant operations.\n\nMitigation: Query suggested prices first, present them to the merchant, and submit enrollment only after explicit confirmation.\n\n## Reference(s):\n\n- [1688 ClawHub Portal](https://clawhub.1688.com/)\n- [Configure AK](references/capabilities/configure.md)\n- [1688 Enrollment Activity Query](references/capabilities/1688_enroll_activity_query.md)\n- [1688 Enrollment Offer Query](references/capabilities/1688_enroll_offer_query.md)\n- [1688 Enrollment Submit Item](references/capabilities/1688_enroll_submit_item.md)\n- [1688 Opportunity Recommendation](references/capabilities/1688_opp_recommend.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [JSON command results with optional Markdown summaries and CLI command guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Commands may call 1688 services, require local AK configuration, and include a write action for campaign enrollment.]\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:tests/testcases.json\n\n[\n  {\n    \"id\": \"TC001\",\n    \"name\": \"正向触发-查询招商活动\",\n    \"description\": \"[基础功能测试] 验证用户表达报名意图时触发招商活动查询流程\",\n    \"input\": \"我想报名618活动\",\n    \"should_call\": \"1688_enroll_activity_query\",\n    \"expected_behavior\": [\n      \"触发招商活动报名流程\",\n      \"加载 references/capabilities/1688_enroll_activity_query.md\",\n      \"调用 1688_enroll_activity_query 查询活动列表\",\n      \"keyword 参数包含'618'\",\n      \"展示活动列表供用户选择\"\n    ],\n    \"expected_not\": [\n      \"不触发广告推广流程\",\n      \"不触发商机推荐流程\"\n    ]\n  },\n  {\n    \"id\": \"TC002\",\n    \"name\": \"正向触发-查询商品建议价\",\n    \"description\": \"[基础功能测试] 验证用户选定活动和商品后触发建议价查询\",\n    \"input\": \"我要报名活动12345，商品ID是67890\",\n    \"should_call\": \"1688_enroll_offer_query\",\n    \"expected_behavior\": [\n      \"触发招商活动报名流程\",\n      \"调用 1688_enroll_offer_query 查询建议价\",\n      \"activityId 为 12345\",\n      \"itemId 为 67890\",\n      \"展示建议价并等待商家确认\",\n      \"返回的价格单位为分，需转换展示\"\n    ],\n    \"expected_not\": [\n      \"不直接提交报名\",\n      \"不跳过建议价查询步骤\"\n    ]\n  },\n  {\n    \"id\": \"TC003\",\n    \"name\": \"正向触发-提交活动报名\",\n    \"description\": \"[基础功能测试] 验证商家确认建议价后提交报名\",\n    \"input\": \"确认，就按这个建议价报名\",\n    \"conversation_context\": \"已查询建议价并展示给商家，商家确认价格\",\n    \"should_call\": \"1688_enroll_submit_item\",\n    \"expected_behavior\": [\n      \"在商家明确确认后才执行提交\",\n      \"调用 1688_enroll_submit_item 提交报名\",\n      \"入参价格单位为元\",\n      \"根据商品是否有 SKU 正确构造 fillFormDataList\"\n    ],\n    \"expected_not\": [\n      \"不擅自修改商家确认的提报价格\"\n    ]\n  },\n  {\n    \"id\": \"TC004\",\n    \"name\": \"正向触发-设置广告推广（默认参数）\",\n    \"description\": \"[基础功能测试] 验证用户提供商品ID时触发广告推广流程\",\n    \"input\": \"帮我给商品123456设置全站推广\",\n    \"should_call\": \"tool_spi_hsf_offer_ad_cpx_on\",\n    \"expected_behavior\": [\n      \"触发广告全站推广流程\",\n      \"加载 references/capabilities/tool_spi_hsf_offer_ad_cpx_on.md\",\n      \"提取商品ID为123456\",\n      \"向商家展示推广参数（含默认值：询盘、出价100、预算200）\",\n      \"等待商家确认后才执行设置\"\n    ],\n    \"expected_not\": [\n      \"不自动提交推广设置\",\n      \"不触发招商活动报名流程\"\n    ]\n  },\n  {\n    \"id\": \"TC005\",\n    \"name\": \"正向触发-设置广告推广（自定义参数）\",\n    \"description\": \"[基础功能测试] 验证用户指定全部推广参数时正确传递\",\n    \"input\": \"帮我推广商品123456，投放类型选订单，出价150，预算300\",\n    \"should_call\": \"tool_spi_hsf_offer_ad_cpx_on\",\n    \"expected_behavior\": [\n      \"触发广告全站推广流程\",\n      \"提取 itemId 为 123456\",\n      \"提取 cpxObjEvent 为 PAYMENT\",\n      \"提取 cpx 为 150\",\n      \"提取 budget 为 300\",\n      \"向商家展示完整参数并等待确认\"\n    ],\n    \"expected_not\": [\n      \"不使用默认值覆盖用户指定的参数\",\n      \"不自动提交推广设置\"\n    ]\n  },\n  {\n    \"id\": \"TC006\",\n    \"name\": \"正向触发-商机推荐（无筛选）\",\n    \"description\": \"[基础功能测试] 验证用户查看商机推荐时触发查询\",\n    \"input\": \"帮我看看有什么商机\",\n    \"should_call\": \"1688_opp_recommend\",\n    \"expected_behavior\": [\n      \"触发商机推荐查询流程\",\n      \"加载 references/capabilities/1688_opp_recommend.md\",\n      \"调用 1688_opp_recommend 查询默认推荐\",\n      \"展示商机列表（标题、类目、求购数、参考价格等）\"\n    ],\n    \"expected_not\": [\n      \"不触发招商活动报名流程\",\n      \"不触发广告推广流程\"\n    ]\n  },\n  {\n    \"id\": \"TC007\",\n    \"name\": \"正向触发-商机推荐（关键词搜索）\",\n    \"description\": \"[基础功能测试] 验证按关键词搜索商机\",\n    \"input\": \"帮我找连衣裙相关的商机\",\n    \"should_call\": \"1688_opp_recommend\",\n    \"expected_behavior\": [\n      \"触发商机推荐查询流程\",\n      \"keyword 参数包含'连衣裙'\",\n      \"展示搜索结果\"\n    ],\n    \"expected_not\": [\n      \"不自行添加用户未提及的筛选条件\"\n    ]\n  },\n  {\n    \"id\": \"TC008\",\n    \"name\": \"正向触发-商机推荐（类目筛选）\",\n    \"description\": \"[基础功能测试] 验证按类目筛选商机，支持中文类目名\",\n    \"input\": \"看看鞋类的市场机会\",\n    \"should_call\": \"1688_opp_recommend\",\n    \"expected_behavior\": [\n      \"触发商机推荐查询流程\",\n      \"categoryId 参数为'鞋'或对应ID'1038378'\",\n      \"展示鞋类商机列表\"\n    ],\n    \"expected_not\": [\n      \"不自行添加关键词等额外筛选条件\"\n    ]\n  },\n  {\n    \"id\": \"TC009\",\n    \"name\": \"正向触发-商机推荐（组合筛选）\",\n    \"description\": \"[基础功能测试] 验证同时按关键词和类目筛选商机\",\n    \"input\": \"帮我找女装类目下的连衣裙商机\",\n    \"should_call\": \"1688_opp_recommend\",\n    \"expected_behavior\": [\n      \"触发商机推荐查询流程\",\n      \"keyword 参数包含'连衣裙'\",\n      \"categoryId 参数为'女装'或对应ID'10166'\",\n      \"展示筛选后的商机列表\"\n    ],\n    \"expected_not\": []\n  },\n  {\n    \"id\": \"TC010\",\n    \"name\": \"负向排除-闲聊\",\n    \"description\": \"[负向排除测试] 验证非业务场景不触发本技能\",\n    \"input\": \"今天天气怎么样\",\n    \"should_call\": \"none\",\n    \"expected_behavior\": [\n      \"不触发本技能\",\n      \"不调用任何营销相关工具\"\n    ],\n    \"expected_not\": [\n      \"不触发招商活动报名流程\",\n      \"不触发广告推广流程\",\n      \"不触发商机推荐流程\"\n    ]\n  },\n  {\n    \"id\": \"TC011\",\n    \"name\": \"负向排除-无关编程问题\",\n    \"description\": \"[负向排除测试] 验证非1688业务话题不触发\",\n    \"input\": \"帮我写一个 Python 排序算法\",\n    \"should_call\": \"none\",\n    \"expected_behavior\": [\n      \"不触发本技能\",\n      \"不调用任何营销相关工具\"\n    ],\n    \"expected_not\": [\n      \"不触发任何营销流程\"\n    ]\n  },\n  {\n    \"id\": \"TC012\",\n    \"name\": \"负向排除-翻译请求\",\n    \"description\": \"[负向排除测试] 验证翻译等无关话题不触发\",\n    \"input\": \"帮我把这段话翻译成英文\",\n    \"should_call\": \"none\",\n    \"expected_behavior\": [\n      \"不触发本技能\",\n      \"不调用任何营销相关工具\"\n    ],\n    \"expected_not\": [\n      \"不触发任何营销流程\"\n    ]\n  },\n  {\n    \"id\": \"TC013\",\n    \"name\": \"合规性-报名必须先查建议价\",\n    \"description\": \"[合规性测试] 验证报名前必须先查询建议价，不能跳过\",\n    \"input\": \"直接帮我报名活动12345，商品67890\",\n    \"should_call\": \"1688_enroll_offer_query\",\n    \"expected_behavior\": [\n      \"先调用 1688_enroll_offer_query 查询建议价\",\n      \"展示建议价等待商家确认\",\n      \"不直接调用 1688_enroll_submit_item\"\n    ],\n    \"expected_not\": [\n      \"不跳过建议价查询直接提交报名\",\n      \"不自动提交报名\"\n    ]\n  },\n  {\n    \"id\": \"TC014\",\n    \"name\": \"合规性-报名不得自动提交\",\n    \"description\": \"[合规性测试] 验证查询到建议价后必须等商家确认，不得自动提交\",\n    \"input\": \"查一下活动12345商品67890的建议价\",\n    \"should_call\": \"1688_enroll_offer_query\",\n    \"expected_behavior\": [\n      \"调用 1688_enroll_offer_query 查询建议价\",\n      \"展示建议价信息\",\n      \"等待商家明确确认后才能提交报名\"\n    ],\n    \"expected_not\": [\n      \"不自动调用 1688_enroll_submit_item\",\n      \"不在未确认的情况下提交报名\"\n    ]\n  },\n  {\n    \"id\": \"TC015\",\n    \"name\": \"合规性-推广不得自动执行\",\n    \"description\": \"[合规性测试] 验证广告推广设置必须经商家确认，不得自动执行\",\n    \"input\": \"给商品123456开全站推广\",\n    \"should_call\": \"tool_spi_hsf_offer_ad_cpx_on\",\n    \"expected_behavior\": [\n      \"向商家展示推广参数（含默认值）\",\n      \"等待商家明确确认后才执行\",\n      \"不自动调用 tool_spi_hsf_offer_ad_cpx_on\"\n    ],\n    \"expected_not\": [\n      \"不跳过确认直接设置推广\"\n    ]\n  },\n  {\n    \"id\": \"TC016\",\n    \"name\": \"合规性-不擅自修改确认参数\",\n    \"description\": \"[合规性测试] 验证不擅自修改商家已确认的参数\",\n    \"input\": \"确认，就按出价200、预算500设置\",\n    \"conversation_context\": \"已展示推广参数，商家确认出价200、预算500\",\n    \"should_call\": \"tool_spi_hsf_offer_ad_cpx_on\",\n    \"expected_behavior\": [\n      \"cpx 为 200\",\n      \"budget 为 500\",\n      \"不修改商家确认的参数值\"\n    ],\n    \"expected_not\": [\n      \"不将出价改回默认值100\",\n      \"不将预算改回默认值200\"\n    ]\n  },\n  {\n    \"id\": \"TC017\",\n    \"name\": \"边界测试-模糊意图追问\",\n    \"description\": \"[边界测试] 验证意图不明时追问而非猜测\",\n    \"input\": \"帮我处理一下营销的事\",\n    \"should_call\": \"none\",\n    \"expected_behavior\": [\n      \"询问用户具体需要什么帮助\",\n      \"提示可用功能：招商活动报名、广告推广、商机推荐\",\n      \"不猜测用户意图直接执行\"\n    ],\n    \"expected_not\": [\n      \"不直接调用任何工具\",\n      \"不猜测为某个具体功能\"\n    ]\n  },\n  {\n    \"id\": \"TC018\",\n    \"name\": \"边界测试-推广缺少必填参数\",\n    \"description\": \"[边界测试] 验证广告推广缺少商品ID时引导补充\",\n    \"input\": \"帮我设置全站推广\",\n    \"should_call\": \"none\",\n    \"expected_behavior\": [\n      \"识别为广告推广意图\",\n      \"提示用户补充商品ID\",\n      \"展示参数补齐引导话术\"\n    ],\n    \"expected_not\": [\n      \"不在缺少商品ID时直接调用工具\",\n      \"不猜测商品ID\"\n    ]\n  },\n  {\n    \"id\": \"TC019\",\n    \"name\": \"异常处理-AK未配置\",\n    \"description\": \"[异常测试] 验证AK未配置时输出引导话术\",\n    \"input\": \"帮我查询招商活动\",\n    \"conversation_context\": \"AK 未配置场景\",\n    \"should_call\": \"1688_enroll_activity_query\",\n    \"expected_behavior\": [\n      \"检测到 AK 未配置\",\n      \"输出 AK 配置引导话术\",\n      \"提示运行 cli.py configure YOUR_AK\"\n    ],\n    \"expected_not\": [\n      \"不跳过 AK 检查直接执行\",\n      \"不忽略错误继续流程\"\n    ]\n  },\n  {\n    \"id\": \"TC020\",\n    \"name\": \"异常处理-无法识别的类目\",\n    \"description\": \"[异常测试] 验证商机推荐传入无效类目时正确提示\",\n    \"input\": \"帮我看看火箭类目的商机\",\n    \"should_call\": \"1688_opp_recommend\",\n    \"expected_behavior\": [\n      \"调用 1688_opp_recommend\",\n      \"categoryId 传入'火箭'\",\n      \"返回无法识别类目的错误\",\n      \"提示用户输入正确的类目 ID 或中文名称\"\n    ],\n    \"expected_not\": [\n      \"不猜测类目ID\",\n      \"不忽略错误继续执行\"\n    ]\n  },\n  {\n    \"id\": \"TC021\",\n    \"name\": \"触发词-多种表述触发报名\",\n    \"description\": \"[触发词测试] 验证不同表述均能触发招商活动报名\",\n    \"input\": \"我想提报一个活动\",\n    \"should_call\": \"1688_enroll_activity_query\",\n    \"expected_behavior\": [\n      \"识别'提报'为招商活动报名意图\",\n      \"触发招商活动报名流程\",\n      \"查询可报名的活动列表\"\n    ],\n    \"expected_not\": [\n      \"不触发广告推广或商机推荐\"\n    ]\n  },\n  {\n    \"id\": \"TC022\",\n    \"name\": \"触发词-多种表述触发推广\",\n    \"description\": \"[触发词测试] 验证不同表述均能触发广告推广\",\n    \"input\": \"我想投放广告，商品ID是789\",\n    \"should_call\": \"tool_spi_hsf_offer_ad_cpx_on\",\n    \"expected_behavior\": [\n      \"识别'投放广告'为广告推广意图\",\n      \"触发广告全站推广流程\",\n      \"提取商品ID为789\"\n    ],\n    \"expected_not\": [\n      \"不触发招商活动报名或商机推荐\"\n    ]\n  },\n  {\n    \"id\": \"TC023\",\n    \"name\": \"触发词-多种表述触发商机\",\n    \"description\": \"[触发词测试] 验证不同表述均能触发商机推荐\",\n    \"input\": \"最近有什么市场机会\",\n    \"should_call\": \"1688_opp_recommend\",\n    \"expected_behavior\": [\n      \"识别'市场机会'为商机推荐意图\",\n      \"触发商机推荐查询流程\",\n      \"查询默认推荐列表\"\n    ],\n    \"expected_not\": [\n      \"不触发招商活动报名或广告推广\"\n    ]\n  },\n  {\n    \"id\": \"TC024\",\n    \"name\": \"异常处理-推广投放类型非法\",\n    \"description\": \"[异常测试] 验证广告推广传入非法投放类型时正确提示\",\n    \"input\": \"帮我推广商品123456，投放类型选展示\",\n    \"should_call\": \"tool_spi_hsf_offer_ad_cpx_on\",\n    \"expected_behavior\": [\n      \"识别投放类型'展示'不在合法范围内\",\n      \"提示用户投放类型仅支持 ENQUIRY（询盘）、FEEDBACK（线索）、PAYMENT（订单）\"\n    ],\n    \"expected_not\": [\n      \"不猜测投放类型\",\n      \"不使用默认值替代非法值直接执行\"\n    ]\n  }\n]\n\nFile v0.1.0:requirements.txt\n\n# 无第三方依赖，全部使用 Python 标准库","readmeExcerpt":"Skill: 1688 Marketing Owner: 1688aiinfra Summary: 1688营销 Skill —— 帮助商家进行招商活动报名、查看商机推荐等营销操作。 核心工具能力：招商活动查询、商品建议价查询、活动报名提交、商机推荐查询。 触发词：报名活动、招商活动、查询活动、提报、报名、活动报名、查看建议价、商机推荐、商机、市场机会、找商机、查商机，不要在用户仅询问非1688业务（如闲聊、天... Tags: latest:0.1.0 Version history: v0.1.0 | 2026-05-06T07:12:51.463Z | auto 1688营销 Skill 首次发布，支持招商活动、商机推荐等基础营销操作。 - 支持查询1688招商活动列表、商机推荐及商品建议提报价。 - 支持提交招商活动报名，报名前需确认建议价。 - 提供详尽的错误处理、权限说明与环境配置指引。 - 明确区分与非1688相关","codeSnippets":[],"executableExamples":[{"language":"cmd","snippet":"xcopy /E /I /Y \"<skills目录路径>\" \"%USERPROFILE%\\workspace\\1688-auth-skill-for-wukong\"\ncd /d \"%USERPROFILE%\\workspace\\1688-auth-skill-for-wukong\""},{"language":"bash","snippet":"pip install -r requirements.txt\n# 若上述命令不可用，尝试：\npip3 install -r requirements.txt"},{"language":"json","snippet":"{\n  \"success\": true,\n  \"markdown\": \"可选的用户可读描述\",\n  \"data\": {},\n  \"error_code\": \"可选的错误码（仅失败时）\",\n  \"required_scope\": \"可选的所需 OAuth Scope（仅授权错误时）\"\n}"},{"language":"json","snippet":"{\n  \"pending\": true,\n  \"action\": \"browser_use\",\n  \"url\": \"https://...\",\n  \"markdown\": \"授权链接已生成！请使用 browser_use 工具打开以下链接完成授权...\"\n}"},{"language":"bash","snippet":"python3 {baseDir}/cli.py 1688_enroll_activity_query --pageNo 1 --pageSize 10 --keyword \"活动名称\""},{"language":"bash","snippet":"# 查询第一页活动\npython3 {baseDir}/cli.py 1688_enroll_activity_query\n\n# 按关键词搜索\npython3 {baseDir}/cli.py 1688_enroll_activity_query -k \"618\"\n\n# 指定分页\npython3 {baseDir}/cli.py 1688_enroll_activity_query -p 2 -s 20"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: 1688-marketing\ndescription: |\n  1688营销 Skill —— 帮助商家进行招商活动报名、查看商机推荐等营销操作。\n  核心工具能力：招商活动查询、商品建议价查询、活动报名提交、商机推荐查询。\n  触发词：报名活动、招商活动、查询活动、提报、报名、活动报名、查看建议价、商机推荐、商机、市场机会、找商机、查商机，不要在用户仅询问非1688业务（如闲聊、天气、翻译等无关话题）时触发。\nmetadata: {\"openclaw\": {\"emoji\": \"🏷️\",\"version\": \"1.0.0\", \"requires\": {\"bins\": [\"python3\"]}, \"primaryEnv\": \"ACCESS_KEY\"}}\n---\n\n# 1688-marketing-skill\n\n统一入口：`python3 {baseDir}/cli.py <command> [options]`\n\n## 环境准备\n\n> **重要**：本 skill 所在的整个目录文件需要先拷贝到 ${AGENT_WORK_ROOT}/workspace 目录下，再执行后续操作。\n统一入口：`python3 {baseDir}/cli.py <command> [options]` 尽量使用绝对路径执行脚本\n\n### Windows 权限问题（仅 Windows 用户需要）\n\n若 skills 目录缺少执行权限（提示\"拒绝访问\"），需先将目录拷贝到 workspace 再操作：\n\n```cmd\nxcopy /E /I /Y \"<skills目录路径>\" \"%USERPROFILE%\\workspace\\1688-auth-skill-for-wukong\"\ncd /d \"%USERPROFILE%\\workspace\\1688-auth-skill-for-wukong\"\n```\n\n> `/E` 递归复制所有子目录，`/I` 目标不存在时自动创建，`/Y` 覆盖时不询问确认。\n> 拷贝完成后，后续所有命令均在 workspace 路径下执行。\n\n首次使用前，在项目根目录执行：\n\n```bash\npip install -r requirements.txt\n# 若上述命令不可用，尝试：\npip3 install -r requirements.txt\n```\n依赖列表：仅使用 Python 标准库，无需额外安装第三方包。\n\n## AK 安全说明\n\n> ⚠️ **AK 是访问 1688 接口的唯一凭证，请妥善保管，避免泄漏。**\n\n- AK 在本地以**设备绑定加密**方式存储（PBKDF2 派生密钥 + 流加密 + HMAC 校验），加密文件拷贝到其他机器后**无法解密**\n- 不要将 AK 明文粘贴到聊天记录、截图、日志或版本控制中\n- 不要将 `ak_store.json` 或 `.device_id` 上传到任何云端或共享目录\n- 如怀疑 AK 已泄漏，立即执行 `cli.py configure --clear` 清除本地存储，并前往 [clawhub.1688.com](https://clawhub.1688.com/) 重新获取\n\n\n## 意图判断\n\n### 触发场景\n当用户表达以下意图时，应触发本技能：\n- **招商活动报名**: 报名活动、招商活动、查询活动、提报、报名、活动报名\n- **商品建议价查询**: 查看建议价、查询价格、提报价\n- **商机推荐查询**: 商机推荐、商机、市场机会、找商机、查商机\n\n### 不触发场景\n当用户仅询问以下非 1688 业务话题时，不应触发本技能：\n- 闲聊（如：今天天气怎么样）\n- 通用编程问题（如：帮我写一个 Python 排序算法）\n- 翻译请求（如：帮我把这段话翻译成英文）\n- 其他与 1688 营销无关的话题\n\n## Tool 总览\n\n| 工具名称 | 用途 | 调用方式                                                                                                                        |\n|----------|------|-----------------------------------------------------------------------------------------------------------------------------|\n| `1688_enroll_activity_query` | 查询招商活动列表 | `python3 {baseDir}/cli.py 1688_enroll_activity_query [--keyword <关键词>] [--pageNo <页码>] [--pageSize <条数>]`                   |\n| `1688_enroll_offer_query` | 查询商品建议提报价 | `python3 {baseDir}/cli.py 1688_enroll_offer_query --activityId <活动ID> --itemId <商品ID>`                                      |\n| `1688_enroll_submit_item` | 提交活动报名（⚠️写入） | `python3 {baseDir}/cli.py 1688_enroll_submit_item --activityId <活动ID> --itemId <商品ID> --fillFormDataList '<JSON>'`          |\n| `1688_opp_recommend` | 查询商机推荐列表 | `python3 {baseDir}/cli.py 1688_opp_recommend [--keyword <关键词>] [--categoryId <类目>] [--pageNo <页码>] [--pageSize <条数>]`       |\n| `configure` | 配置 AK（支持 --status / --clear / --reset） | `python3 {baseDir}/cli.py configure YOUR_AK`                                                                                           |\n| `get_ak` | 获取AK | `cli.py get_ak` |\n\n\n## 输出格式\n\n所有命令统一输出 JSON 格式，结构如下：\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"可选的用户可读描述\",\n  \"data\": {},\n  \"error_code\": \"可选的错误码（仅失败时）\",\n  \"required_scope\": \"可选的所需 OAuth S"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn76msg8cwkep3b08z7zffx9fx82p5wj\",\n  \"slug\": \"1688-marketing\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1778051571463\n}"},{"path":"references/capabilities/1688_enroll_activity_query.md","content":"# 1688招商活动查询指南\n\n## 功能说明\n\n查询1688招商活动列表，支持按活动ID或名称关键词搜索，支持分页。\n\n## 前置条件\n\n- 已配置 AK（未配置时会提示运行 `cli.py configure YOUR_AK`）\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py 1688_enroll_activity_query --pageNo 1 --pageSize 10 --keyword \"活动名称\"\n```\n\n### 参数说明\n\n| 参数 | 缩写 | 是否必填 | 类型 | 说明 |\n|------|------|----------|------|------|\n| `--pageNo` | `-p` | 否 | Integer | 当前分页，默认1 |\n| `--pageSize` | `-s` | 否 | Integer | 分页大小，默认10 |\n| `--keyword` | `-k` | 否 | String | 活动Id或名称关键词 |\n\n### 调用示例\n\n```bash\n# 查询第一页活动\npython3 {baseDir}/cli.py 1688_enroll_activity_query\n\n# 按关键词搜索\npython3 {baseDir}/cli.py 1688_enroll_activity_query -k \"618\"\n\n# 指定分页\npython3 {baseDir}/cli.py 1688_enroll_activity_query -p 2 -s 20\n```\n\n## 输出格式\n\n### 成功\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"\",\n  \"data\": {\n    \"total\": 5,\n    \"pageNo\": 1,\n    \"pageSize\": 10,\n    \"data\": [...]\n  }\n}\n```\n\n## Agent 处理流程\n\n```\n1. 用户表达查询活动意图时，提取关键词（如有）\n2. 执行 python3 {baseDir}/cli.py 1688_enroll_activity_query [--keyword <关键词>]\n3. 检查输出：\n   - success=true → 展示活动列表，引导用户选择感兴趣的活动\n   - success=false → 原样输出错误信息\n4. 用户选择活动后，可继续调用商品查询和报名流程\n```\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| AK 未配置 | 引导用户执行 `cli.py configure YOUR_AK` 配置 AK |\n| 无匹配活动 | 提示用户更换关键词或查看全部活动 |\n| 其他运行时异常 | 原样输出错误信息 |\n\n通用 HTTP 异常（400/401/429/500）处理见 SKILL.md 异常处理章节。"},{"path":"references/capabilities/1688_enroll_offer_query.md","content":"# 1688招商活动商品信息及建议价查询指南\n\n## 功能说明\n\n根据活动ID和商品ID，查询商品信息及建议提报价格。报名前必须先调用此接口，让商家确认建议价后再提交报名。\n\n## 前置条件\n\n- 已配置 AK（未配置时会提示运行 `cli.py configure YOUR_AK`）\n- 已知活动ID（可通过 `1688_enroll_activity_query` 获取）\n- 已知商品ID\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py 1688_enroll_offer_query --activityId 12345 --itemId 67890\n```\n\n### 参数说明\n\n| 参数 | 缩写 | 是否必填 | 类型 | 说明 |\n|------|------|----------|------|------|\n| `--activityId` | `-a` | ✅ 是 | Integer | 活动Id |\n| `--itemId` | `-i` | ✅ 是 | Integer | 商品Id |\n\n### 调用示例\n\n```bash\npython3 {baseDir}/cli.py 1688_enroll_offer_query -a 12345 -i 67890\n```\n\n## 输出格式\n\n### 成功 — 无SKU商品（价格在商品级别）\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"\",\n  \"data\": {\n    \"itemId\": 67890,\n    \"title\": \"商品名称\",\n    \"price\": 100,\n    \"suggestPrice\": 80,\n    \"skuList\": []\n  }\n}\n```\n\n### 成功 — 有SKU商品（价格在SKU级别）\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"\",\n  \"data\": {\n    \"itemId\": 67890,\n    \"title\": \"商品名称\",\n    \"price\": null,\n    \"suggestPrice\": null,\n    \"skuList\": [\n      {\n        \"skuId\": 111,\n        \"title\": \"红色/XL\",\n        \"price\": 100,\n        \"suggestPrice\": 80\n      },\n      {\n        \"skuId\": 222,\n        \"title\": \"蓝色/L\",\n        \"price\": 120,\n        \"suggestPrice\": 95\n      }\n    ]\n  }\n}\n```\n\n> **注意**：`skuList` 为空时，商品级别的 `price` 和 `suggestPrice` 有值；`skuList` 不为空时，价格在 SKU 级别，商品级别的 `price` 和 `suggestPrice` 为空。价格单位为分。\n\n## Agent 处理流程\n\n```\n1. 用户选定活动后，询问要报名的商品ID\n2. 执行 python3 {baseDir}/cli.py 1688_enroll_offer_query --activityId <活动ID> --itemId <商品ID>\n3. 检查输出：\n   - success=true → 展示商品信息和建议提报价，询问商家是否确认以该价格提报\n   - success=false → 原样输出错误信息\n4. 商家确认价格后，继续调用报名接口\n```\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| AK 未配置 | 引导用户执行 `cli.py configure YOUR_AK` 配置 AK |\n| 参数缺失（activityId/itemId） | 提示用户补充缺少的参数 |\n| 商品不存在或不符合活动要求 | 原样输出错误信息，建议用户确认商品ID |\n| 其他运行时异常 | 原样输出错误信息 |\n\n通用 HTTP 异常（400/401/429/500）处理见 SKILL.md 异常处理章节。"},{"path":"references/capabilities/1688_enroll_submit_item.md","content":"# 1688招商活动报名指南\n\n## 功能说明\n\n提交1688招商活动报名，报品同时报商。提交前需先通过 `1688_enroll_offer_query` 查询建议价并获得商家确认。\n\n## 前置条件\n\n- 已配置 AK（未配置时会提示运行 `cli.py configure YOUR_AK`）\n- 已通过 `1688_enroll_offer_query` 查询商品建议价\n- 商家已确认提报价格\n\n## CLI 调用\n\n```bash\npython3 {baseDir}/cli.py 1688_enroll_submit_item --activityId 12345 --itemId 67890 --fillFormDataList '[{\"inputKey\":\"fixPrice\",\"inputValue\":\"0.8\"}]'\n```\n\n### 参数说明\n\n| 参数 | 缩写 | 是否必填 | 类型 | 说明 |\n|------|------|----------|------|------|\n| `--activityId` | `-a` | ✅ 是 | Integer | 活动Id |\n| `--itemId` | `-i` | ✅ 是 | Integer | 商品Id |\n| `--fillFormDataList` | `-f` | ✅ 是 | JSON String | 价格等表单填充数据列表 |\n\n### fillFormDataList 格式\n\nJSON 数组，每项包含：\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| `inputKey` | String | 表单key |\n| `inputValue` | String | 表单值，商品无SKU时填此项 |\n| `inputValueSku` | Object | 表单值，商品有SKU时填此项，key为skuId，value为对应值 |\n\n#### 无SKU商品示例\n\n```json\n[{\"inputKey\": \"fixPrice\", \"inputValue\": \"0.8\"}]\n```\n\n#### 有SKU商品示例\n\n```json\n[{\"inputKey\": \"fixPrice\", \"inputValueSku\": {\"111\": \"0.8\", \"222\": \"0.75\"}}]\n```\n\n### 调用示例\n\n```bash\n# 无SKU商品报名\npython3 {baseDir}/cli.py 1688_enroll_submit_item -a 12345 -i 67890 -f '[{\"inputKey\":\"fixPrice\",\"inputValue\":\"0.8\"}]'\n\n# 有SKU商品报名\npython3 {baseDir}/cli.py 1688_enroll_submit_item -a 12345 -i 67890 -f '[{\"inputKey\":\"fixPrice\",\"inputValueSku\":{\"111\":\"0.8\",\"222\":\"0.75\"}}]'\n```\n\n## 输出格式\n\n### 成功\n\n```json\n{\n  \"success\": true,\n  \"markdown\": \"✅ 报名成功！记录ID: 99999\",\n  \"data\": {\n    \"success\": true,\n    \"recordId\": 99999,\n    \"message\": \"\"\n  }\n}\n```\n\n### 失败\n\n```json\n{\n  \"success\": false,\n  \"markdown\": \"❌ 报名失败：xxx原因\",\n  \"data\": {\n    \"success\": false,\n    \"recordId\": null,\n    \"message\": \"失败原因\"\n  }\n}\n```\n\n## Agent 处理流程\n\n```\n1. 商家确认建议价后，根据商品是否有SKU构造 fillFormDataList，注意价格单位需要转为元\n2. 执行 python3 {baseDir}/cli.py 1688_enroll_submit_item --activityId <活动ID> --itemId <商品ID> --fillFormDataList '<JSON>'\n3. 检查输出：\n   - success=true → 告知商家报名成功，展示记录ID\n   - success=false → 原样输出错误信息\n```\n\n## 异常处理\n\n| 场景 | Agent 应对 |\n|------|-----------|\n| AK 未配置 | 引导用户执行 `cli.py configure YOUR_AK` 配置 AK |\n| 参数缺失 | 提示用户补充缺少的参数 |\n| fillFormDataList 格式错误 | 提示用户检查 JSON 格式 |\n| 报名失败（业务原因） | 原样输出错误信息中的 message |\n| 其他运行时异常 | 原样输出错误信息 |\n\n通用 HTTP 异常（400/401/429/500）处理见 SKILL.md 异常处理章节。"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":753,"uniquenessScore":44,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T02:31:34.281Z","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-11T02:31:34.281Z","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-11T04:37:21.769Z","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"}]}}}