{ "name": "voc-proposal", "displayName": "VOC产品优化提案生成", "description": "整合所有VOC分析成果,AI生成11章节产品优化提案(含ROI估算+30天行动线)", "category": "synthesis", "version": "2.1.0", "type": "analysis", "parameters": { "categoryLandscape": { "type": "object", "required": true, "description": "synthesis/category-landscape 输出" }, "brandProfile": { "type": "object", "required": true, "description": "synthesis/brand-profile 输出" }, "competitorData": { "type": "object", "required": true, "description": "competitor-analysis 相关输出汇总" }, "reviewAnalysis": { "type": "object", "required": true, "description": "review-analysis 相关输出汇总" }, "socialVocData": { "type": "object", "required": false, "description": "social-voc 相关输出汇总" }, "userPersona": { "type": "object", "required": true, "description": "synthesis/user-persona 输出" }, "brandName": { "type": "string", "required": true, "description": "品牌名称" }, "categoryKeyword": { "type": "string", "required": true, "description": "品类关键词" } }, "pipeline": [ { "step": 1, "name": "构建数据索引", "type": "compute", "logic": "buildDataIndex(categoryLandscape, brandProfile, competitorData, reviewAnalysis, socialVocData, userPersona)", "algorithm": { "index": "将所有上游技能输出按章节主题分类索引", "chapters": { "ch1_market": "categoryLandscape → 市场总览/CR5/价格带/搜索趋势", "ch2_competitor": "competitorData → 竞品发现/对比矩阵/定价分析/BSR追踪", "ch3_voc": "reviewAnalysis → 情感分布/痛点TOP/亮点TOP/关键词云", "ch4_social": "socialVocData → TikTok热度/IG策略/趋势话题", "ch5_user": "userPersona → 用户画像/场景分布/决策因素", "ch6_action": "综合所有数据 → 产品优化行动计划" }, "completeness": "检查各数据源是否完整,缺失的标记为data_missing" }, "output": "dataIndex" }, { "step": 2, "name": "AI生成提案", "type": "ai", "logic": "generateProposal(dataIndex, { brandName, categoryKeyword, template: '6-chapter' })", "aiConfig": { "systemPrompt": "你是跨境电商VOC分析专家。请基于数据生成结构化的产品优化提案。只输出JSON。", "userPromptTemplate": "品牌: ${brandName}\n品类: ${categoryKeyword}\n\n请生成6章节提案:\n1. 市场总览与机会 (${ch1_data})\n2. 竞争格局与定位 (${ch2_data})\n3. VOC洞察与产品优化 (${ch3_data})\n4. 社媒趋势与营销策略 (${ch4_data})\n5. 用户画像与场景策略 (${ch5_data})\n6. 行动计划与优先级 (${all_data})", "outputFormat": "{\"chapters\":[{\"title\":\"市场总览与机会\",\"sections\":[{\"heading\":\"\",\"content\":\"\",\"dataRef\":\"\"}],\"keyFindings\":[\"\"],\"recommendations\":[\"\"]}]}", "temperature": 0.3, "maxTokens": 8000, "promptPattern": "system约束JSON输出 + user按章节注入数据摘要 + outputFormat示例引导结构" }, "output": "proposal" }, { "step": 3, "name": "添加数据引用+生成Markdown", "type": "compute", "logic": "addDataReferences(proposal, dataIndex)", "algorithm": { "dataRef": "为每个章节的每个结论添加数据来源引用", "markdown": "将JSON提案转化为完整Markdown文档,包含目录/执行摘要/6章节/附录", "executiveSummary": "从各章keyFindings和recommendations中提取核心要点生成执行摘要", "completenessReport": "标注数据完整度: 哪些章节有完整数据支撑,哪些基于AI推断" }, "output": "finalProposal" }, { "step": 4, "name": "ROI估算与风险整合", "type": "compute", "logic": "computeRoiAndRisks(proposal, dataIndex, categoryLandscape, competitorData)", "algorithm": { "roiEstimation": { "perRecommendation": "为每条建议估算: 投入成本/预期收益/回本周期", "listingOptimization": "$0成本, 预计提升转化率10-20%, 回本0天", "ppcCampaign": "日预算$30-50, ACOS目标<30%, 14天见效", "productIteration": "模具/包装改良成本估算, 60-90天回本", "socialMarketing": "KOL合作费用估算, 30-45天见效" }, "riskIntegration": { "method": "从哄类格局/竞品分析中汇总风险预警", "mitigation": "每个风险配套缓解策略" } }, "output": "roiAndRisks" }, { "step": 5, "name": "30天行动时间线", "type": "compute", "logic": "build30DayTimeline(proposal, roiAndRisks, dataIndex)", "algorithm": { "weeklyBreakdown": { "week1": [ "Listing优化(标题/五点/ST植入核心词)", "差评快速响应机制启动", "广告活动搭建(Auto+手动精准)" ], "week2": [ "A+页面优化", "广告Bid调优基于第一周数据", "社媒内容发布启动" ], "week3": [ "主图/视频迭代优化", "广告否词清理+新词扩展", "促销活动启动(Coupon/Deal)" ], "week4": [ "效果复盘+数据分析", "下月计划制定", "库存补货决策" ] }, "milestones": [ { "day": 7, "target": "Listing优化完成,广告开始积累数据" }, { "day": 14, "target": "广告ACOS降至目标值,有机流量开始提升" }, { "day": 21, "target": "转化率提升可见,社媒引流开始起效" }, { "day": 30, "target": "全面复盘,确认下一阶段重点" } ] }, "output": "actionTimeline" } ], "response": { "type": "object", "properties": { "proposal": { "type": "object", "description": "完整提案结构", "properties": { "title": { "type": "string" }, "date": { "type": "string" }, "executiveSummary": { "type": "string" }, "chapters": { "type": "array", "items": { "type": "object", "properties": { "title": { "type": "string" }, "sections": { "type": "array" }, "keyFindings": { "type": "array", "items": { "type": "string" } }, "recommendations": { "type": "array", "items": { "type": "string" } } } } }, "fullMarkdown": { "type": "string", "description": "完整Markdown文档" } } }, "dataReferences": { "type": "object", "description": "数据引用和完整度", "properties": { "completeness": { "type": "number", "description": "0-100数据完整度" }, "availableSources": { "type": "array", "items": { "type": "string" } }, "missingSources": { "type": "array", "items": { "type": "string" } } } }, "roiEstimation": { "type": "array", "description": "每条建议的ROI估算", "items": { "type": "object", "properties": { "recommendation": { "type": "string" }, "investmentCost": { "type": "string" }, "expectedReturn": { "type": "string" }, "paybackPeriod": { "type": "string" }, "priority": { "type": "string", "enum": [ "high", "medium", "low" ] } } } }, "riskAlerts": { "type": "array", "description": "整合风险预警+缓解策略", "items": { "type": "object", "properties": { "title": { "type": "string" }, "level": { "type": "string", "enum": [ "high", "medium", "low" ] }, "description": { "type": "string" }, "mitigation": { "type": "string" } } } }, "actionTimeline": { "type": "object", "description": "30天行动时间线", "properties": { "weeks": { "type": "array", "items": { "type": "object", "properties": { "week": { "type": "integer" }, "tasks": { "type": "array", "items": { "type": "string" } } } } }, "milestones": { "type": "array", "items": { "type": "object", "properties": { "day": { "type": "integer" }, "target": { "type": "string" } } } } } } } }, "timeout": 300000, "retry": { "maxAttempts": 2, "delay": 3000, "backoffMultiplier": 2 }, "tokenConfig": { "type": "bearer", "configFile": "~/.openclaw/voc-credentials.json", "tokenField": "vocToken", "resolutionOrder": [ "configFile" ], "apigId": "7HwdQZk55B", "paymentUrlResolution": { "description": "动态构建充值URL:在已存在 session token 时查出用户 objectId,拼接到专属充值页面", "steps": [ "1. 从 voc-credentials.json 获取当前 session token", "2. 调用 GET https://server.fmode.cn/parse/users/me (Header: X-Parse-Application-Id: ncloudmaster, X-Parse-Session-Token: {token})获取用户 objectId", "3. 拼接充值URL: https://app.fmode.cn/dev/apig-pay/?user={objectId}&apigid=7HwdQZk55B&fun_id=HOkkX72PMF", "4. 将该URL展示给用户,引导扫码支付" ], "userResolveEndpoint": "https://server.fmode.cn/parse/users/me", "userResolveHeaders": { "X-Parse-Application-Id": "ncloudmaster", "X-Parse-Session-Token": "{vocToken}" }, "paymentBaseUrl": "https://app.fmode.cn/dev/apig-pay/", "paymentParams": { "user": "{resolvedUserId}", "apigid": "7HwdQZk55B", "fun_id": "HOkkX72PMF" }, "balanceCheckEndpoint": "https://server.fmode.cn/api/apig/getApig" }, "onMissing": { "action": "showPaymentQR", "qrCodeUrl": "https://app.fmode.cn/dev/apig-pay/?apigid=7HwdQZk55B&fun_id=HOkkX72PMF", "title": "扫码开通 VOC-AI 数据服务", "message": "此 Skill 需要有效的 API Token。请先打开充值页面完成登录和充值;当用户提供 session token 后,请由 OpenClaw 运行 node scripts/tools/set-voc-token.js 写入 ~/.openclaw/voc-credentials.json 的 vocToken 字段,再重试当前 Skill。", "tokenSetupCommandTemplate": "node scripts/tools/set-voc-token.js {sessionToken}", "tokenSetupInstructions": "当用户完成登录和充值后,如果用户把 session token 发给你,请直接运行 node scripts/tools/set-voc-token.js 写入 ~/.openclaw/voc-credentials.json,然后重试当前 Skill。" }, "onBalanceInsufficient": { "action": "resolveUserThenShowPayment", "title": "VOC-AI Token 余额不足,请扫码充值", "message": "当前 Token 余额不足,我将为你生成专属充值链接,扫码支付后即可继续使用。" } }, "errorHandling": { "balanceInsufficient": { "conditions": [ { "responseField": "code", "operator": "in", "value": [ -2, -3, -10, 402, 429 ] }, { "responseField": "msg", "operator": "contains", "value": [ "余额不足", "insufficient", "balance", "quota", "没有开通", "权限或余额" ] }, { "responseField": "mess", "operator": "contains", "value": [ "余额不足", "insufficient", "balance", "quota", "没有开通", "权限或余额" ] }, { "responseField": "message", "operator": "contains", "value": [ "余额不足", "insufficient", "balance", "没有开通", "权限或余额" ] } ], "matchMode": "any", "trigger": "tokenConfig.onBalanceInsufficient" }, "unauthorized": { "conditions": [ { "responseField": "code", "operator": "in", "value": [ 401, 403 ] }, { "responseField": "msg", "operator": "contains", "value": [ "unauthorized", "token", "invalid", "auth" ] } ], "matchMode": "any", "trigger": "tokenConfig.onMissing" } } }