#!/usr/bin/env node const { loadFewshotCases, matchSimilarCases, buildFewshotReference } = require('../mcp/src/features/tihao-sourcing/few-shot-cases'); function main() { // 加载真实案例库(案例导入器产物) const loaded = loadFewshotCases(); assert(loaded && Array.isArray(loaded.cases) && loaded.cases.length >= 1, '应加载真实 fewshot-cases.json 案例库'); // 匹配相似案例(品类匹配) const criteria = { category: loaded.cases[0].category || '', platforms: [loaded.cases[0].platform || 'xiaohongshu'], goalStrategy: { goalLabel: loaded.cases[0].goal || '' } }; const similar = matchSimilarCases(loaded.cases, criteria); assert(Array.isArray(similar), 'matchSimilarCases 应返回数组'); // buildFewshotReference 结构 const reference = buildFewshotReference(criteria); assert(reference.status === 'loaded', '应返回 loaded 状态'); assert(reference.totalCases === loaded.cases.length, 'totalCases 应一致'); assert(Array.isArray(reference.cases), '应返回 cases 数组'); // explicitPath 不存在时应 fallback 到默认案例库(而非报错) const fallback = buildFewshotReference({ category: '无' }, { fewshotCasesPath: 'e:/nonexistent/fewshot-cases.json' }); assert(fallback.status === 'loaded', 'explicitPath 不存在时应 fallback 到默认案例库'); console.log(JSON.stringify({ ok: true, loadedCases: loaded.cases.length, matchedCases: similar.length, referenceStatus: reference.status }, null, 2)); } function assert(condition, message) { if (!condition) throw new Error(message); } if (require.main === module) main();