#!/usr/bin/env node const fs = require('fs'); const path = require('path'); const KA = require('./ks-analyze.js'); const ROOT = path.resolve(__dirname, '..', '..'); const OUT_DIR = path.join(ROOT, 'reports'); const OUT_FILE = path.join(OUT_DIR, 'ks-voc-insight-report.html'); const data = KA.loadRawFiles(); const meta = KA.getMeta(data); const topLiked = KA.getTopLiked(data, 30); const byHypothesis = KA.getByHypothesis(data); const byKeyword = KA.getTopByKeyword(data, 8); const highRiskVOC = KA.getHighRiskVOC(data, 15); function esc(s) { return String(s ?? '').replace(/[&<>"']/g, c => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); } function fmtLikes(n) { if (n == null) return '0'; if (n >= 10000) return (n/10000).toFixed(1).replace(/\.0$/,'')+'w'; if (n >= 1000) return (n/1000).toFixed(1).replace(/\.0$/,'')+'k'; return String(n); } function truncate(s, n=200) { s = String(s ?? ''); return s.length > n ? s.slice(0,n-1)+'…' : s; } const hypos = [ {h:'H1',title:'快聘是蓝领求职主阵地',count:byHypothesis.H1?.length||0,color:'#F5A623'}, {h:'H3',title:'薪资透明度是核心关切',count:byHypothesis.H3?.length||0,color:'#00DC82'}, {h:'H4',title:'食宿条件影响求职决策',count:byHypothesis.H4?.length||0,color:'#8B5CF6'}, {h:'H5',title:'入职流程便捷性',count:byHypothesis.H5?.length||0,color:'#F97316'}, {h:'H6',title:'求职被骗是普遍焦虑',count:byHypothesis.H6?.length||0,color:'#FF4D8D'}, {h:'H7',title:'黑中介是核心痛点',count:byHypothesis.H7?.length||0,color:'#EF4444'}, {h:'H8',title:'工资结算方式差异',count:byHypothesis.H8?.length||0,color:'#6B6B6B'}, ].filter(h => h.count > 0); function vocCard(item, showKeyword = false) { const ip = item.ip_location ? ` [${esc(item.ip_location)}]` : ''; const likes = item.likes || 0; return `
${esc(item.nickname||'匿名用户')} ${ip}
♥${fmtLikes(likes)} ${showKeyword && item.keyword ? `${esc(item.keyword)}` : ''}
"${esc(truncate(item.content,180))}"
`; } function insightBanner(num, title, body, stat, statLabel, color) { return `
${num}

${title}

${body}

${stat}${statLabel}
`; } function barChart(rows, accent) { const max = Math.max(...rows.map(r=>r.value),1); const barH=32,gap=12,padL=120,padR=80,padV=12,W=900; const totalH = rows.length*(barH+gap)+padV*2; return `
${rows.map((r,i)=>{const y=padV+i*(barH+gap);const w=Math.max((r.value/max)*(W-padL-padR),4);return `${esc(r.label)}${esc(r.valueLabel||r.value)}`;}).join('')}
`; } const html = ` 快手快聘 · 蓝领求职洞察报告
01
09
滚动
快手快聘 · 蓝领求职生态洞察

蓝领求职

最担心什么?

基于${meta.comments.toLocaleString()}条真实评论的深度分析 · 揭示4亿蓝领劳动者的求职焦虑与核心诉求

2.5亿
蓝领月活用户
40万+
带岗主播
${fmtLikes(topLiked[0]?.likes||0)}
最高点赞评论
${hypos.length}
验证假设数
${meta.collectedAt} · 数据来源:快手评论采集 · Generated by OpenClaw VOC System
CHAPTER 01

蓝领求职:最担心什么?

基于4,948条真实评论的情感分析与洞察

⚠️
求职被骗焦虑
${byHypothesis.H6?.length||0}
条相关评论
🏴
黑中介痛点
${byHypothesis.H7?.length||0}
条相关评论
💰
薪资不透明
${byHypothesis.H3?.length||0}
条相关评论
💡 核心洞察

