{ "name": "voc-data-normalizer", "displayName": "VOC 数据归一化", "description": "将小红书、抖音、Amazon、TikTok、Instagram 等平台的原始 VOC 文件归一化为 _merged.json、comments-flat.jsonl 和 normalizer-audit.json,供报告生成链路复用。", "category": "voc", "version": "1.0.0", "type": "local-script", "execution": { "kind": "command", "command": "node", "args": [ "scripts/tools/openclaw-tool-runner.js", "--tool", "voc-data-normalizer.js", "--result-prefix", "NORMALIZER_RESULT", "--", "--input", "{{input}}", "--output", "{{output}}", "--project", "{{project}}", "--category", "{{category}}" ], "cwd": "{{workspaceRoot}}", "outputParser": { "type": "stdout-prefix-json", "prefix": "NORMALIZER_RESULT=", "description": "解析 stdout 中以 NORMALIZER_RESULT= 开头的最后一行,去掉前缀后即为归一化结果 JSON。" }, "exitCodes": { "0": "ok", "1": "error" } }, "parameters": { "type": "object", "required": [ "input", "output" ], "properties": { "input": { "type": "string", "description": "原始平台数据目录,目录内可包含 json/jsonl 文件。" }, "output": { "type": "string", "description": "归一化输出目录。" }, "project": { "type": "string", "default": "openclaw-voc-course", "description": "项目名称,写入 _merged.json.metadata.project。" }, "category": { "type": "string", "default": "", "description": "品类、产品或品牌方向。" } } }, "output": { "type": "object", "properties": { "outputDir": { "type": "string" }, "files": { "type": "array", "items": { "type": "string" } }, "itemCount": { "type": "integer" }, "validVocCount": { "type": "integer" }, "duplicateItemCount": { "type": "integer" }, "duplicateVocCount": { "type": "integer" }, "errors": { "type": "integer" } } }, "deployment": { "skillInstallDir": "~/.openclaw/skills/voc-data-normalizer", "toolInstallPaths": [ "~/.openclaw/tools/voc-data-normalizer.js", "~/.openclaw/workspace/scripts/tools/voc-data-normalizer.js", "~/.openclaw/workspace/scripts/tools/openclaw-tool-runner.js" ] }, "relatedFiles": { "executor": "scripts/tools/voc-data-normalizer.js", "runner": "scripts/tools/openclaw-tool-runner.js", "courseUsage": "docs/voc-skills-course-plan/07-openclaw-single-platform-course.md" } }