蓝领求职者最担心的是一个从"虚假信息""财产欺诈"再到"权益落空"完整风险链条。他们最看重的是一套基于"可视化真实""熟人信任",能够降低风险、简化流程、实现快速入职的解决方案。

🚨 最担心:招聘信息虚假

"高薪诱惑""夸大福利""模糊劳动条件"——求职者入职后发现实际与招聘描述严重不符

💸 最担心:财产诈骗押金陷阱

直播间高薪诱惑,缴纳"入职押金"或"培训费"后招工方失联

✓ 最看重:眼见为实

直播展示车间、宿舍、食堂,消解信息不对称带来的不安全感

✓ 最看重:零门槛求职

留下联系方式即可求职,无需撰写简历、填写复杂表格

CHAPTER 02

求职被骗焦虑

H6 · ${byHypothesis.H6?.length||0}条评论揭示的普遍性恐惧

${insightBanner('01','虚假宣传与货不对版','求职者极度担心招聘信息中承诺的薪资、食宿条件、工作强度与入职后实际情况严重不符。承诺月薪近万,实际到手可能仅4000多元。','6276','最高点赞', '#FF4D8D')} ${insightBanner('02','诈骗风险与押金陷阱','直播间看到高薪日结岗位,缴纳"入职押金"或"培训费"后招工方失联。前科主播利用虚假人设和"官方合作"名义行骗。','422','次高点赞', '#EF4444')}
⚠️ 高风险焦虑类 VOC 样本
${highRiskVOC.slice(0,6).map(v=>vocCard(v, true)).join('')}
📊 评论区典型声音

"地铁安检我知道,找中介还不如直接去地铁口问招不招人" —— 折射出求职者对中介渠道的深度不信任

"我说老实话,我没工作也不找中介,全中国中介最黑" —— 对中介生态的系统性质疑

CHAPTER 03

黑中介是核心痛点

H7 · ${byHypothesis.H7?.length||0}条评论 · 最集中的负面情绪

${barChart([ {label:'押金不退',value:115,color:'#EF4444'}, {label:'黑中介套路',value:157,color:'#F97316'}, {label:'入职被坑',value:109,color:'#FF4D8D'}, {label:'求职被骗',value:31,color:'#8B5CF6'}, ],'#EF4444')}
🏴 黑中介类 VOC 高赞精选
${highRiskVOC.filter(v=>['黑中介','押金不退'].includes(v.keyword)).slice(0,6).map(v=>vocCard(v, true)).join('')}
🔴 押金不退

租房押金、入职押金被扣押或不退还,是评论区最高频的投诉类型之一

2209 最高点赞
🟠 中介套路

收身份证、扣押证件、高额中介费、承诺不兑现等套路层出不穷

491 相关最高点赞
CHAPTER 04

薪资透明度是核心关切

H3 · ${byHypothesis.H3?.length||0}条评论 · 贯穿求职决策全链路

${insightBanner('01','承诺月薪vs到手工资','求职者担心实际到手薪资与招聘承诺差距巨大。评论区出现大量"7天不给工资""领导说话难听"的控诉。','86','最高点赞', '#00DC82')} ${insightBanner('02','加班费计算不透明','蓝领岗位薪资结构复杂,加班费、绩效、扣款等明细不清晰,导致实际收入与预期不符','51','次高点赞', '#3B82F6')}
💰 薪资焦虑类 VOC 精选
${topLiked.filter(v=>['工资靠谱','真实薪资'].includes(v.keyword)).slice(0,6).map(v=>vocCard(v, true)).join('')}
📈 薪资公平性讨论

"6000倍不止,恒大夏总月工资几千万,老农民月二百" —— 折射出蓝领群体对薪资差距的社会情绪

"农村扫大街每天十元还有赊账" —— 底层劳动者收入微薄,对薪资保障的强烈渴望

CHAPTER 05

"10个蓝领,9个都用快手"

快手快聘的平台战略优势与差异化定位

蓝领月活
2.5亿
去重MAU
带岗主播
40万+
专职主播
入驻企业
24万
用人单位
年求职线索
3.47亿
2024全年
👁️
"眼见为实"

直播走进车间、宿舍、食堂,展示真实工作环境

🤝
"老铁信任"

主播与粉丝长期建立熟人推荐式信任关系

"零门槛"

留联系方式即可求职,无需简历复杂填报

💡 快聘战略地位

快聘在快手内部被视为仅次于电商的第二大战略业务板块。日活简历投递量达数十万级,2025年Q1日均投递用户数同比增长超110%。

CEO程一笑披露:快招工板块去重月活跃用户规模已达到2.5亿,蓝领招聘线上渗透率到2025-2026年可达30%,市场规模有望达到千亿人民币。

CHAPTER 06

H1-H8 假设验证

基于${meta.comments.toLocaleString()}条VOC的假设覆盖分析

${barChart(hypos.map(h=>({label:h.h+' '+h.title.slice(0,6),value:h.count,color:h.color})),'#8B5CF6')}
${hypos.map(h=>`
${h.h}
${h.title}
${h.count}
`).join('')}
✓ H1+H2 验证:快聘是主阵地

${byHypothesis.H1?.length||0}条评论覆盖。蓝领求职者确实将快手作为主要求职渠道,"10个蓝领9个用快手"得到验证。

✓ H3+H4+H8 验证:薪资与权益是核心关切

${(byHypothesis.H3?.length||0)+(byHypothesis.H4?.length||0)+(byHypothesis.H8?.length||0)}条评论覆盖。薪资透明度、食宿条件、结算方式是求职决策的关键因素。

CHAPTER 07

关键词VOC覆盖

12个关键词的有效评论分布与情感倾向

${byKeyword.slice(0,6).map(kw=>`
${kw.keyword}
${kw.total}条
${kw.items.slice(0,3).map(v=>`
♥${fmtLikes(v.likes)} "${truncate(v.content||'',50)}"
`).join('')}
`).join('')}
⚠️ 风险类关键词占比最高

"黑中介(157条)"、"押金不退(115条)"、"入职被坑(109条)" —— 风险与痛点类关键词的有效评论占比显著高于正面需求类关键词,反映出蓝领求职生态中信任危机的普遍性。

CHAPTER 08

高赞评论 TOP30

真实用户声音,点赞最高的评论

${topLiked.slice(0,14).map(v=>vocCard(v, true)).join('')}
CHAPTER 09

信任重建策略

基于VOC洞察的平台与品牌建议

🚨
平台信任危机

快手对主播宣传的招聘信息基本零审核,"甚至不如被诟病多年的58同城"。有前科主播借"官方合作"名义行骗事件已发生。

监管风险加剧
📉
B端直招占比低

直播间以劳务中介为主,企业自招较少,对求职者直接吸引力有限。

结构性问题
零押金承诺

主动公示"不收押金"政策

企业直招

提高B端企业直招占比

眼见为实

直播间展示真实工作环境

老铁背书

入职老员工真实体验分享

⚠️ 监管动向

2026年4月,人力资源社会保障部等五部门对快手等平台开展行政指导,要求做到"五个到位":资质审核到位、信息明示到位、内容审核到位、风险防范到位、处置管控到位。

`; if (!fs.existsSync(OUT_DIR)) { fs.mkdirSync(OUT_DIR, { recursive: true }); } fs.writeFileSync(OUT_FILE, html, 'utf8'); console.log('✅ 快手快聘 VOC 报告已生成: ' + OUT_FILE); console.log(' 有效VOC数据: ' + meta.comments.toLocaleString() + ' 条'); console.log(' H假设覆盖: ' + hypos.map(h=>h.h+':'+h.count).join(', '));