{{tabTitle}}
中国时间
{{chinaClock}}
UTC+8
{{tabDataStatusShortLabel()}}
欢迎,{{(currentUser&&(currentUser.display_name||currentUser.username))||''}}
{{homeGeneratedLabel}}
加载失败:{{home.error}}
独立站询盘 · 超时待回
全部 →
✓ 没有超时未回的询盘
{{l.company||l.name||'匿名询盘'}}
{{homeTimeAgo(l.at)}}{{homeLeadOverdue(l.at)?' ⚠':''}}
{{l.country}}
LinkedIn 商机 · 待跟进
全部 →
还没有客户回信的商机 — 去潜在客户库发起触达 →
{{l.company||l.name||'客户'}}
{{homeTimeAgo(l.at)}}
{{homeSourceBadge(l.source).label}} · 客户已回复
系统健康(admin)
WordPress {{home.data.system.wp_connected?'已连接':'未配置'}}
产品 CPT {{status.product_connected?'OK':'未启用'}}
模型 · {{home.data.system.active_model}}
SERPER · {{home.data.system.hunter_api_keys.serper?'已配':'未配'}}
JINA · {{home.data.system.hunter_api_keys.jina?'已配':'未配'}}
TAVILY · {{home.data.system.hunter_api_keys.tavily?'已配':'未配'}}
DB 大小 · {{homeFormatBytes((home.data.system.db&&home.data.system.db.db_size_bytes)||0)}}
WAL · {{homeFormatBytes((home.data.system.db&&home.data.system.db.wal_size_bytes)||0)}}
最后备份 · {{homeTimeAgoIso(home.data.system.db&&home.data.system.db.last_backup_at)}}
最后 VACUUM · {{homeTimeAgoIso(home.data.system.db&&home.data.system.db.last_vacuum_at)}}
备份数 · {{(home.data.system.db&&home.data.system.db.backup_count)||0}} 个 / {{homeFormatBytes((home.data.system.db&&home.data.system.db.backup_size_bytes)||0)}}
近期错误(admin)
{{homeTimeAgo(e.at)}}
{{chatStrip.label}}
{{chatStrip.detail}}
或按 ESC
客户背调身份 · 已激活
输入公司域名 / 公司名 / 询盘里的邮箱,我会 30-60 秒内拉出:国家 / 公司年龄 / 员工规模 / 决策人 LinkedIn / 买信号 / 风险标记 / 下一步建议(带 5 道真实性防线)
怎么帮你?
挑一个方向开始,或直接在底下提问
{{userMsgDisplay(msg.content)}}
{{autoStateLabel(msg.auto.state)}}
·
{{msg.auto.n||0}}/{{msg.auto.max||0}} 步
·
${{(msg.auto.cost_total||0).toFixed(3)}}
·
{{autoSecs(msg.auto.elapsed_sec||0)}}
{{msg.autoExpanded?'▴':'▾'}}
Step {{msg.auto.n||0}}/{{msg.auto.max||0}}
Tokens {{autoFmt(msg.auto.tokens_total||0)}}
Cost ${{(msg.auto.cost_total||0).toFixed(4)}}
Elapsed {{autoSecs(msg.auto.elapsed_sec||0)}}
Reason {{msg.auto.reason}}
计划
- {{s}}
{{msg.auto.plan.rationale}}
#{{s.n}}
· {{toolLabel(t)}}
(text only — nudged)
${{(s.cost_step||0).toFixed(4)}}
{{s.latency_ms}}ms
{{msg.showThinking?'▾':'▸'}} 思考过程
{{msg.thinking}}
验证不充分 · 工具调用 {{bgInvestCard(msg).tool_calls_used||0}} 次,数据源 {{(bgInvestCard(msg).sources||[]).length}} 个 · LLM 可能在推断,请人工核实关键字段
{{bgInvestCard(msg).company_name||'(公司名缺失)'}}
{{bgInvestCard(msg).domain}}
{{bgInvestCard(msg).country_code||''}} {{bgInvestCard(msg).country}}
· {{bgInvestCard(msg).industry}}
· 成立 {{bgInvestCard(msg).founded_year}} ({{bgInvestCard(msg).age_years}} 年)
整体置信
{{(bgInvestCard(msg).confidence_overall*100).toFixed(0)}}%
员工规模
{{bgInvestCard(msg).size.verified?'✓ 已查证':'◌ 推断'}}
{{(bgInvestCard(msg).size||{}).employees_estimate||'未知'}}
置信 {{(bgInvestCard(msg).size.confidence*100).toFixed(0)}}% · {{bgInvestCard(msg).size.source||'-'}}
年营业额(估)
{{bgInvestCard(msg).revenue.verified?'✓ 已查证':'◌ 推断'}}
{{(bgInvestCard(msg).revenue||{}).estimate_usd||'未知'}}
置信 {{(bgInvestCard(msg).revenue.confidence*100).toFixed(0)}}% · {{bgInvestCard(msg).revenue.source||'-'}}
海关数据
{{bgInvestCard(msg).customs_data.summary||'查到进口提单记录'}}
{{(bgInvestCard(msg).customs_data.top_products||[]).join(' · ')}}
{{bgUrlProven(bgInvestCard(msg).customs_data.source_url, msg.tools)?'✓':'◌'}} 提单来源 ↗
⚠ {{bgInvestCard(msg).customs_data.match_note}}
◌ {{bgInvestCard(msg).customs_data.note||'该国无公开海关数据'}}
{{bgInvestCard(msg).customs_data}}
深挖档可查(当前源:美国买家提单)
决策人(LinkedIn 公开,已隐藏无 URL 的未验证项)
已隐藏 {{bgKeyPeopleHidden(bgInvestCard(msg))}} 位未验证决策人(LLM 给了姓名但没找到 LinkedIn URL) — 这些姓名可能是编的,请用 LinkedIn 自己搜
产品聚焦: {{bgInvestCard(msg).products_focus}}
买信号
- {{bgItemText(s)}} {{bgTrustGlyph(bgItemTrust(s, msg.tools))}} ↗
风险标记
- {{bgItemText(r)}} {{bgTrustGlyph(bgItemTrust(r, msg.tools))}} ↗
下一步建议
{{bgInvestCard(msg).next_action}}
数据源:
{{src.replace(/^https?:\/\//,'').slice(0,40)}}
· 工具调用 {{bgInvestCard(msg).tool_calls_used}} 次
图例:✓✓ 工具实证 / ✓ LLM 自报但 URL 未在工具里 / ◌ 推断
AI 想要 {{paToolVerb(a.tool)}}
{{a.action_id.slice(0,11)}}…
{{row[0]}}
{{row[1]}}
当前角色不能确认此操作
AI 之前的提案 · {{paToolVerb(a.tool)}}
{{a.action_id.slice(0,11)}}…
{{row[0]}}
{{row[1]}}
已被后续同主题提案替代
{{toolLabel(t.name)}}
{{t.expanded?'▴':'▾'}}
工具
{{t.name}}参数
{{JSON.stringify(t.input)}}{{t.result}}
思考中…
{{toolLabel(msg.phaseToolName||'工具')}}…
写作中…
⚠ 数字待核验回答中的部分数字未能对上工具返回的真实数据,请人工核对后再使用
AI 思考中...
对话设置
连续执行 一句话跑全套,直到完成
最大轮数
Token 上限
成本上限 (USD)
时长上限 (秒)
任一上限触发就停止。撞到写入需确认也会暂停整段循环(先确认再手动重发)。设置保存在本地。
↵ 发送 · {{isMacPlatform?'⌘':'Ctrl'}}+K 新对话
📄
{{a.chars>=1000?(a.chars/1000).toFixed(1)+'k字':a.chars+'字'}}{{a.truncated?'·截断':''}}
没有已配置密钥的模型
共 {{productPaging.total}} 个
筛后 {{filteredProductCount}} 个
不完整 {{incompleteCount}}
草稿 {{draftCount}}
缺图 {{productImgAudit.count}}
{{p.model||p.sku||'-'}}
{{isProductKids(p)?'儿童':'商务'}}
{{p.status==='publish'?'已发布':p.status}}
⚠ 无图
{{getCompleteness(p)}}/5
当前筛选无匹配产品 ·
PR
暂无产品。可以让 AI 写一份产品上架卡(SKU + 规格 + SEO),发布到 WordPress;也可以去 WP 后台手动加。
第 {{productPaging.page}} / {{productPaging.total_pages}} 页
{{rebuildProgress.label}} · {{rebuildProgressPhase}}
{{rebuildProgressRemaining}}s
批量改字段
将给已选的 {{bulkSelected.length}} 个产品同时设置同一个字段值
该操作不可撤销 · 修改会写入审计日志 · 90 秒后线上生效
共 {{postPaging.total}} 篇文章
第 {{postPaging.page}} / {{postPaging.total_pages||1}} 页
当前搜索:{{postSearch}}
未完成草稿待继续
{{draftInProgress.title}}
· 进度 Step {{draftInProgress.step}} / 4
· 关键词 {{draftInProgress.keyword}}
文章发布语言
{{postPublishLocaleSummary}}
这里的选择用于下一次单篇或批量发布;发布前仍可在确认框调整。已发布文章可从“更多 → 管理发布语言”补发或移除语言。
| 封面 | 标题 | 状态 | Decay | AEO | 操作 | |
|---|---|---|---|---|---|---|
|
|
EN
{{locale.code}}
|
{{p.status==='publish'?'已发布':p.status}} | {{postDecayClass(p.id)}} — | {{postSignal(p.id).aeo_score}} — |
CT
正在加载文章…
CT
没找到匹配 "{{postSearch}}" 的文章。换个关键词试试,或
暂无文章。让 AI 写一篇 SEO 选购指南是最快的冷启动方式。
共 {{postPaging.total}} 篇文章 · 第 {{postPaging.page}} / {{postPaging.total_pages}} 页
{{postAuditDrawer.type==='schema'?'Schema 体检':'AEO 评分'}} · #{{postAuditDrawer.postId}}
Schema 体检中…
{{schemaState.error}}
已检测到的 Schema 类型
{{t}}
无任何 Schema 块
已保存、等待线上重建:
{{t}}
{{schemaState.audit.headless?'建议补齐(保存到 WordPress 并触发静态站重建)':'建议注入(点击直接注入到 WP)'}}
需要 admin 角色才能操作
{{schemaState.audit.notes}}
AEO 评分中…
{{aeoState.error}}
{{aeoState.audit.score??'?'}}
/ 100 分
{{aeoState.audit.grade}}
检查项
{{item.passed?'✓':'✕'}}
{{item.label||item.key}}
{{item.detail}}
改进建议
- {{s}}
该面板替代旧的 schema / aeo tab 单条审计
→
→
→
AI 写文章
关键词 → 大纲 → 全文 → 存为 WordPress 草稿。每步可重试 / 可改 / 自动保存,刷新不丢。最终一步是草稿 — 想发布上线请到 WP 后台二次审核。
{{cf.error}}
通常原因:LLM 服务超时 / 关键词太冷门 / 网络抖动。可以直接点下面对应步骤的重试按钮,内容已经保留。
1. 告诉 AI 写什么
必填关键词,其他可选
AI 正在拟章节…通常 5-15 秒
2. 大纲
/{{cf.outline.slug}} · 意图:{{cf.outline.search_intent}}
{{cf.outline.title}}
{{cf.outline.meta_description}}
词重叠预警 — 你站里已有页面在抢这个词
词集群预检 — 站内相关页面(供 AI 决策参考)
建议动作:
{{cf.outline.cannibalization_check.recommended_action}}
— {{cf.outline.cluster_role_rationale}}
{{cf.outline.intent_funnel_stage||'informational'}}
{{cf.outline.cluster_role||'standalone'}}
Schema: {{cf.outline.recommended_schema_type||'Article'}}
{{f}}
E-E-A-T 写作要点(展开)
Experience: {{cf.outline.eeat_signals.experience}}
Expertise: {{cf.outline.eeat_signals.expertise}}
Authoritativeness: {{cf.outline.eeat_signals.authoritativeness}}
Trustworthiness: {{cf.outline.eeat_signals.trustworthiness}}
{{si+1}}. {{s.heading}}
{{s.points.join(' · ')}}
FAQ · 命中 PAA
· {{q}}
站内链接建议
→ {{il.topic||il}}
· 锚文本「{{il.anchor}}」
{{il.purpose}}
与竞品的差异化角度: {{cf.outline.competitor_angle_notes}}
这篇文章发布到
{{postPublishLocaleSummary}}
只会为选中的语言生成翻译、hreflang 和 sitemap;不勾选其他语言就是仅发布英语。
AI 正在写正文…通常 20-60 秒
{{cf.outline._meta.model_key||cf.outline._meta.model_id}}
{{(cf.outline._meta.generated_at||'').slice(11,19)}}
{{cf.outline._meta.input_tokens}}→{{cf.outline._meta.output_tokens}} tokens
{{cf.outline._meta.latency_ms}}ms
换角度
3. 全文
约 {{cf.draft.word_count}} 词
✓ 已遵守 outline 的 SEO 决策
{{cf.draft._seo_decisions_honored.cluster_role}}
{{cf.draft._seo_decisions_honored.intent_funnel_stage}}
{{cf.draft._seo_decisions_honored.recommended_schema_type}}
{{f}}
E-E-A-T 信号:{{cf.draft._seo_decisions_honored.eeat_signals_detected_in_body}}/{{cf.draft._seo_decisions_honored.eeat_signals_total}} 已检测到
站内链接:{{cf.draft._seo_decisions_honored.internal_link_count}} 个
JSON-LD: {{cf.draft._seo_decisions_honored.has_jsonld?'✓ 已生成':'✗ 缺失'}}
{{cf.draft._meta.model_key}} · {{cf.draft._meta.input_tokens}}→{{cf.draft._meta.output_tokens}} tokens · {{cf.draft._meta.latency_ms}}ms
改完直接「保存为草稿」或「发布」即可,改动写入 c.draft.html
渲染预览(sanitized)
{{(cf.draft.html||'').length}} chars
{{cf.translateError}}
Schema.org JSON-LD ({{cf.draft._seo_decisions_honored?.recommended_schema_type||'Article'}}) — 点开复制
{{cf.draft.jsonld}}
发布后到「结构化数据」tab 用 inject 工具注入,或手动塞进 WP 文章末尾(post.content)。
推送到 WordPress…
被策略降级成草稿
发布后自检 — 一键串完整个 SEO 链路
post_id 自动带入
站内 SEO 体检
抓取线上真实页面,检查 title / meta description / H1 / 图片 alt / 内容厚度 / canonical / 内链。扫描约需 30-60 秒。
{{seoError}}
健康分
{{seoReport.summary.score}}
已扫描
{{seoReport.summary.pages_scanned}}
问题总数
{{seoReport.summary.issues_total}}
高危
{{seoReport.summary.by_severity.high}}
中危
{{seoReport.summary.by_severity.medium}}
技术 SEO(站点级)
{{t.ok?'':t.severity==='high'?'':''}}
{{t.key}}
{{t.detail}}
{{page.title||'(无标题)'}}
{{issue.severity==='high'?'高':issue.severity==='medium'?'中':'低'}}
{{issue.issue}}
{{issue.detail}}
修复:{{issue.fix}}
SE
未发现问题,站内基础 SEO 状态良好SE
点击「开始体检」扫描线上页面文件 AI 生成的交付物
回收站:删除的文件在这里,可恢复;超过保留期会自动清盘。
AI 对话生成的报价单、规格书、投放计划、周报都归档在这里。搜文件名/标题、按格式筛选,随时找回、下载、入库或删除。{{filesState.mine?'只显示你自己生成的。':'全站视图(所有人的文件)。'}}
{{filesState.total}} 份
占用 {{formatBytes(filesState.totalSize)}} · {{filesState.expiring}} 份临期
加载中…
{{filesState.error}}
{{filesState.q||filesState.format?'没有匹配的文件,换个筛选试试。':'还没有生成过文件。让 AI 帮你生成报价单 / 规格书 / 投放计划,会自动归档到这里。'}}
{{f.format}}
知识库
{{filesState.page}} / {{filesTotalPages}}
文档模板
AI 对话生成 PDF / Word / Excel / PPT 时可套用的固定模板。上传 Word/Excel/PPT 文件,或写一段 PDF 的 HTML;占位符用双花括号包名字(如 customer / total)。保存后系统自动扫出占位符,之后在对话里说「用这个模板给客户报价」,AI 会把占位符填上再生成文档。
新建文档模板
HTML 模板(占位符用双花括号,如 customer / total)
还没有文档模板。点右上「+ 新建文档模板」上传 Word/Excel/PPT,或写一个 PDF(HTML)模板。
{{tp.format}}
定时任务
让 agent 按你设定的节奏自动跑。动作类(周报 / AEO 巡检 / 每天自动写博客)到点自动完成;agent 指令类到点交给 AI 执行(可开「全自主」),发信 / 发布 / 生图这类高危动作都会落到确认队列等你审批,不会自动对外。
模板管理
{{tplPanel.form.id?'编辑博客模板':'新建博客模板'}}
LinkedIn 获客(Apollo)/ 关键词获客模板:到对应板块配好条件跑一次,点「⏱ 另存为定时模板」创建;存好后在这里改名 / 删除 / 看条件。
还没有模板。博客模板:点上面「+ 新建博客模板」;LinkedIn 获客(Apollo)/ 关键词获客模板:到对应板块配好条件跑一次,点「⏱ 另存为定时模板」。
{{tp.kind==='content'?'博客':tp.kind==='apollo'?'Apollo':'关键词获客'}}
{{row.label}}
{{row.value}}
这份模板没有可读的条件快照(可能保存自一次很早的 run)。
{{schedForm.id?'编辑定时任务':'新建定时任务'}}
运行频率
每隔
小时运行一次
在
(北京时间)
加载中…
还没有定时任务。点右上角「新建定时任务」,让 agent 开始自己跑。
{{t.name}}
{{t.kind==='agent'?'agent 指令':'动作'}}
已暂停
🕐 {{schedScheduleText(t)}}
下次:{{schedTimeText(t.next_run_at)}}
「{{t.prompt}}」
上次 {{schedTimeText(t.last_run_at)}} · {{t.last_status==='error'?'失败':'完成'}}{{t.last_summary?' · '+t.last_summary:''}}
{{s}}
启动中…
{{schedProgress.detail||'执行中…'}}
{{schedProgress.status==='error'?'✕':'✓'}} {{schedProgress.summary||(schedProgress.status==='error'?'失败':'完成')}}
暂无执行记录
{{schedTimeText(r.started_at)}}
{{r.trigger==='manual'?'手动':'定时'}} · {{r.status==='error'?('失败:'+r.error):r.summary}}
{{tab==='report-inbound'?'独立站询盘(网站表单 + 邮箱进线)· 准实时数据 · 点击刷新直查 · 周一 00:00 中国时间为周边界':'主动获客(LinkedIn/Apollo + 关键词获客)· 商机=客户回信入池 · 准实时数据 · 点击刷新直查 · 周一 00:00 中国时间为周边界'}}
{{overview.error}}
本页数据加载失败 — 点右上 ⟳ 重试
本周新询盘
{{ovInK.inquiries?ovInK.inquiries.this:0}}
{{ovInK.inquiries.wow_pct>0?'+':''}}{{ovInK.inquiries.wow_pct.toFixed(0)}}%
24h 未回复
{{overview.quick?(overview.quick.needs_reply_24h||0):'—'}}
本周报价
{{ovInK.quoted?ovInK.quoted.this:0}}
本周成交
{{ovInK.won?ovInK.won.this:0}}
{{ovInK.won.wow_pct>0?'+':''}}{{ovInK.won.wow_pct.toFixed(0)}}%
成交金额
{{ovInK.won_amount_usd?quantFmt('won_amount_usd',ovInK.won_amount_usd.this):'$0'}}
平均首响
{{ovInK.avg_frt_hours&&ovInK.avg_frt_hours.this?quantFmt('avg_frt_hours',ovInK.avg_frt_hours.this):'—'}}
{{s.title}}
总计 {{quantFmt(s.fmtKey, s.total)}}
询盘漏斗
近 90 天
{{row.label}}
{{row.value}}
{{row.first?'':row.pct+'%'}}
暂无数据 — 有询盘进来后自动生成
询盘来源
近 {{overview.inq.distribution.window_weeks}} 周
暂无数据 — 有询盘进来后自动生成
{{s.value}}
{{(s.pct*100).toFixed(0)}}%
国家分布 TOP 5
近 {{overview.inq.distribution.window_weeks}} 周
暂无数据 — 有询盘进来后自动生成
{{s.value}}
{{(s.pct*100).toFixed(0)}}%
数据更新 {{formatChinaDateTime(overview.inq.generated_at)}} · 周一 00:00 中国时间为周边界 · 实时 SQL 无 AI 成本
潜在客户已分配
{{overview.pros&&overview.pros.totals?(overview.pros.totals.assigned||0):'—'}}
已联系
{{overview.pros&&overview.pros.totals?(overview.pros.totals.contacted||0):'—'}}
已回复
{{overview.pros&&overview.pros.totals?(overview.pros.totals.replied||0):'—'}}
转询盘
{{overview.pros&&overview.pros.totals?(overview.pros.totals.promoted||0):'—'}}
本周新商机
{{ovOutK.inquiries?ovOutK.inquiries.this:0}}
{{ovOutK.inquiries.wow_pct>0?'+':''}}{{ovOutK.inquiries.wow_pct.toFixed(0)}}%
本周成交
{{ovOutK.won?ovOutK.won.this:0}}
获客漏斗
当前累计
{{row.label}}
{{row.value}}
{{row.first?'':row.pct+'%'}}
暂无数据 — 跑一次获客批次并分配后自动生成
{{s.title}}
总计 {{quantFmt(s.fmtKey, s.total)}}
获客渠道分布
近 {{overview.outq?overview.outq.distribution.window_weeks:4}} 周
暂无数据 — 有商机回信入池后自动生成
{{s.value}}
{{(s.pct*100).toFixed(0)}}%
数据更新 {{formatChinaDateTime(overview.outq.generated_at)}} · 周一 00:00 中国时间为周边界 · 实时 SQL 无 AI 成本
AI 文字周报
汇总 GA4 流量 / GSC 搜索 / 询盘线索 / 任务进展,LLM 写成可直接发出的中文叙述。生成 30-60 秒,需要消耗 token。
{{reportError}}
系统每 7 天自动生成并存档一份(可在「设置」关闭)。
生成时间:{{weeklyReport.generated_at}}
WR
需要叙述版?点上方「生成周报」咨询分配规则
新询盘进来的自动分配顺序:客户归属 → 高级规则 → 属性(区域/产品)→ 轮流(接收中)。全不命中 → 留公海人工分。
① 店铺所有咨询 · 属性分配
⚠ 规则未生效
已选「按{{assignCfg.config.attribute_mode==='product'?'产品':'区域'}}分配」,但还没有给任何业务员配置{{assignCfg.config.attribute_mode==='product'?'产品':'区域'}}——当前所有新询盘会跳过属性分配,直接走轮流 / 留公海。点下方每行「分配{{assignCfg.config.attribute_mode==='product'?'产品':'区域'}}」设置后规则才会真正启用。
| 账号名称 | 账号类型 | 账号状态 | {{assignCfg.config.attribute_mode==='product'?'已分配产品':'已分配国家/地区'}} | 操作 |
|---|---|---|---|---|
| {{r.display_name}} | {{roleLabel(r.role)}} | {{r.status==='active'?'正常':r.status}} | {{assignCfg.config.attribute_mode==='product'?r.product_count:r.region_count}} | |
| 暂无业务员 | ||||
② 轮流分配
| 账号名称 | 账号类型 | 账号状态 | 接收 客户管理 询盘 | 操作 |
|---|---|---|---|---|
| {{r.display_name}} | {{roleLabel(r.role)}} | {{r.status==='active'?'正常':r.status}} | {{r.crm_accepting?'接收中':'不接收'}} | |
| 暂无业务员 | ||||
给 {{terrModal.displayName}} {{terrModal.kind==='product'?'分配产品':'分配区域'}}
{{terrModal.kind==='product'?'每行/逗号一个产品关键词(命中询盘的产品意向或正文即算)':'每行/逗号一个国家或地区(如 Germany / 德国 / DE,大小写不敏感)'}}
高级规则 可选 · 按国家/产品/来源精细匹配
在「客户归属」之下、「属性/轮流」之上生效:命中的第一条规则(按优先级倒序)把 lead 分给指定业务员,可做固定/轮流(rr)/智能加权(smart)/团队(team)。给特殊国家或产品做例外用。
🎯 飞轮:近 90 天转化率高的人自动分到更多单;新人有先验兜底、压满的人自动降权、每人保留探索机会(不会饿死)。转化数据来自团队看板。
优势:把人调入/调出队即时影响该规则池,不用回来改 RR 列表
规则预览 — 输入虚拟询盘,看哪条规则会命中
尚未预览
没有命中任何规则 → 该询盘会保持未分配
命中 {{rulePreview.result.matched_rule_name}} → 分配给 {{rulePreviewTargetLabel}}
还没有规则。点上面的「+ 加规则」开始配置。
| 启用 | 规则 | 匹配条件 | 分给 | 优先级 | 命中数 | 操作 |
|---|---|---|---|---|---|---|
|
{{r.name}}
{{r.id}}
|
{{r.match_country}}
{{r.match_product}}
{{r.match_source}}
通配 — 命中一切
|
{{ruleTargetLabel(r)}} | {{r.priority}} | {{r.matched_count}} |
● Google Ads 已连接(OAuth + Developer Token)
Google Ads 集成 · 接入向导
三道门:OAuth client(你给 Google 的应用凭证)、OAuth token(账户主人点了"同意")、Developer token(Google 审核通过你的应用)。
三盏全绿才能拉数据。任何一盏红,下面会写明该干啥。
状态加载失败:{{adsState.error}}
{{adsState.status.oauth_client_configured?'OK':'缺失'}}
OAuth 应用凭证
已就位 ({{adsState.status.redirect_uri.split('/').slice(0,3).join('/')}})
缺
Google Cloud Console → APIs & Services → Credentials → "OAuth 2.0 Client ID" (Web app), redirect URI 写
ads-oauth-client.json。Google Cloud Console → APIs & Services → Credentials → "OAuth 2.0 Client ID" (Web app), redirect URI 写
{{adsState.status.redirect_uri}},
下载 JSON 放到 secrets/ads-oauth-client.json
{{adsState.status.developer_token_configured?'OK':'待办'}}
Developer Token
已配置
缺
到 Google Ads MCC → Tools & Settings → API Center 申请,审批 1-3 天。
拿到后写入
GOOGLE_ADS_DEVELOPER_TOKEN。到 Google Ads MCC → Tools & Settings → API Center 申请,审批 1-3 天。
拿到后写入
.env 重启。没这个,API 调用永远 401。
{{adsState.status.oauth_token_configured?'OK':'未授权'}}
账户主人已授权
已授权,token 落盘
点下面"连接 Google Ads"按钮跳转 Google 同意页。
前两盏灯绿了再点。
前两盏灯绿了再点。
{{adsReady?'全部就绪':'下一步操作'}}
API 已连通,下方直接看账户数据(广告系列 / 关键词 / 搜索词 / 优化建议)。
先到 Google Cloud 建 OAuth Client,放 secrets/
同时申请 Developer Token(独立于 OAuth)
点击"连接 Google Ads"完成 OAuth 授权
{{adsApi.view==='planner'?'关键词研究 · 机会雷达':(adsApi.view==='watch'?'关键词监控清单':'投放数据(API 实时)')}}
{{s}}×
{{kp.error}}
流量预估 · 30 天 · 出价上限 ${{kp.forecast.max_cpc}} / 日预算 ${{kp.forecast.daily_budget}} · {{kp.forecast.keywords}} 词 · {{kp.forecast.match_type}} · {{kpGeoLabel(kp.geo)}}
{{kpNum(kp.forecast.impressions)}}
预估曝光
{{kpNum(kp.forecast.clicks)}}
点击
{{kpMoney(kp.forecast.cost)}}
花费
{{kp.forecast.conversions}}
转化
{{kp.forecast.cost_per_conv==null?'—':kpMoney(kp.forecast.cost_per_conv)}}
单转化成本
{{kp.forecast.ctr}}%
CTR · 均CPC {{kpMoney(kp.forecast.avg_cpc)}}
Google 建模预估,非承诺值 —— 出价 / 预算 / 匹配类型不同结果会变。
词数
{{kp.summary.count}}
平均月搜
{{kpNum(kp.summary.avg_monthly_searches)}}
高机会词
{{kp.summary.high_opportunity}}
竞争≤中 · 月搜≥3k
平均页首出价
{{kpMoney(kp.summary.avg_low_bid)}}–{{kpMoney(kp.summary.avg_high_bid)}}
竞争分布
低 {{kp.summary.competition.LOW}}中 {{kp.summary.competition.MEDIUM}}高 {{kp.summary.competition.HIGH}}
{{(i+1<10?'0':'')+(i+1)}}高机会
{{r.keyword}}
{{kpNum(r.avg_monthly_searches)}}
月均搜索量
{{kpNum(r.opportunity)}}
机会分
{{r.competition_index}}
竞争 {{kpCompLabel(r.competition)}}
{{kpMoney(r.low_bid)}}–{{kpMoney(r.high_bid)}}
{{(i+4<10?'0':'')+(i+4)}}
{{r.keyword}}高机会
竞争 {{kpCompLabel(r.competition)}} · {{r.competition_index}} · 页首 {{kpMoney(r.low_bid)}}–{{kpMoney(r.high_bid)}}
{{kpNum(r.avg_monthly_searches)}}
月均搜
{{kpNum(r.opportunity)}}
机会分
{{kp.mode==='forecast'?'正在向 Google Ads 请求流量预估…':'正在向 Google Ads 请求关键词…(机会分 = 月搜 × 竞争度反比,回来自动排序)'}}
发现新词填种子词/网址,查历史量/流量预估贴一组关键词,点右侧按钮。机会分 = 月搜 × 竞争度反比,帮你一眼挑该抢的词。
需要 Developer Token 已批 Basic Access;测试级只能查测试账户。
需要 Developer Token 已批 Basic Access;测试级只能查测试账户。
没返回结果。换个种子词 / 地区试试,或确认 Developer Token 已批 Basic Access(测试级拿不到真实数据)。
投流总监AI 分析建议
投流总监正在看这批数据…(约 $0.002 / 次)
{{kp.analysisErr}}
点右上「让投流总监分析」——出价 / 预算 / 否词的可执行建议。约 $0.002/次。
想全自动:去「定时任务」加一条「关键词监控扫描」(建议每周)。扫描纯拉数据不花 token,只有出现变化时才让投流总监出一段摘要(约 $0.002)。
{{kpWatch.error}}
投流总监变化摘要
加载监控清单…
监控清单是空的。去「关键词研究」的结果里点某个词的「加入监控」,这里就会定时盯它的量 / 竞争 / 出价变化。
{{w.keyword}}
{{kpGeoLabel(w.geo)}} · {{kpLangLabel(w.language)}}
{{d.label}}
月搜 {{kpNum(w.current_metrics.avg_monthly_searches)}} · 竞争 {{kpCompLabel(w.current_metrics.competition)}}({{w.current_metrics.competition_index}}) · 页首 {{kpMoney(w.current_metrics.low_bid)}}–{{kpMoney(w.current_metrics.high_bid)}}
还没扫描过 —— 点「立即扫描」拉首个快照
{{adsApi.error}}
当前时间范围没有投放数据
尝试切换到 30 天或 90 天。如果仍然为空,请确认所选账户已有广告系列且 API 有读取权限。
总花费({{adsApi.days}} 天)
{{adsCampSummary.currency}} {{adsMoney(adsCampSummary.cost)}}
转化
{{adsCampSummary.conversions.toFixed(1).replace(/\.0$/,'')}}
点击率 CTR
{{adsCampSummary.ctr.toFixed(2)}}%
转化价值
{{adsCampSummary.currency}} {{adsMoney(adsCampSummary.convValue)}}
花费分布
按广告系列查看预算集中度
Top 3 占 {{adsCampSummary.spendTop3Share.toFixed(0)}}%
{{adsCampSummary.currency}} {{adsCampSummary.compactCost}}总花费
{{r.name}}
{{r.share.toFixed(0)}}%
花费质量
识别花钱但没有产生转化的系列
{{adsCampSummary.spendQuality.zeroShare.toFixed(0)}}%零转化花费
{{adsCampSummary.currency}} {{adsMoney(adsCampSummary.spendQuality.zeroCost)}}
{{adsCampSummary.spendQuality.zeroCount}} 个有花费系列尚未产生转化
绿色为有转化花费,黄色为零转化花费。请结合转化追踪状态判断。
转化漏斗
从展示到转化,快速定位流失环节
展示
{{adsCampSummary.impressions.toLocaleString()}}
点击
{{adsCampSummary.clicks.toLocaleString()}}
转化
{{adsCampSummary.conversions.toFixed(1).replace(/\.0$/,'')}}
展示到点击{{adsCampSummary.ctr.toFixed(2)}}%
点击到转化{{adsCampSummary.clicks?(adsCampSummary.conversions/adsCampSummary.clicks*100).toFixed(2):'0.00'}}%
正在投放{{adsCampEnabled.length}} 个系列
当前没有正在投放的系列
下方仍会保留时间范围内有历史花费的暂停系列,方便复盘。
{{r.name}}
{{adsCampFlag(r)}}
正常投放
{{r.currency}} {{adsMoney(r.cost)}}日均 {{adsMoney(r.cost/(adsApi.days||30))}}{{r.daily_budget?' / 预算 '+adsMoney(r.daily_budget)+(r.budget_shared?'(共享)':''):''}}
CTR {{r.impressions?(r.clicks/r.impressions*100).toFixed(2)+'%':'暂无'}}
转化 {{r.conversions}}
转化率 {{r.clicks?(r.conversions/r.clicks*100).toFixed(2)+'%':'暂无'}}
CPA {{r.cost_per_conv==null?'暂无':r.currency+' '+adsMoney(r.cost_per_conv)}}
CPC {{r.currency}} {{adsMoney(r.avg_cpc)}}
已暂停{{adsCampPaused.length}} 个系列仍显示所选时间范围内数据
没有已暂停的系列
广告系列窗口内花费点击转化
{{r.name}}{{r.cost>0?r.currency+' '+adsMoney(r.cost):'暂无花费'}}{{r.clicks.toLocaleString()}}{{r.conversions}}
| 关键词 | 匹配 | 广告系列 | 花费 | 点击 | 转化 |
|---|---|---|---|---|---|
| {{r.keyword}}烧钱没转化 | {{r.match_type}} | {{r.cost.toLocaleString(undefined,{maximumFractionDigits:2})}} | {{r.clicks.toLocaleString()}} | {{r.conversions}} |
| 搜索词 | 广告系列 | 花费 | 点击 | 转化 |
|---|---|---|---|---|
| {{r.term}}烧钱没转化 | {{r.cost.toLocaleString(undefined,{maximumFractionDigits:2})}} | {{r.clicks.toLocaleString()}} | {{r.conversions}} |
{{r.type}}
Google 官方优化建议类型清单——具体操作去 Google Ads 后台「建议」页执行。
CSV 上传(无需 API)
到 Google Ads → 选 Campaign / Ad Group / Keyword / Search term 报表 → 顶部下载按钮 → CSV → 上传这里。自动识别报表类型,LLM 给优化建议。
历史快照
同类型勾 2 条 →「对比」;不同类型勾 2-4 条 →「联合分析」(预算 × 效率 × 搜索词一次看全)
趋势(≥3 份快照自动出现)
{{t.key}}
花费
转化
{{t.from}} → {{t.to}} · {{t.n}} 份
还没有快照,上传一份 CSV 开始。
{{adsCsv.aiOutput.kind==='compare'?'两期对比分析':adsCsv.aiOutput.kind==='review'?'多报表联合诊断':'AI 总结'}}
建议动作 · 可一键转任务
{{a.priority==='high'?'高':a.priority==='low'?'低':'中'}}
{{a.title}}
{{a.note}}
AI 执行日报
中国时间 UTC+8 · 每天 18:30 自动生成 · 只统计系统内真实任务
{{dailyReport.error}}
正在汇总任务证据…
今日到期
{{dailyReportMetrics.scheduled_today||0}}
按 due_at 的中国日界
按期完成
{{dailyReportMetrics.due_completed||0}}
完成率 {{dailyReportRate(dailyReportMetrics.completion_rate)}}
今日实际完成
{{dailyReportMetrics.completed_today||0}}
使用 completed_at 真实时间
逾期
{{dailyReportMetrics.overdue||0}}
当前未完成 {{dailyReportMetrics.open_total||0}}
角色执行
| 角色 | 人数 | 今日到期 | 按期完成 | 完成率 | 逾期 |
|---|---|---|---|---|---|
| {{r.role_label}} | {{r.people_count}} | {{r.tasks.scheduled_today}} | {{r.tasks.due_completed}} | {{dailyReportRate(r.tasks.completion_rate)}} | {{r.tasks.overdue}} |
个人完成情况
| 人员 | 角色 | 到期 | 按期完成 | 完成率 | 实际完成 | 未完成 | 逾期 |
|---|---|---|---|---|---|---|---|
| {{p.display_name||p.username}} {{p.username}} |
{{p.role_label}} | {{p.tasks.scheduled_today}} | {{p.tasks.due_completed}} | {{dailyReportRate(p.tasks.completion_rate)}} | {{p.tasks.completed_today}} | {{p.tasks.open_total}} | {{p.tasks.overdue}} |
| 当前范围暂无人员数据。 | |||||||
AI 复盘
历史日报
尚无归档;今日 18:30 后会自动出第一份。
权限范围:{{dailyReport.data.metrics.scope==='company'?'全公司':dailyReport.data.metrics.scope==='team'?'本团队':'仅自己'}}。关闭模块权限后,入口和 API 同时不可见。
绩效考核总览
系统真实数据自动计算 · 缺数据明确标记,不用 0 代替范围:{{performance.data.viewer_scope_mode==='personal'?'本人':performance.data.viewer_scope_mode==='team'?(teamNameOf(performance.data.viewer_team_scope)||'本队'):'公司'}}
至
加载失败:{{performance.error}}
销售过程分
{{performanceScoreText(performance.data.sales.score)}}
达标为100分,超额上限120分
运营过程分
{{performanceScoreText(performance.data.operations.score)}}
达标为100分,超额上限120分
销售数据覆盖
{{Math.round((performance.data.sales.coverage||0)*100)}}%
{{performance.data.sales.available_weight||0}} / 100 权重可自动核算
销售风险指标
{{performance.data.sales.at_risk||0}}
未达标或接近警戒
绩效目标设置
百分比直接填数字,例如60表示60%;保存后全公司使用同一口径。
还不能自动核算的字段
{{item.label}}
{{item.impact}}
团队天气 · {{isTeamLead?'主管视角(仅本队)':'老板视角'}}
统计窗口 {{boss.days}} 天 · 预警和在手数为实时
· 更新于 {{bossFmtAge(boss.generated_at)}}
范围:{{teamNameOf(boss.data.viewer_team_scope)||'(本队)'}}
加载失败:{{boss.error}}
首次回复中位数
{{bossFmtHours(boss.data.team.frt_p50_hours)}}
九成分位 {{bossFmtHours(boss.data.team.frt_p90_hours)}} · 样本 {{boss.data.team.replied_total}}
响应达标率 (<{{boss.data.team.sla_threshold_hours}}h)
{{Math.round(boss.data.team.sla_hit_rate*100)}}%
{{boss.data.team.replied_total}} 条已触达
在手询盘 (全团队)
{{boss.data.team.in_hand_leads}}
还没成 / 没丢的
在手未动 / 跟进率
{{boss.data.team.untouched_in_hand||0}} · {{Math.round((boss.data.team.followup_rate||0)*100)}}%
硬跟进率 {{Math.round((boss.data.team.hard_followup_rate||0)*100)}}%(仅算系统邮件/客户回复)
本周成交
{{boss.data.team.won_week}}
本周外发 {{boss.data.team.outbound_week}} 封
阿里框架口径(近 {{boss.days}} 天)
询盘(派单总数)
{{boss.data.team.assigned_period||0}}
窗口内派出 lead 数
极速回复率 (<1h)
{{Math.round((boss.data.team.flash_reply_rate||0)*100)}}%
业务员首次回复 <1h 占比
订单金额 (USD)
${{(boss.data.team.won_amount_period||0).toLocaleString('en-US',{maximumFractionDigits:0})}}
{{boss.data.team.won_period||0}} 单成交
订单转化率
{{((boss.data.team.conversion_rate||0)*100).toFixed(1)}}%
成交 / 派单 · 报价量 {{boss.data.team.quoted_count_period||0}}
销售小组对比 (近 {{boss.days}} 天)
{{(boss.data.by_team||[]).length}} 个队
| 队 | 人数 | 派单 | 报价 | 成交 | 胜率 | 转化率 | 订单金额 | 首次回复中位数 | 极速回复率 | 在手 | 跟进率 | 硬跟进 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{b.name}} | {{b.members}} | {{b.assigned}} | {{b.quoted_count}} | {{b.won}} | {{(b.win_rate*100).toFixed(1)}}% | {{(b.conversion_rate*100).toFixed(1)}}% | ${{(b.won_amount_usd||0).toLocaleString('en-US',{maximumFractionDigits:0})}} | {{bossFmtHours(b.frt_p50_hours)}} | {{Math.round((b.flash_reply_rate||0)*100)}}% | {{b.open_now}} | {{Math.round((b.followup_rate||0)*100)}}% {{b.untouched}}未动 | {{Math.round((b.hard_followup_rate||0)*100)}}% |
人均成交 = 成交 / 人数 · 队的色块取自用户管理→销售小组配置
产品供给侧 (WordPress)WP 连接失败,显示 0
产品数(全部)
{{boss.data.wp_totals.total_products}}
含草稿
有效产品数
{{boss.data.wp_totals.active_products}}
已发布
新发产品数
{{boss.data.wp_totals.new_products_period}}
近 {{boss.days}} 天
今日待处理 ({{bossAlertTotal}})
当前没有需要老板介入的事
高分询盘滞留 · {{boss.data.alerts.high_score_silent.length}} 条
score ≥ 80 · 派出 >24h · 业务员从未接触
{{x.score}}
{{x.company||x.name||'(无名)'}}
{{x.country}}
→ {{bossOwnerLabel(x.owner_id)}}
{{bossFmtAge(x.assigned_at)}}
…还有 {{boss.data.alerts.high_score_silent.length-5}} 条
阶段卡死 · {{boss.data.alerts.stage_stuck.length}} 条
已报价 / 谈判中 · >14 天没动
{{x.stage}}
{{x.company||x.name||'(无名)'}}
→ {{bossOwnerLabel(x.owner_id)}}
{{bossFmtAge(x.updated_at)}}
…还有 {{boss.data.alerts.stage_stuck.length-5}} 条
无下一步安排 · {{boss.data.alerts.no_next_step.length}} 条
>7 天没联系 · 也没挂任何待办 · 在被晾着
{{x.score}}
{{x.company||x.name||'(无名)'}}
{{x.stage}}
→ {{bossOwnerLabel(x.owner_id)}}
{{x.last_contact_at?bossFmtAge(x.last_contact_at):'从未联系'}}
…还有 {{boss.data.alerts.no_next_step.length-5}} 条
沉默业务员 · {{boss.data.alerts.silent_reps.length}} 人
本周 0 外发邮件 · 在手 ≥ 3 条 lead
{{r.display_name}}
在手 {{r.open_now}} 条
含 {{r.high_score_open}} 条高分
任务积压 · {{boss.data.alerts.overdue_pileup.length}} 人逾期
{{r.display_name}}
{{r.overdue_tasks}} 条逾期
派单不均 · {{boss.data.alerts.workload_overload.length}} 人严重过载
考虑重新分配或调整规则
{{r.display_name}}
在手 {{r.open_now}} · 团队均值 {{r.team_avg}}
业务员对比 (近 {{boss.days}} 天)
每项按表现排序 · 绿条 = 该项第一
还没有任何业务员账号或数据
{{m.title}}
{{b.label}}
| 业务员 | 销售面 (P6.1) | 阿里框架口径 (P9.1) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 首次回复中位数 | 响应达标 | 派单 | 本周发 | 成交 | 在手 | 跟进率 | 硬跟进 | 报价量 | 极速回复 | 订单金额 | 转化率 | |
| {{r.display_name||r.username}} 头名 {{r.high_score_open}} 高 | {{bossFmtHours(r.frt_p50_hours)}} | {{Math.round(r.sla_hit_rate*100)}}% — | {{r.assigned}} | {{r.outbound_week}} | {{r.won}} | {{r.open_now}} | {{Math.round((r.followup_rate||0)*100)}}% — {{r.untouched}} 未动 | {{Math.round((r.hard_followup_rate||0)*100)}}% — | {{r.quoted_count}} — | {{Math.round(r.flash_reply_rate*100)}}% — | ${{r.won_amount_usd.toLocaleString('en-US',{maximumFractionDigits:0})}} — | {{(r.conversion_rate*100).toFixed(1)}}% — |
业务员绩效总览
每个业务员一行,看谁忙不过来、谁在空转 · 窗口 {{warroom.days}} 天(口径细节见下方「指标说明」)
· 更新于 {{bossFmtAge(warroom.generated_at)}}
范围:{{teamNameOf(warroom.data.viewer_team_scope)||'(本队)'}}
加载失败:{{warroom.error}}
资源分配信号:
{{meta.label}} {{warroom.data.flags_summary[code]}}
✓ 暂无告警,节奏正常
团队获客漏斗(当前累计,不随窗口变)· 悬停看口径,详见下方「指标说明」
已分配 客观
{{warroom.data.team.apollo.assigned||0}}
未处理 自报
{{warroom.data.team.apollo.untouched||0}}
已联系 自报
{{warroom.data.team.apollo.contacted||0}}
已回复
{{warroom.data.team.apollo.replied||0}}
转询盘 客观
{{warroom.data.team.apollo.promoted||0}}
指标说明 · 自报 vs 客观口径 + 信号含义(点开)
业务员评分表 · 独立站询盘与 LinkedIn 线索分开计量
| 独立站询盘 | LinkedIn 线索 | 通用 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 业务员 / 信号 | 在手 | 首次回复 | 成交 | 未处理 | 已分配 | 已联系 | 已回复 | 转询盘 | 成交 | 本周真实发信 | 金额 | 库存/上限 |
|
{{r.display_name}}
{{f.label}}
|
{{(r.inbound||{}).open_now||0}} | {{bossFmtHours((r.inbound||{}).frt_p50_hours)}} | {{(r.inbound||{}).won||0}} | {{r.apollo.untouched}} | {{r.apollo.assigned}} | {{r.apollo.contacted}} | {{r.apollo.replied}} | {{r.apollo.promoted}} | {{(r.outbound||{}).won||0}} | {{r.crm.outbound_week}} | {{warroomFmtUsd(r.crm.won_amount_usd)}} | {{r.capacity.open_count}}/{{r.capacity.max_open}} |
| 暂无在职业务员数据 — 先在「用户管理」创建业务员账号,再到「业务员分配」派线索 |
会话监控
所有业务员名下发过信 / 收到回信的询盘(邮件 + LinkedIn)· 点「会话」看往来内容、对方是否回复。
共 {{liMonitor.items.length}} 条
{{liMonitor.error}}
加载中…
| 联系人 / 公司 | 业务员 | 已发信 | 收到回信 | 是否回复 | 最近往来 | 操作 |
|---|---|---|---|---|---|---|
{{r.full_name||'—'}} {{r.company_name}} |
{{r.owner_name||'—'}} | {{r.sent?r.sent+' 封':'未发'}} | {{r.got||0}} | {{r.replied?'已回复':'未回复'}} | {{r.last_at?liFmtTime(r.last_at):'—'}} | |
| 暂无发过信 / 收到回信的询盘。业务员在询盘里发邮件、或收到客户回信后,这里就会出现。 | ||||||
加载中…
{{leadDrawer.lead.company||leadDrawer.lead.name||'(匿名)'}}
{{leadDrawer.lead.grade}} {{leadDrawer.lead.score}}分
{{leadStatusLabel(leadDrawer.lead.status)}}
{{leadDrawer.lead.email}}
暂无邮箱
电话 {{leadDrawer.lead.phone}}
电话解锁中…
LinkedIn
{{leadDrawer.lead.country}}
关注产品{{leadDrawer.lead.product_interest}}
中国{{chinaClock}}UTC+8
{{leadDrawerCountryClock.label}}{{leadDrawerCountryClock.time}}{{leadDrawerCountryClock.offset}}{{leadDrawerCountryClock.business}}
暂未匹配 {{leadDrawer.lead.country}} 的时区
客户原文
首次询盘
{{leadDrawer.lead.message||'(无内容)'}}
邮件往来 · {{emailThread.length}} 封
暂无后续邮件往来
客户回信会自动归到这条询盘下,在这里成串显示
客户回信会自动归到这条询盘下,在这里成串显示
{{act.kind==='email_in'?'客户':'我方'}}{{emailActSender(act)}}
收件 {{act.meta.mailbox}}
{{formatChinaDateTime(act.created_at)}}
{{emailActSubject(act)}}
{{emailActBody(act)}}
{{f}}
邮件追踪 · {{trackedOutbound().length}} 封已发送
→ {{m.to_email}} · {{fmtOpenTime(m.created_at)}}
未开启追踪
已打开 {{m.open_count}} 次
已追踪 · 未打开
最近打开 {{fmtOpenTime(m.last_open_at)}} · {{m.last_open_geo}}
{{trackExpanded===m.id?'▾ 收起':'▸ 打开明细'}}
加载中…
{{fmtOpenTime(o.opened_at)}}
Gmail 代理打开(位置不可靠)
{{o.geo||o.ip||'未知位置'}}
⏱ 定时待发 · {{scheduledOutbound().length}} 封
将于 {{fmtOpenTime(m.send_at)}}(中国时间)自动发出 → {{m.to_email}}
{{leadDrawer.lead.reply_draft?'AI 回复草稿 · 可直接编辑':'邮件回复'}}
还没有草稿 — 点上方「✨ AI 起草回信」让 AI 按这条询盘起草(读一遍改两处再发),或点「撰写邮件」自己写发给任意邮箱。
发件邮箱未配置,发送按钮不可用
跟进任务
{{leadDrawer.tasks.length}} 项
暂无任务
{{t.title}}
{{taskIsOverdue(t)?'逾期 ':''}}{{(t.due_at||'').slice(0,10)}}
加 note / 跟进记录
活动时间线
{{leadDrawer.activities.length}} 条
暂无活动记录
{{activityKindBadge(act.kind).label}}
{{formatChinaDateTime(act.created_at)}}
{{act.body||'(无内容)'}}
销售业绩榜
加载中…
这段时间没有数据
| 业务员 | 已分配 | 已触达 | 触达率 | 成交 | 流失 | 赢率 | 首回 (小时) |
|---|---|---|---|---|---|---|---|
| #{{i+1}} {{r.display_name||r.username}} | {{r.assigned}} | {{r.replied}} | {{(r.reply_rate*100).toFixed(0)}}% | {{r.won}} | {{r.lost}} | {{(r.win_rate*100).toFixed(0)}}% | {{r.avg_first_reply_hours?r.avg_first_reply_hours.toFixed(1):'—'}} |
发送邮件给客户
从 {{emailSendStatus.from||'(未配置发件人)'}} 发出
⚠ 客户回信会落到你个人邮箱(系统收不到)— 请让 admin 在「邮箱采集」配置收件邮箱或 Reply-To
{{sendModal.showCcBcc?'▾':'▸'}} 抄送 / 密送
(已填:{{sendModal.cc?'CC ':''}}{{sendModal.bcc?'BCC':''}})
变量 {name} {company} {country} {product} 自动替换
还没有话术 · 写好正文点「存为话术」沉淀第一条
📷 支持直接粘贴/拖拽图片进模版(单图 ≤2MB)
松开把图片插入正文
datasheet / 报价单 PDF · 最多 10 个 · 共 ≤ 20MB
已选 {{sendModal.attachments.length}} 个 · {{fmtAttachSize(sendAttachTotal())}}
{{fmtAttachSize(a.size)}}
将在 {{fmtSchedLocal(sendModal.sendAt)}} 自动发出
{{sendModal.error}}
{{sendModal.scheduleOn?'到点自动发出 · 可在「定时待发」取消':'点发送后有 5 秒「撤销」窗口'}}
文章内容
#{{postContent.post.id}} ·
{{postContent.post.status==='publish'?'已发布':'草稿'}}
· 改于 {{postContent.post.modified.slice(0,16).replace('T',' ')}}
加载中…
{{postContent.error}}
同一个内容组 · 当前编辑:{{postContentLocaleMeta(postContent.activeLocale).label}}
{{postContentHasLocale(postContent.activeLocale)?'已生成,可独立编辑':'该语言尚未生成,可用 AI 生成或手动填写'}}
{{postContentLocaleStatusLabel(postContent.activeLocale)}}
{{postContentLocaleMeta(postContent.activeLocale).label}}独立版本
正在核对线上页面
{{postContent.languageStatusError}}
{{postContent.languageVersions[postContent.activeLocale].localized_path}}
未取到原始源码(WP 账号无编辑权,已降级为渲染视图):本次只能改 标题 / Slug / 状态,正文与摘要已锁定,防止渲染 HTML 覆盖源码。
该语言尚未生成
可让 AI 基于英语原文生成,也可以在下方直接手动填写。
正文为只读(改写正文与翻译需管理员权限)
⚠ 此文含 Gutenberg 区块标记 — 字体模式保存会丢失区块结构,精确改源码请切「JSON 格式」
正文可直接点进去修改;按安全白名单渲染(脚本/嵌入代码不显示)。要精确控制 HTML 源码用「JSON 格式」
可编辑字段:
title / slug / status / excerpt / content(HTML 源码)。保存前校验 JSON 语法。此文章的线上语言
英语{{postContent.locales.length?' + '+PUBLISH_LOCALE_OPTIONS.filter(x=>postContent.locales.includes(x.value)).map(x=>x.label).join(' + '):'(仅英语)'}}
保存修改时同步更新翻译。取消勾选会在本次重建后移除对应语言页、hreflang 和 sitemap URL。
● 有未保存的修改
已发布文章:保存后触发静态站重建,线上同步生效
草稿:保存不影响线上
只读(当前角色无保存权限)
✉ 群发单显
每位收件人单独收到一封(互相看不到),从 {{emailSendStatus.from||'(未配置)'}} 发出
{{r.name||r.to}}
已选 {{bulkModal.attachments.length}} 个
{{a.filename}}
已定时排入 {{bulkModal.result.queued}} 封 · {{fmtSchedLocal(bulkModal.sendAt)}}
已发送 {{bulkModal.result.sent}} 封 · 失败 {{bulkModal.result.failed}}
· 跳过退订 {{bulkModal.result.skipped_suppressed}}
· 超上限已截断
{{bulkModal.error}}
逐封单独发出,每封间隔数秒以保护发件邮箱
新增有效商机
{{outboundOverview.kpi?.new_opportunities||0}}
所选周期内客户真实回复
回复后待跟进
{{outboundOverview.kpi?.awaiting_followup||0}}
客户已回复,尚无人工推进记录
报价推进中
{{outboundOverview.kpi?.quoted_open||0}}
已报价或谈判,尚未结案
已成交
{{outboundOverview.kpi?.won||0}}
真实商机 {{outboundOverview.kpi?.total_opportunities||0}} · 转化率 {{Math.round((outboundOverview.kpi?.conversion_rate||0)*100)}}%
真实商机转化漏斗
按客户首次真实回复归档;开发人与跟单人在下方名单分别显示
来源贡献
{{c.channel}} {{c.count}} · {{Math.round((c.share||0)*100)}}%
24h 未回复
{{leadQuickCounts.needs_reply_24h||0}}
超过 24 小时没回客户 — 立即跟进
✓ 响应全部达标
本周新询盘
{{leadQuickCounts.this_week??0}}
近 7 天进入管道
高价值
{{leadQuickCounts.high_value??0}}
A 级 + 含 询价 数量
已成交
{{leadQuickCounts.won??0}}
总询盘 {{leadQuickCounts.total??0}} · 转化率 {{leadQuickCounts.total?Math.round((leadQuickCounts.won??0)/leadQuickCounts.total*100):0}}%
AI 智能管道
上次处理:
扫描 {{leadProcessSummary.scanned}} 条 ·
A 级 {{leadProcessSummary.graded?.A||0}} ·
B 级 {{leadProcessSummary.graded?.B||0}} ·
C 级 {{leadProcessSummary.graded?.C||0}} ·
垃圾 {{leadProcessSummary.graded?.spam||0}}
· LLM 调用 {{leadProcessSummary.llm_called}} 次
· LLM 跳过垃圾 {{leadProcessSummary.llm_skipped_spam}} 条
· {{leadProcessSummary.errors.length}} 错误
加载中...
国家分布 (近 {{leadInsights.window?.days||90}}d)
暂无数据 — 有询盘进来后自动生成
{{c.key}}
{{c.count}}
级别分布
暂无数据 — 有询盘进来后自动生成
{{g.key==='spam'?'垃圾':g.key+'级'}}
{{g.count}}
来源
{{s.key}}
{{s.count}}
产品关键词热度
{{kw.key}} · {{kw.count}}
暂无
采购意向词
{{kw.key}} · {{kw.count}}
暂无
落地页转化 (按 A+B 合格率排序)
暂无数据 — 表单未提交 landing_page 字段
URL
询盘
A+B
合格率
{{lp.count}}
{{lp.qualified}}
{{Math.round(lp.qualified_rate*100)}}%
引荐渠道
{{r.key}} · {{r.count}}
企业邮箱占比 {{leadInsights.totals.recent?Math.round(leadInsights.totals.corporate_mail*100/leadInsights.totals.recent):0}}%
· T1 市场占比 {{leadInsights.totals.recent?Math.round(leadInsights.totals.t1_market*100/leadInsights.totals.recent):0}}%
· 待 LLM 分析 {{leadInsights.totals.needs_llm||0}} 条
询盘漏斗 + 超时警示
转化漏斗 (近 90 天)
点击刷新
{{stage[0]}}
{{leadFunnel.overall[stage[1]]||0}}
{{Math.round((leadFunnel.overall[stage[1]]||0)*100/leadFunnel.overall.created)}}%
合格率 {{Math.round((leadFunnel.overall.qualified_rate||0)*100)}}%
· 回复率 {{Math.round((leadFunnel.overall.reply_rate||0)*100)}}%
· 赢单率 {{Math.round((leadFunnel.overall.win_rate||0)*100)}}%
平均首次回复用时 {{leadFunnel.avg_reply_lag_hours==null?'—':leadFunnel.avg_reply_lag_hours+' h'}} (样本 {{leadFunnel.reply_count_for_lag||0}})
平均首次回复用时 {{leadFunnel.avg_reply_lag_hours==null?'—':leadFunnel.avg_reply_lag_hours+' h'}} (样本 {{leadFunnel.reply_count_for_lag||0}})
响应超时(A/B 级未回复)
点击刷新
所有 A/B 级询盘都已及时回复
{{a.grade}}
{{a.name||a.email||'(未命名)'}}
超时 {{a.overdue_hours}}h →
{{a.company||'-'}} · {{a.country||'-'}} · {{a.email}}
结果回喂校准
点击刷新
{{sec[0]}}
总体 {{Math.round((leadCalibration[sec[1]].rate||0)*100)}}% · {{sec[2]}} {{leadCalibration[sec[1]].total||0}}
样本不足(<{{leadCalibration.min_sample||5}}),暂不喂回模型 — 先去成交/回复积累数据
{{dim[0]}}
{{row.key}}
{{Math.round(row.rate*100)}}%
n={{row.n}}
注入 AI 打分器的原文
{{leadCalibration.brief}}
Spam 聚类发现
点击"扫描聚类"查看候选(只读,不会立即标 spam)
扫描 {{spamClusters.scanned}} 条 · 未发现聚类(很干净)
扫描 {{spamClusters.scanned}} 条 · 发现 {{spamClusters.clusters.length}} 个候选聚类
{{c.dimension}}
{{c.key}}
{{c.size}} 条
"{{c.sample}}"
{{leadPageTitle}}
{{leadPageSubtitle}}
团队
归属
销售负载(点击筛选)
{{row.display_name}}
·
开放 {{row.open_count}}
停滞 {{row.stale_count}}
每页:
{{leadError}}
{{lead.company||lead.name||lead.email||'(匿名询盘)'}}
· {{lead.country}}
客户当地 {{leadCountryTime(lead).time}} · {{leadCountryTime(lead).business}}
{{lead.grade==='spam'?'垃圾':lead.grade+'级 · '+lead.score}}
{{leadStatusLabel(lead.status)}}
逾期 {{leadOverdueHours(lead)}}h
{{lead.message||'(无内容)'}}
{{leadSourceBadge(lead.source).label}}
收件 · {{leadSourceMailboxLabel(lead)}}
{{lead.email}}
回复 {{formatChinaDateTime(lead.first_reply_at||lead.created_at)}}
{{formatChinaDateTime(lead.created_at)}}
开发 {{lead.acquisition_owner_name||'未记录'}}
跟单 {{lead.owner_name||salesUserLabel(lead.owner_id)}}
{{lead.owner_name||salesUserLabel(lead.owner_id)}}
未分配
{{lead.message}}
原始邮件
加载中...
From: {{lead.emailDetail.from_name||lead.emailDetail.from_email}} <{{lead.emailDetail.from_email}}>
To: {{lead.emailDetail.mailbox}}
Subject: {{lead.emailDetail.subject||'(无主题)'}}
收到(中国时间): {{formatChinaDateTime(lead.emailDetail.received_at,true)}}
附件:
{{a}}
AI 分类:
{{lead.emailDetail.classification}} · {{Math.round((lead.emailDetail.confidence||0)*100)}}%
({{lead.emailDetail.reasoning}})
{{lead.emailDetail.body_text||'(无正文)'}}
AI 分析
{{lead.ai_analysis.summary}}
意图:{{lead.ai_analysis.intent}} · 买家类型:{{lead.ai_analysis.buyer_type}}
→ {{f}}
{{flag}}
启发式信号 (免费,毫秒级,LLM 之前)
邮箱域名: {{lead.ai_analysis._heuristic.enrichment.email_domain}}
企业
免费邮箱
·
推断国家: {{lead.ai_analysis._heuristic.enrichment.country_guess}}
T1
({{lead.ai_analysis._heuristic.enrichment.country_source}})
产品词:
{{kw}}
意向词:
{{kw}}
垃圾词:
{{kw}}
启发式判定:
{{lead.ai_analysis._heuristic.verdict.grade==='spam'?'垃圾':lead.ai_analysis._heuristic.verdict.grade+'级'}}
· 分数 {{lead.ai_analysis._heuristic.verdict.score}}/100
· 置信度 {{Math.round(lead.ai_analysis._heuristic.verdict.confidence*100)}}%
· {{r}}
邮件往来 · {{leadEmailThread(lead).length}} 封
加载中…
暂无后续邮件往来
客户回信会自动归到这条询盘下,在这里成串显示
客户回信会自动归到这条询盘下,在这里成串显示
{{act.kind==='email_in'?'客户':'我方'}}{{emailActSender(act, lead)}}
收件 {{act.meta.mailbox}}
{{formatChinaDateTime(act.created_at)}}
{{emailActSubject(act)}}
{{emailActBody(act)}}
{{f}}
回复草稿(人工确认后发送)
{{lead.reply_draft}}
LD
暂无询盘。可以手动录入,或配置 LEADS_WEBHOOK_SECRET 让网站表单 POST 到
/api/leads/webhook 自动入库。
…
第 {{leadPage}}/{{leadTotalPages}} 页 · 共 {{leadTotal}} 条
跳到
键盘快捷键
下一条J ↓
上一条K ↑
打开详情抽屉Enter
撰写邮件E
用草稿回信D
取消选中Esc
显示 / 隐藏?
文章收录监控
使用 Google 官方 URL Inspection 判断已发布文章是否进入索引。这里的“已收录”不是用曝光量推测,而是 Google 对该 URL 的实时检查结果。
页面优先读取 SQLite 持久缓存,部署后也不会丢失。只检查新增、已修改或过期文章:已收录每 7 天、未收录每 24 小时、失败记录每 1 小时复查。“更新过期数据”不会重扫仍在有效期内的文章。
暂时无法检查
{{gscIndex.error}}
已检查文章
{{gscIndex.data.total||0}}
已被 Google 收录
{{gscIndex.data.indexed||0}}
未收录
{{gscIndex.data.not_indexed||0}}
文章收录率
{{gscIndex.data.index_rate||0}}%
| 文章 | 收录状态 | Google 说明 | 最近抓取 | Canonical | 建议动作 |
|---|---|---|---|---|---|
{{row.title}} {{row.url}} |
{{gscIndexStatus(row)}} | {{row.error||row.coverage_state||row.indexing_state||'Google 未提供详细说明'}} |
{{row.last_crawl_time?formatChinaDateTime(row.last_crawl_time):'尚无记录'}} | {{row.google_canonical||row.user_canonical||'未报告'}} |
{{gscIndexAction(row)}} |
当前筛选下没有文章 | |||||
● GA4 已连接
数据源连接(Google Analytics)
连接 Google Analytics 4 后,网站数据看板、页面机会分析和运营建议会使用真实数据。
Property ID {{ga4OAuthStatus.property_id_configured?'已配置':'未配置'}}
OAuth Client {{ga4OAuthStatus.oauth_client_configured?'已配置':'未配置'}}
OAuth Token {{ga4OAuthStatus.oauth_token_configured?'已连接':'待授权'}}
请先后台登录
{{ga4Notice.label}}
{{ga4Notice.message}}
{{kpi.label}}
{{kpi.value}}
{{kpi.change}}
流量趋势 ({{decision.period_days||30}}天)
流量从哪来
| 来源 | 质量 | 访问 | 跳出率 | 动作 |
|---|---|---|---|---|
| {{s.source}} | 样本不足{{s.quality_label||s.quality_score}} | {{s.sessions}} | {{formatPercent(s.bounce)}} | {{s.action}} |
暂无渠道判断。请先完成 GA4 授权或等待数据积累。
地理看板 · 哪个国家在看
世界地图按{{geoMode==='realtime'?'实时在线人数':'会话数'}}着色。历史模式叠加询盘/成交,实时模式每 20s 自动刷新。
{{geoRealtime?geoRealtime.total_active:0}}
人正在访问(近 30 分钟)
演示数据
{{geoMode==='realtime'?geoRealtime.warning:geoVsLeads.warning}}
暂无在线访客
{{c.country}}
{{c.activeUsers}}
| 国家 | 访问 | 询盘 | 成交 | 转化 |
|---|---|---|---|---|
| {{c.country}} | {{c.sessions}} | {{c.inquiries||'·'}} | {{c.won||'·'}} | {{c.sessions?(c.conv_rate*100).toFixed(1)+'%':'·'}} |
该重点攻的市场
系统按「流量 × 询盘 × 成交」帮你挑好了
高流量没人问 = 该救
已出单 = 该加投
有询盘缺流量 = 该放大
{{o.message}}
今天该做什么
系统把页面 / SEO / 内容 / 渠道的优先动作汇总成一条清单,照着做、可一键转任务。
{{priorityLabel(a.priority)}}
{{a.cat}}
{{a.title}}
依据:{{a.evidence||''}}{{a.evidence?',':''}}机会分 {{a.score}}
Google 搜索表现
来自 Google 搜索的真实表现:关键词、页面、地区、设备、排名分布,与"临门一脚"优化机会。
{{gscStatus.configured?'已连接':'待授权'}}
{{gscStatus.reason||'未连接'}}。点击上方「重新授权」按钮重新连接 Google(新授权已包含 Search Console 权限)。
{{gscError}}
加载搜索数据…
搜索数据加载失败({{gscDashErrors.join('、')}}) — 点「刷新」重试;若持续,可能是 Search Console 授权过期,请重新授权 Google。
⚠ 部分数据未能加载:{{gscDashErrors.join('、')}}(其余照常显示,可刷新重试)
生成式 AI 流量
GA4 统计 AI 助手带来的真实访问;GSC 统计 Google AI 搜索里的展现。两者口径不同,不做相加。
GA4 AI Assistant {{gscDash.genai_traffic.ga4&&gscDash.genai_traffic.ga4.available?'已连接':'不可用'}}
GSC AI 展现 {{gscDash.genai_traffic.gsc&&gscDash.genai_traffic.gsc.available?'已开放':'灰度中'}}
30 分钟缓存
近 {{gscDash.genai_traffic.period_days}} 天尚未检测到 medium=ai-assistant 的会话。可能确实没有 AI 引荐点击,也可能访问没有携带可识别的 referrer。
AI 引荐会话
{{gscFmtNum(gscDash.genai_traffic.ga4.summary.sessions)}}
真实访问次数
活跃用户
{{gscFmtNum(gscDash.genai_traffic.ga4.summary.active_users)}}
来自 AI 助手
互动会话率
{{gscDash.genai_traffic.ga4.summary.engagement_rate}}%
{{gscFmtNum(gscDash.genai_traffic.ga4.summary.engaged_sessions)}} 次互动会话
占全站会话
{{gscDash.genai_traffic.ga4.summary.session_share}}%
关键事件 {{gscFmtNum(gscDash.genai_traffic.ga4.summary.key_events)}}
AI 引荐趋势 ━ 会话 ━ 浏览
AI 助手来源
暂无可识别来源
AI 流量落地页
| 页面 | 会话 | 关键事件 |
|---|---|---|
| {{gscShortPath(row.landing_page)}} | {{row.sessions}} | {{row.keyEvents||0}} |
| 暂无落地页数据 | ||
{{(gscDash.genai_traffic.ga4&&gscDash.genai_traffic.ga4.error)||'GA4 未连接,无法读取 AI Assistant 流量。'}}
Google AI 搜索展现:{{gscFmtNum(gscDash.genai_traffic.gsc.impressions)}} 次
· 最高页面 {{gscShortPath(gscDash.genai_traffic.gsc.pages[0].page)}}({{gscFmtNum(gscDash.genai_traffic.gsc.pages[0].impressions)}} 次)
实验 API 维度
Google AI 搜索展现:{{(gscDash.genai_traffic.gsc&&gscDash.genai_traffic.gsc.reason)||'该站点暂未开放独立数据。'}}
{{k.label}}
{{k.value}}
{{k.deltaText}}
点击 / 曝光趋势 ━ 点击 ━ 曝光
热门关键词
| 关键词 | 点击 | Δ | CTR | 排名 |
|---|---|---|---|---|
| {{q.query}} | {{q.clicks}} | {{gscDeltaStr(gscQDelta(q))}} | {{q.ctr}}% | {{q.position}} |
| 暂无数据 | ||||
热门页面
| 页面 | 点击 | 曝光 | CTR |
|---|---|---|---|
| {{gscShortPath(pg.page)}} | {{pg.clicks}} | {{pg.impressions}} | {{pg.ctr}}% |
| 暂无数据 | |||
来源国家
暂无数据
设备
{{(gscDash.devices.rows[0]||{}).device_name}}
{{(gscDash.devices.rows[0]||{}).share}}%
{{(gscDash.devices.rows[0]||{}).share}}%
{{d.device_name}} {{d.share}}%
暂无数据
排名分布
📈 涨得最快
+{{q.delta}} 点击
本期无明显上涨
📉 掉得最狠
{{q.delta}} 点击
本期无明显下跌
🎯 临门一脚 高曝光·排名 4–25·点它写内容或改标题
{{o.query}} · 排名 {{o.position}} · CTR {{o.ctr}}% · +{{o.potential_extra_clicks}} 访客
增长雷达
跨 GSC / 内容衰退 / 询盘聚类 / 竞品 / AI 引擎的可执行机会工作台
新信号
{{growthKpis.new||0}}
可执行
{{growthKpis.actionable||0}}
处理中
{{growthKpis.in_progress||0}}
已闭环
{{growthKpis.done||0}}
AI 合成
{{growthKpis.synthesized||0}}
AI 综合完成
AI 综合无结果
· 新增 {{growthSynthResult.created||0}} 条
· 丢弃 {{growthSynthResult.dropped}} 条(未通过验证)
· {{growthSynthResult.model_key}}
· {{growthSynthResult.input_tokens}}→{{growthSynthResult.output_tokens}} tokens
{{growthSynthResult.message}}
今日信号 ({{growthFeedNew.length}})
本时间窗暂无新信号。可尝试:
{{growthSourceLabel(ev.source)}}
AI 合成
{{ev.title}}
{{ev.why_matters||ev.summary}}
{{ev.entity}} · {{ev.market}}
· 影响:{{ev.impact_estimate}}
· 耗时:{{ev.effort_estimate}}
为什么是这个 action:{{ev.next_action.rationale}}
{{JSON.stringify(ev.next_action.payload)}}
来源信号:{{(ev.source_event_ids||[]).join(', ')}}
无可用 action
效果回收 最近 30 天 · 涨 {{growthOutcomes.summary?.lift||0}} · 平 {{growthOutcomes.summary?.flat||0}} · 跌 {{growthOutcomes.summary?.decline||0}}
{{o.action_outcome.delta_pct>0?'+':''}}{{o.action_outcome.delta_pct}}%
{{growthTimeAgo(o.outcome_recorded_at)}}
自动化边界 · GEO 监控 · 集成状态
Semrush {{growthOverview.configured?.semrush?'已接':'未接'}}
News API {{growthOverview.configured?.news_search?'已接':'未接'}}
社媒监控 {{growthOverview.configured?.social_monitoring?'开':'关'}}
自动互动 {{growthOverview.configured?.auto_social_engagement?'高风险开启':'已关闭'}}
品牌:{{growthOverview.brand||'-'}} · 市场:{{(growthOverview.markets||[]).join(', ')||'-'}} · 竞品:{{(growthOverview.competitors||[]).join(', ')||'-'}}
GEO / AI 引用监控 prompts
{{p.market}} · {{p.cadence}}
{{p.enabled?'启用':'停用'}}
{{p.prompt}}
自动化边界(合规备忘)
{{b.area}}
{{riskLabel(b.risk)}}
可做:{{b.can_do}}
不要做:{{b.avoid}}
今天该做什么
按优先级排好 · 做完一件划掉一件
🔴 {{leadQuickCounts.needs_reply_24h}} 条询盘超 24h 未回复
响应达标 警戒 · 尽快回复保住首次回复
⏰ 今天/逾期跟进 · {{todayItems.length}}
加载中…
今天都跟完了 ✓
{{t.title}} · {{myTaskDueLabel(t)}}
我的跟进任务
你 owned 的客户跟进 — 每条都关联一个询盘,点击进入客户详情
逾期
{{myTasks.list.filter(t=>myTaskOverdue(t)).length}}
立即处理
✓ 无积压
今日到期
{{myTasks.list.filter(t=>!myTaskOverdue(t) && t.due_at && (new Date(t.due_at).toDateString()===new Date().toDateString())).length}}
今天必须完成
全部待办
{{myTasks.list.length}}
含未来到期
加载中…
{{myTasks.error}}
所有任务都做完了
回到「我的询盘」继续推进 pipeline
运营派的
跟进任务
{{t.title||'(无标题)'}}
{{myTaskDueLabel(t)}}
{{t.note}}
无补充说明
询盘:{{t.lead_company||t.lead_name||t.lead_email||t.lead_id}}
· {{t.lead_country}}
运营任务中心
把 GA4 机会、内容优化、产品动作沉淀成可跟进任务
{{priorityLabel(task.priority)}}
{{typeLabel(task.type)}}
{{statusLabel(task.status)}}
{{salesUserLabel(task.assignee_id)}}
未分配
{{task.title}}
{{task.note}}
{{task.source}} · {{formatChinaDateTime(task.updated_at||task.created_at,true)}}(中国时间)
OP
暂无任务。可以直接录一条,或从网站数据看板 / SEO 体检 / 询盘抽屉自动生成。
企业知识库
上传产品资料、SOP、FAQ、公司文档,Agent 可在对话中检索引用
文件
{{ragStats.documents||0}}
切片
{{ragStats.chunks||0}}
容量
{{formatBytes(ragStats.bytes||0)}}
{{ragError}}
{{doc.knowledge_base}} · {{doc.chunk_count}} chunks · {{(doc.size/1024).toFixed(1)}} KB
{{doc.error}}
KB
暂无知识文件。上传 PDF / DOCX / XLSX / CSV / MD / TXT (≤25MB),向量化进 Qdrant 后 chat 自动引用。
检索测试
{{r.original_name||'来源文件'}}
{{(r.score||0).toFixed(3)}}
Page {{r.page||'-'}} · {{r.score_mode||'vector'}} · 向量 {{(r.vector_score||r.score||0).toFixed(3)}} · 关键词 {{(r.keyword_score||0).toFixed(2)}}
{{r.content}}
上传文件后可以在这里测试语义检索。
最近检索
{{s.query}} · {{s.result_count}} 条 · {{(s.top_score||0).toFixed(3)}}
WordPress REST 连接
Agent 写博客、改文章、上产品会通过服务器端 WordPress REST API 执行,产品走站点已有 product CPT。
WordPress
{{status.wp_connected?'已连接':'未连接'}}
产品 CPT
{{status.product_connected?'已连接':'未连接'}}
写入策略
{{status.write_policy?.mode||'-'}}
WP 用户 {{status.wp?.username_configured?'已配置':'缺失'}}
应用密码 {{status.wp?.app_password_configured?'已配置':'缺失'}}
产品接口 {{status.product_cpt?.connected?'已连接':'未连接'}}
Agent 工具 {{status.agent_tools?.wp_product_ready?'已注册':'需检查'}}
发布 {{status.write_policy?.publish_enabled?'允许':'草稿优先'}}
WP API:{{status.wp?.api_base||'-'}}
产品接口:{{status.product_cpt?.api_base||'-'}}
Wintouch API:{{status.wintouch_api?.base||'-'}}
联系表单:{{status.wintouch_api?.contact||'-'}}
产品接口:{{status.product_cpt?.api_base||'-'}}
Wintouch API:{{status.wintouch_api?.base||'-'}}
联系表单:{{status.wintouch_api?.contact||'-'}}
{{status.wp?.error||''}} {{status.product_cpt?.error||''}}
模型列表
新增模型(国产 / 任意 OpenAI 兼容端点)
{{m.name}} 自定义
{{m.provider}} · {{m.model_id}}
配置: {{selectedModelDetail.name}}
{{testResult.status==='ok'?'连接成功 ('+testResult.latency_ms+'ms)':' '+testResult.error}}
✓
{{i+1}}
{{s.label}}
自动获客运行中,可离开页面,回来继续看…
有 {{hunterRunningInHistory.length}} 个获客任务正在后台运行
· 刷新/切走后可点这里继续查看进度
⚠ {{hunter.autoRunError}}
① 客户画像 分析
输入公司官网或上传产品手册/报价单/案例集,配置目标市场,AI 出具理想客户画像 + 本地化关键词。这是接下来"主动找客户"的基础。
分析中…
已选 {{hunter.form.target_regions.length}} 个
{{g.group}}
目标潜在客户数
最大轮数
填这些等于把你外贸经验喂给 AI——它会从你真实的好客户反推 客户画像,而不是只看你官网自夸。
已上传 {{hunter.uploads.length}} 个文件:
{{u.filename}} ({{(u.chars/1000).toFixed(1)}}k 字符)
⚠ 解析失败,该文件不会参与分析
解析中…
{{hunter.error}}
公司画像
{{hunter.insight.company?.name||'-'}} {{hunter.insight.company?.headline||''}}
核心价值主张
- {{v.text}} 未佐证 有引用
主打产品
{{p.name}}— {{p.value_prop}}
理想客户画像
{{hunter.insight.icp.target_customer}}
决策人角色
{{t.text}}
-
目标行业
{{t.text}}
-
公司规模
{{hunter.insight.icp?.company_size_range||'-'}}
地理重点
{{(hunter.insight.icp?.geo_focus||[]).join(' / ')||'-'}}
买家类型(供应链角色)
{{buyerTypeLabel(b)}}
应用场景(细分用途)
{{a.text}}
必备认证
{{c}}
价格定位 / 订单
{{({premium:'高端',mid:'中端',value:'性价比'}[hunter.insight.icp.order_profile.price_tier]||hunter.insight.icp.order_profile.price_tier)}} · {{hunter.insight.icp.order_profile.moq_fit}}{{hunter.insight.icp.order_profile.notes}}
购买信号(该现在打的时机)
- {{t}}
买家委员会(找谁、怎么说)
采购找货
{{hunter.insight.icp.buying_committee.sourcing.join('、')}}
工程定规格
{{hunter.insight.icp.buying_committee.technical.join('、')}}
老板签字
{{hunter.insight.icp.buying_committee.economic.join('、')}}
硬排除(直接踢掉)
- {{d}}
不追的客户类型
- {{n.text}}
真实性提示({{hunter.insight._meta.warnings.length}})
{{i+1}}. {{w}}
上面这些条目 AI 没能在你提供的资料里找到原文佐证。可能是 AI 凭模糊推断写出来的——发邮件 / 打电话之前请人工核实,或补充更全的产品资料重跑。
推荐搜索关键词(已按区域本地化)
共 {{hunter.insight.recommended_keywords?.length||0}} 个 ·
语种一致 {{hunter.insight._meta?.verification?.keywords_locale_ok||0}} ·
不一致 {{(hunter.insight.recommended_keywords?.length||0)-(hunter.insight._meta?.verification?.keywords_locale_ok||0)}}
{{kw.locale}}{{kw.keyword}}
[{{kw.dimension}}]
②③ 一键自动跑:搜索获客 + 抽取联系人(推荐)
让系统自动循环:扩展关键词 → 搜索 → 抽取 → 反馈 → 下一轮。直到达到目标潜在客户数 / 跑满 {{hunter.run?.max_rounds||5}} 轮 / 连续 2 轮命中过少。预计 5-10 分钟。
{{hunter.auto.error}}
●
●
{{hunter.auto.running?'运行中…':'已结束'}}
· {{hunterReasonLabel(hunter.auto.finalReason)}}
· 用时 {{hunterDurationLabel(hunter.auto.startedAt, hunter.auto.finishedAt)}}
事件 {{hunter.auto.events.length}}
{{hunterEventTime(e.at)}}
{{hunterEventLabel(e.type)}}
r{{e.round_no}}
{{hunterEventDetail(e)}}
大部分用户用上方"一键自动跑"即可。手动模式适合调试单个关键词或诊断搜索失败。
下一步:扩展关键词 → 真去找客户
每轮 6-10 个本地化关键词;点"去 Google Maps 找客户"后真去 Serper 搜索并把结果存进 prospect 池。
{{hunter.kwError}}
{{hunter.searchError}}
round {{hunter.searchSummary.round_no}} 搜索结果:原始 {{hunter.searchSummary.raw_count}} / 去重后 {{hunter.searchSummary.deduped_count}} / 落库 {{hunter.searchSummary.inserted}} 个 prospect(库内累计 {{hunter.searchSummary.total_prospects}}) · 去重 {{hunter.searchSummary.dropped_dupes}} 条 · 已存在跳过 {{hunter.searchSummary.skipped_existing}} 条
· 失败 {{hunter.searchSummary.errors.length}} 个关键词
本轮使用的关键词({{hunter.keywordRows.length}})
| 轮次 | 关键词 | locale | 维度 | 结果数 | 命中 prospect |
|---|---|---|---|---|---|
| {{k.round_no}} | {{k.locale}} |
{{k.dimension}} | {{k.results_count}} | {{k.prospects_count}} |
Prospect 池({{hunter.prospectTotal}})
已抽取 {{hunter.extractStats.qualified}} ·
已拒 {{hunter.extractStats.rejected}} ·
待抽取 {{hunter.extractStats.pending}}
正在搜索并抽取潜在客户…第一批结果落库后会出现在这里
上方事件流实时更新,可离开页面稍后回来
还没有潜在客户。回第2步「启动自动运行」或手动搜索来填充这个池子。
抽取的 {{hunter.extractStats.rejected}} 个潜在客户暂无合格。常见原因:关键词命中的公司与 客户画像 不符 / 官网抓不到有效邮箱 / 风险旗过多。
{{hunter.extractError}}
本批抽取完成:处理 {{hunter.extractSummary.processed}} · 通过 {{hunter.extractSummary.qualified}} · 拒绝 {{hunter.extractSummary.rejected}}
● personal 直达邮箱;● role 信箱(sales/info);● 通用(noreply 等);✓ = 与公司官网同域。决策人姓名 + 职位都带原文证据,hover 看。
| 公司 / 评分 | 国家 | 邮箱 / 电话 | 决策人 | 来源 | 操作 |
|---|---|---|---|---|---|
|
{{p.priority_tier||'-'}}
{{p.company_name||'-'}}
匹配 {{p.fit_score}} · 可触达 {{p.contactability_score}}
{{p.industry}}
{{p.description}}
{{rf}}
|
{{p.country||'-'}} {{p.locale}} |
+{{p.emails.length-3}} 个
{{p.phones.slice(0,2).join(' · ')}}
-
|
{{dm.name}}
{{dm.title}}
-
|
{{p.source_url.slice(0,50)}}
{{p.source_url}}
{{p.source_keyword}}
|
{{hunterStatusLabel(p.status)}} |
第 {{hunter.prospectPage}} / {{hunter.prospectPages}} 页
④⑤ 生成外联邮件 + 人工审批
为每个 qualified prospect 生成 3 步本地化邮件(day 0 / 3 / 7),双层校验通过的进 draft,质量分 <70 的进 needs_review。admin 批准后才进入 ⑥发送队列。
总计 {{hunter.sequences.stats.total||0}} ·
draft {{hunter.sequences.stats.by_status?.draft||0}} ·
待人工 {{hunter.sequences.stats.by_status?.needs_review||0}} ·
已批准 {{hunter.sequences.stats.by_status?.approved||0}} ·
avg {{hunter.sequences.stats.avg_score||0}}
{{hunter.sequences.error}}
本批生成 {{hunter.sequences.lastSummary.generated}} 条 · 模板复用 {{hunter.sequences.lastSummary.reused_count}} · 状态:{{JSON.stringify(hunter.sequences.lastSummary.by_status)}}
已选 {{hunter.seqSelected.size}} 条
EM
暂无邮件序列。先跑客户拓展(自动获客)拿到一批潜在客户,然后用"生成邮件序列"为高优先级 prospect 写三阶段触达。
邮件序列已生成,等管理员审批后进入发送队列。审批与发送是管理员权限。
| 序列 / 公司 | locale | 评分 / 模板 | 邮件 | 校验 | 状态 / 操作 | |
|---|---|---|---|---|---|---|
|
{{s.company_name||'(公司名缺失)'}}
{{s.country}}
{{s.to_email}}
⚠ 无可用邮箱,无法入队
|
{{s.locale}} |
{{s.review_score}}/100
{{s.template_reused?'复用':'种子'}}
|
D{{e.send_day}}:
{{e.subject}}
{{e.body_text||e.body}}
|
✓ 全通过
规则 {{s.review.rule_issues.length}} 项
语种检查未过
{{iss.slice(0,80)}}
{{s.review.revisions}} 轮重写
|
{{hunterStatusLabel(s.status)}}
已入队 ✓
|
⑥ 发送队列 激活层
批准的序列在这里排队,按 day 0/3/7 调度。自动发送
{{outreachQueue.auto_send?'已开启':'已关闭(去设置开)'}} ·
日上限 {{outreachQueue.daily_cap}} 封 · 今日已发 {{outreachQueue.stats.sent_today||0}} · 客户一回信,后续步骤自动停发。
待发 {{outreachQueue.stats.pending||0}}
已发 {{outreachQueue.stats.sent||0}}
已回停发 {{outreachQueue.stats.replied||0}}
失败 {{outreachQueue.stats.failed||0}}
| 收件人 | 主题 | 步 | 计划 | 状态 | 操作 |
|---|---|---|---|---|---|
| D{{q.step_no}} | {{(q.scheduled_at||'').slice(5,16)}} | {{hunterStatusLabel(q.status)}} |
队列为空 — 批准序列后点「加入队列」。
run_id:
{{hunter.run.id}} · 模型 {{hunter.insight._meta?.model_key||'-'}} · 语料 {{hunter.insight._meta?.corpus_chars||0}} 字符 · 价值主张佐证率 {{hunter.insight._meta?.verification?.value_props_verified||0}}/{{hunter.insight._meta?.verification?.value_props_total||0}}最近的拓客任务
点「打开」回到任意任务查看它的潜在客户 / 邮件序列,或继续仍在跑的任务。
| 时间 | 状态 | 目标 | 市场 | run_id | 操作 |
|---|---|---|---|---|---|
| {{formatChinaDateTime(r.created_at)}} | {{['keywords','search','extract'].includes(r.status)?'运行中':r.status==='pending'?'未开始':r.status==='ready'?'待运行':hunterStatusLabel(r.status)}} | {{r.target_lead_count}} | {{(r.input?.target_regions||[]).join(', ')||'-'}} | {{r.id}} |
inLinkedIn 获客 · {{apolloPageTitle}}
用 Apollo 定向找人、筛选潜在客户、分配跟进与触达 —— 每个环节在左侧子菜单里独立成页。
当前批次
{{apollo.run?(apollo.run.name||'已打开'):'未选择'}} 运行中
筛选潜在客户
{{apollo.total||0}} 人
我的队列
{{(apollo.myQueue||[]).length}} 人待处理
我的解锁剩余
{{apollo.provider.unlock_quota.personal.remaining===null?'不限':apollo.provider.unlock_quota.personal.remaining}}
/ {{apollo.provider.unlock_quota.personal.cap}}
不计个人额度
公司解锁剩余
{{apollo.provider.unlock_quota.global.remaining===null?'不限':apollo.provider.unlock_quota.global.remaining}}
/ {{apollo.provider.unlock_quota.global.cap}}
LinkedIn 主闸
{{liPool.config&&liPool.config.enabled?'已开启':'已关闭'}} {{liPool.accounts.length}} 个账号
第一次使用,按这个顺序完成
- 1创建批次设定 客户画像 和目标市场
- 2复核潜在客户确认匹配度和联系方式
- 3审批触达检查邮件后加入队列
- 4查看结果跟踪回信和询盘转化
我的 LinkedIn 潜在客户 · 分配给我的 · 跨批次 · 共 {{apolloQueue.total}} 人
正在加载我的潜在客户…
当前筛选下没有待处理潜在客户。
| 姓名 / 职位 | 公司 | 邮箱 | 电话 | 触达 / 备注 | 操作 | |
|---|---|---|---|---|---|---|
| {{p.full_name||'—'}} {{p.title}} |
打开 — | {{p.email}} {{(p.email_status==='placeholder'||p.email_status==='locked')?'锁定':'无'}} | {{p.phone}}解锁中…— |
已触达 {{p.attempt_count||0}} 次 · 最近 {{p.last_touched_at.slice(0,16)}}
|
已转 |
第 {{apolloQueue.page}} / {{apolloQueue.pages}} 页
我的公司账户
把同一公司的联系人放在一起,避免重复触达并检查决策链覆盖。
{{a.company_name}}多人负责
{{a.contact_count}} 位联系人 · 高匹配 {{a.high_fit_count}} · 已回复 {{a.replied_count}} · 已转询盘 {{a.promoted_count}}
决策人采购技术
匹配度 {{c.fit_score}}
最近下一步:{{a.next_action_at.slice(0,16)}}
暂无已分配的公司账户。
业务员容量与回收
智能分配只进入仍有容量且正在接收线索的业务员;超时回收需人工确认。
{{r.display_name}}
今日 {{r.assigned_today}} / {{r.daily_new_cap}} · 库存 {{r.open_count}} / {{r.max_open}}
暂无可用业务员。
当前数据源 {{apollo.provider.label||'?'}} 的 API key 未配置 — 抓取不可用。
潜在客户怎么来?
LinkedIn 潜在客户由运营先跑批次再分配给你 → 出现在上方「我的 LinkedIn 潜在客户」 → 一键转成你自己的询盘 lead(转完直接进你的看板)。
上面是空的:说明还没分给你 —— 找运营开一批,或看 操作指南 里的获客分工。不用一直守着刷这个页。
上面是空的:说明还没分给你 —— 找运营开一批,或看 操作指南 里的获客分工。不用一直守着刷这个页。
客户画像 实战校准 近 {{apolloCalib.window_days}} 天真实回复数据,已自动注入打分
{{apolloCalib.aggregate.total}} 已外联 · {{apolloCalib.aggregate.positive}} 有回应
{{e.verdict==='boost'?'↑':'↓'}} {{e.value}} · {{e.positive}}/{{e.n}}
获客漏斗 近 {{apolloFunnel.window_days}} 天 · Apollo + Hunter 合并 · 点档位直达名单
AI 花费 ${{apolloFunnel.cost.llm_usd}}
· 每合格 ${{apolloFunnel.cost.per_qualified}}
· 每回复 ${{apolloFunnel.cost.per_reply}}
{{st.n.toLocaleString()}}
{{st.label}}
S {{st.tiers.S}}
A {{st.tiers.A}}
B {{st.tiers.B}}
C {{st.tiers.C}}
{{(st.rate*100).toFixed(0)}}%
OK
!
{{i+1}}
{{s.label}}
正在获客中,可离开页面,回来继续看…
{{canOperate?'① 新建获客批次':'选择获客批次'}}
方式一 · 按 客户画像 搜索
已选 {{apollo.form.target_regions.length}} 个
{{g.group}}
填这些等于把你外贸经验喂给 AI——它会从你真实的好客户反推 客户画像,而不是只看你官网自夸。
典型买家:经销商 / POS 系统集成商 / 零售连锁采购 / 学校采购 / 教育分销 / 母婴玩具品牌;典型场景:POS 收银、数字标牌、餐饮点餐、课堂教学、母婴零售。
典型买家:经销商 / POS 系统集成商 / 零售连锁采购 / 学校采购 / 教育分销 / 母婴玩具品牌;典型场景:POS 收银、数字标牌、餐饮点餐、课堂教学、母婴零售。
直接从客户库选择:资料完整时可直接生成 ICP;资料不足时再补充背调。不需要重复手填公司资料。
{{sc.name||'未命名客户'}} {{sc.research?'背调完成':'CRM 资料'}}
选择真实客户反推 ICP
推荐选 3–5 个已成交、具有代表性的客户;可直接使用现有资料,也可先补充背调。
正在背调 {{apolloIcpCustomers.selected.size}} 个客户
背调在后台并行执行,完成后会自动把报告作为证据生成 ICP 和 LinkedIn 筛选条件。
{{lead.company||lead.name||lead.email}}
正在加载客户库…
{{apolloIcpCustomers.error}}
没有匹配客户。可以切换“全部客户/询盘”或搜索公司名。
已选 {{apolloIcpCustomers.selected.size}} / 5
{{apolloIcpCustomers.error}}
方式二 · 导入 LinkedIn URL(如 Voyager 抓的)—— 按 URL 逐个富化,只为要联系的人付钱
{{apollo.error}}
没有符合条件的批次
共 {{apollo.managedRuns().length}} / {{apollo.runs.length}} 个批次管理员可删除历史批次
公司画像
{{apollo.run.insight.company?.name||'-'}} {{apollo.run.insight.company?.headline||''}}
核心价值主张
- {{v.text}} 未佐证 有引用
主打产品
{{p.name}}— {{p.value_prop}}
理想客户画像
{{apollo.run.insight.icp.target_customer}}
决策人角色
{{t.text}}
-
目标行业
{{t.text}}
-
公司规模
{{apollo.run.insight.icp?.company_size_range||'-'}}
地理重点
{{(apollo.run.insight.icp?.geo_focus||[]).join(' / ')||'-'}}
买家类型(供应链角色)
{{buyerTypeLabel(b)}}
应用场景(细分用途)
{{a.text}}
必备认证
{{c}}
价格定位 / 订单
{{({premium:'高端',mid:'中端',value:'性价比'}[apollo.run.insight.icp.order_profile.price_tier]||apollo.run.insight.icp.order_profile.price_tier)}} · {{apollo.run.insight.icp.order_profile.moq_fit}}{{apollo.run.insight.icp.order_profile.notes}}
购买信号(该现在打的时机)
- {{t}}
买家委员会(找谁、怎么说)
采购找货
{{apollo.run.insight.icp.buying_committee.sourcing.join('、')}}
工程定规格
{{apollo.run.insight.icp.buying_committee.technical.join('、')}}
老板签字
{{apollo.run.insight.icp.buying_committee.economic.join('、')}}
硬排除(直接踢掉)
- {{d}}
客户画像 分析完成 —— 确认后进入下一阶段:编辑 Apollo 搜索条件、预览命中,再抓取联系人。
② Apollo 筛选条件
{{apollo.run.filters_confirmed?'已确认':'待确认'}}
下一批建议 基于已外联客户的真实回复,点即应用到上方筛选
{{w.msg}}
预览失败:{{apollo.preview.error}}
当前筛选为空,填至少一项再预览。
这套过滤词预计命中 {{apollo.preview.total_entries}} 人
—— 少于 {{apollo.preview.min_pool}} 人,系统会自动放宽过滤(脱掉关键词/资历/规模)把池子撑大,实际会拉进更宽、可能跑偏的人。建议放宽行业词或地区,别靠系统偷偷放宽。
—— 够撑起一批,不会被自动放宽。命中越精越好。
③ 获客进度
进行中,可离开页面稍后回来看
已完成
{{apolloRunPhase.label}}
{{apolloRunPhase.sub}}
{{apolloEventLabel(e.type)}}
· 抓 {{e.fetched}}
· 新增 {{e.inserted}}
· 去重 {{e.global_duplicates}}
· 合格 {{e.qualified}}
{{e.detail}}
本轮获客完成
本批次 {{apollo.total||apollo.prospects.length||0}} 位潜在客户已入库(跨批次全局去重)。接下来的链路:分配业务员 → 复核 / 转询盘 → 发起触达。
本次扫描
{{apollo.run.raw_fetched||0}}
历史重复
{{apollo.run.global_duplicates||0}}
首次发现
{{apollo.run.novel_count||0}}
AI 淘汰
{{apollo.run.screened_out||0}}
最终合格
{{apollo.run.total_prospects||0}}
扫描页码:首页 1 + 深层 {{apollo.run.scan_start_page||1}}–{{apollo.run.scan_end_page||apollo.run.scan_start_page||1}}
深层游标已推进,下次从第 {{apollo.run.cursor_next_page||1}} 页继续;每天仍检查第 1 页的新进入者。
{{apollo.run.search_errors}} 个分页抓取失败,失败页将在下次自动补抓。
批次:
{{apollo.runSourceLabel(apollo.run)}}
本批次 {{apollo.total||apollo.prospects.length||0}} 人
共 {{apollo.runs.length}} 个批次
本批已转询盘 {{apollo.outcomes.promoted}} · 已互动 {{apollo.outcomes.engaged}} · 成交 {{apollo.outcomes.won}}
暂无筛选通过的潜在客户 — 确认条件并开始获客后出现。
暂无公司数据 — 点「刷新」或切回列表视图。
{{a.company_name}}
{{a.contact_count}} 联系人 ·
{{a.has_decision_maker?'含决策人':'缺决策人'}} ·
{{a.multi_threaded?'多线程':'单点'}}
· {{c.full_name}} — {{c.title}} {{c.fit_tier}}{{c.fit_score}}
全选本页 · {{apollo.prospects.length}} 人
↓↑
{{p.priority_score}}
推荐
待复核
{{p.crm_status==='won'?'已成交':p.crm_status==='won_account'?'客户公司':'已在库'}}
{{p.title}} · {{p.company_name}}
已转 ✓
邮箱✓
{{(p.email_status==='placeholder'||p.email_status==='locked')?'邮箱锁定':'无邮箱'}}
{{({untouched:'未触达',researching:'研究中',contacted:'已联系',replied:'已回复',not_fit:'不合适'})[p.touch_status]||p.touch_status||'未触达'}}
{{p.rep_quality||''}}{{p.rep_quality&&p.assigned_to?' · ':''}}{{p.assigned_to?salesUserLabel(p.assigned_to):''}}
{{p.full_name||'—'}}
{{p.priority_score}}
推荐
待复核
可直接触达
{{p.crm_status==='won'?'已成交':p.crm_status==='won_account'?'客户公司':'已在库'}}
LinkedIn ↗
已{{p.linkedin_status==='connected'?'加好友':p.linkedin_status==='messaged'?'私信':'回复'}}
{{p.title}} · {{p.company_name}} · {{p.industry}} · {{p.employee_count}}人
⚡ {{p.signal_summary}}
AI 开场白
复制
重写
{{p.opener}}
{{p.email}}
复制
{{p.email_risk==='role'?'公共邮箱':p.email_risk==='free'?'免费邮箱':p.email_risk==='invalid'?'无效':p.email_risk}}
{{(p.email_status==='placeholder'||p.email_status==='locked')?'邮箱锁定':'无邮箱'}}
{{tg}}×
已转 ✓
键盘:↓ 下一个 · ↑ 上一个 · ↵ 转询盘
左侧还没有人 — 调整筛选条件或点「刷新」。
第 {{apollo.page}} / {{apolloTotalPages}} 页 · 共 {{apollo.total}} 人
触达序列审批 Email 手臂
为合格潜在客户生成的邮件序列(草稿)在此人工审批 → 加入发送队列。资格闸已拦掉已是客户/已在询盘池/已退订的人。自动发送
{{outreachQueue.auto_send?'已开启':'已关闭'}} ·
日上限 {{outreachQueue.daily_cap}} · 今日已发 {{outreachQueue.stats.sent_today||0}} · 客户一回信后续步骤自动停发。
上次生成:{{apolloOutreach.lastResult}}
还没有触达序列。勾选合格潜在客户点「生成触达序列」,或上面「生成全部合格」。
| 潜在客户 | 邮件步骤 | 质量 | 状态 / 操作 |
|---|---|---|---|
|
D{{e.send_day!=null?e.send_day:(ei===0?0:ei===1?3:7)}}
{{e.subject}}
{{e.body_text||e.body}}
|
{{s.review_score}} |
{{hunterStatusLabel(s.status)}}
已入队
|
EMEmail + LinkedIn 触达
把邮件首触达、未回复升级、LinkedIn 加好友和两条通道的转化放在独立工作台。先检查规则,再预览候选,最后决定是否执行。
Email 日上限
{{outreachQueue.daily_cap||30}} 封
未回复等待
{{(orchestrate.cfg&&orchestrate.cfg.escalation_days)||3}} 天
最低匹配度
{{(orchestrate.cfg&&orchestrate.cfg.min_fit)||70}} 分
LinkedIn 日上限
{{(orchestrate.cfg&&orchestrate.cfg.daily_connect_cap)||15}} 人
Email + LinkedIn 触达工作台
双通道设置
邮件先触达;达到等待时间且仍未回复的高匹配潜在客户,再进入 LinkedIn 加好友队列。
1Email 首次触达
{{outreachQueue.auto_send?'自动发送已开启':'自动发送已关闭,邮件需人工审批'}}
{{outreachQueue.daily_cap||30}} 封
自动发送开关保留在系统设置,避免在业务操作中误开启。
2升级条件
两项条件同时满足才进入 LinkedIn
{{(orchestrate.cfg&&orchestrate.cfg.escalation_days)||3}} 天
{{(orchestrate.cfg&&orchestrate.cfg.min_fit)||70}} 分
3LinkedIn 执行 测试中
{{orchestrate.cfg&&orchestrate.cfg.enabled?'执行主闸已开启':'执行主闸已关闭,仅可预览'}}
{{(orchestrate.cfg&&orchestrate.cfg.daily_connect_cap)||15}} 人
主闸仍在下方账号池单独控制;保存规则不会自动开启执行。
触达编排 Email → LinkedIn 升级 🧪 测试中
LinkedIn 触达仍在测试中,暂未开放 —— 可预览候选,但不执行加好友(执行器需真实登录小号+养号后才能发出)。Email 触达不受影响。
邮件发出后等 {{(orchestrate.cfg&&orchestrate.cfg.escalation_days)||3}} 天仍没回信的高匹配(匹配度≥{{(orchestrate.cfg&&orchestrate.cfg.min_fit)||70}})潜在客户,自动升级到 LinkedIn 加好友。每天新加好友上限 {{(orchestrate.cfg&&orchestrate.cfg.daily_connect_cap)||15}}(爬坡旋钮,防灌爆)。执行器负责工作时段+抖动的发送节奏。
总闸{{orchestrate.cfg&&orchestrate.cfg.enabled?'已开':'未开(执行=仅预览)'}}。
预览:{{orchestrate.result.candidates||0}} 个候选可升级
已升级 {{orchestrate.result.escalated||0}} 个到 LinkedIn connect
今日预算 {{orchestrate.result.budget.used_today||0}}/{{orchestrate.result.budget.daily_cap||0}}
跳过 {{orchestrate.result.skipped.length}} 个
匹配度 {{c.fit_score}}
没有到期未回信的候选 — 邮件还没发满 {{(orchestrate.cfg&&orchestrate.cfg.escalation_days)||3}} 天,或都已回信/已在库/已升级。
双通道漏斗 Email vs LinkedIn · 度量飞轮
两条触达腿的转化对比,回信率驱动「该加大哪条腿」的判断。
{{channelFunnel.rec.text}}
{{ch.label}}
回信率 {{funnelPct((channelFunnel.data[ch.k]||{}).reply_rate)}}
{{st.label}}
{{st.n}}
成交率(回信→成交){{funnelPct((channelFunnel.data[ch.k]||{}).win_rate)}}
点 加载漏斗数据。
账号与治理
LinkedIn 账号池 LinkedIn 手臂 · 执行器 🧪 测试中
LinkedIn 触达测试中,暂未开放 —— 执行器需真实登录小号+养号才能发出好友请求,建号已暂锁。
每个 LinkedIn 账号一个外部执行器进程(隔离爆炸半径)。建号后把明文执行器 token 配给对应执行器,它凭 token 领任务/回报事件。风控事件(captcha/警告)会自动冻结该号。
周 connect 上限 / 日私信上限逐号可调;匹配度 ≥ {{liPool.config.min_fit}} 才给 LinkedIn 腿,租约 {{liPool.config.lease_minutes}} 分钟。
主闸 {{liPool.config&&liPool.config.enabled?'已开':'已关'}} · 技术运维控制
主闸未开 — 已有 {{liPool.accounts.length}} 个账号,但执行器现在领不到任务。确认单号预热干净后再开主闸。
账号已建 · 执行器 token(明文仅此一次,请立即配给执行器并妥善保存)
{{liPool.newToken}}
新号默认爬坡建议:15→40→80 connect/周,工作日 9–18 点带抖动。先 1 号试点 2 周干净再进池。
池子空 — 点「+ 建号」注册第一个 LinkedIn 账号,把生成的 token 配给执行器。
| 账号 | 状态 | 本周 connect | 今日私信 | token | 心跳 | 操作 |
|---|---|---|---|---|---|---|
| {{a.status==='active'?'活跃':a.status==='frozen'?'已冻结':a.status}} |
{{a.week_connect_used||0}} / {{a.weekly_connect_cap}}
|
{{a.day_message_used||0}} / {{a.daily_message_cap}}
|
{{a.executor_token}} |
{{liHeartbeatAgo(a.last_heartbeat)}} |
退订名单 误退订撤销
退订/硬退信的地址在此不再被发送。若回信桥误判(如把「稍后联系」当退订),可撤销恢复。
{{suppress.loaded?'退订名单为空 — 没有被抑制的地址。':'点「刷新」查看退订名单。'}}
| 地址 / 域名 | 原因 | 时间 | 操作 |
|---|---|---|---|
| {{s.email_or_domain}} | {{s.reason==='unsubscribe'?'退订':s.reason==='hard_bounce'?'硬退信':s.reason}} | {{formatChinaDateTime(s.created_at)}} |
Token 监控中心
每次 LLM 调用都按 task / model / user / hunt run 落库。成本按公开定价表实时计算。
加载失败:{{tokens.error}}
{{backupHealthIcon}} 数据备份
本地:{{backupHumanAge(backupStatus.backup.age_hours)}}
· {{backupStatus.backup.size}}
· 过期(应 ≤24h)
从未备份过
异地(Hostinger):{{backupHumanAge(backupStatus.offsite.age_hours)}}
· 过期
异地:未配置
本地快照:{{backupStatus.local_snapshots?.count||0}} 个
{{tokens.windowLabel}} · 调用
{{(tokens.data?.totals?.calls)||0}}
错误 {{(tokens.data?.totals?.errors)||0}}
{{tokens.windowLabel}} · 总 tokens
{{tokensFmt((tokens.data?.totals?.total_tokens)||0)}}
in {{tokensFmt((tokens.data?.totals?.input_tokens)||0)}} · out {{tokensFmt((tokens.data?.totals?.output_tokens)||0)}}
{{tokens.windowLabel}} · 美元成本
${{(tokens.data?.totals?.cost_usd||0).toFixed(4)}}
≈ ¥{{((tokens.data?.totals?.cost_usd||0)*7.2).toFixed(2)}}
今天
${{(tokens.data?.windows?.today?.cost_usd||0).toFixed(3)}}
{{(tokens.data?.windows?.today?.calls)||0}} 次 · {{tokensFmt((tokens.data?.windows?.today?.total_tokens)||0)}} tok
本月(30d)
${{(tokens.data?.windows?.month?.cost_usd||0).toFixed(3)}}
{{(tokens.data?.windows?.month?.calls)||0}} 次 · {{tokensFmt((tokens.data?.windows?.month?.total_tokens)||0)}} tok
30 天每日成本
尚无数据
{{tokens.data.daily[0]?.date}}
{{tokens.data.daily[tokens.data.daily.length-1]?.date}}
按模型
尚无数据
| 模型 | 调用 | Tokens | 成本 |
|---|---|---|---|
| {{row.calls}} | {{tokensFmt(row.total_tokens)}} | ${{row.cost_usd.toFixed(4)}} |
按任务
尚无数据
| 任务 | 调用 | Tokens | 成本 |
|---|---|---|---|
| {{tokensTaskLabel(row.key)}} | {{row.calls}} | {{tokensFmt(row.total_tokens)}} | ${{row.cost_usd.toFixed(4)}} |
按用户
尚无数据
| 用户 | 调用 | Tokens | 成本 |
|---|---|---|---|
{{row.key.slice(0,12)}} |
{{row.calls}} | {{tokensFmt(row.total_tokens)}} | ${{row.cost_usd.toFixed(4)}} |
按 Hunt Run(累计 token 成本)
尚无与拓展任务挂钩的调用
| Run ID | 调用 | Tokens | 成本 |
|---|---|---|---|
{{row.run_id.slice(0,16)}}
|
{{row.calls}} | {{tokensFmt(row.total_tokens)}} | ${{row.cost_usd.toFixed(4)}} |
最近调用
加载中…
尚无调用记录
| 时间 | 任务 | 模型 | in/out | 成本 | 延迟 | 状态 |
|---|---|---|---|---|---|---|
| {{homeTimeAgo(c.ts)}} | {{tokensTaskLabel(c.task)}} {{c.run_id.slice(0,16)}} |
{{tokensFmt(c.total_tokens)}} {{tokensFmt(c.input_tokens)}} / {{tokensFmt(c.output_tokens)}} |
${{c.cost_usd.toFixed(5)}} | {{c.latency_ms}}ms | {{c.status}} |
共 {{tokens.recent.total}} 条记录 ·
第 {{tokens.recent.page}} / {{tokenRecentTotalPages()}} 页 ·
每页 {{tokens.recent.pageSize}} 条
定价参考(USD / 1M tokens · 公开报价)
| Provider | Model ID | Input | Output |
|---|---|---|---|
| {{p.provider}} | {{p.model_id}} |
${{p.input_per_1m.toFixed(2)}} | ${{p.output_per_1m.toFixed(2)}} |
未知模型按 $0 计费(不会阻断记录)。要更新价格修改
app/llm_pricing.py。{{runs.error}}
成功率
{{((runs.summary.success_rate||0)*100).toFixed(0)}}%
{{runs.summary.completed||0}} / {{runs.summary.total||0}} 完成
完成 {{runs.summary.completed||0}}
其他 {{(runs.summary.total||0)-(runs.summary.completed||0)}}
成本
${{(runs.summary.avg_cost_usd||0).toFixed(4)}}平均单次
累计
${{(runs.summary.sum_cost_usd||0).toFixed(4)}}
总数
{{runs.summary.total||0}}
{{runs.days}} 天
平均轮数
{{runs.summary.avg_iterations||0}}上限 {{auto.budget.max_iterations}}
0{{auto.budget.max_iterations}}
平均时长
{{autoSecs(runs.summary.avg_seconds||0)}}
累计 {{tokensFmt?tokensFmt(runs.summary.sum_tokens||0):runs.summary.sum_tokens}} tokens
预算停止
{{runs.summary.budget_stopped||0}}
触顶预算
{{runs.summary.budget_stopped||0}} / {{runs.summary.total||0}} 触顶 · {{runs.summary.paused||0}} 暂停
RP
这个时间段内没有运行记录
去 AI 对话开启「连续执行」试一下,run 会自动出现在这里
运行明细
| 时间 | 模型 | 用户指令 | 状态 | 轮数 | Tokens | 成本 | 时长 | 结束原因 | |
|---|---|---|---|---|---|---|---|---|---|
| {{formatChinaMonthDayTime(run.created_at)}} | {{run.model_id||'-'}} | {{run.user_message||'-'}} | {{run.status==='ok'?'成功':'错误'}} | {{run.iterations||0}} | {{tokensFmt(run.tokens_total||0)}} | ${{(run.cost_total||0).toFixed(4)}} | {{autoSecs(run.elapsed_sec||0)}} | {{run.terminal_reason==='task_complete'?'正常结束':(String(run.terminal_reason||'').indexOf('tokens')===0?'预算触顶':(String(run.terminal_reason||'').indexOf('iterations')===0?'轮数触顶':(run.terminal_reason||'-')))}} | 查看回放 › |
Microsoft Clarity 体验诊断
无侵入接入 Clarity 后,可看死点击 / 怒点 / 快退等"用户挫败信号"。每天每个项目配额 10 次远程拉取,本地缓存 {{clarity.quota?.cache_ttl_minutes||60}} 分钟。
{{clarity.quota.configured?'已配置':'未配置'}}
今日已用 {{clarity.quota.calls_today||0}} / {{clarity.quota.daily_ceiling||10}}
缓存 {{clarity.quota.cache_ttl_minutes||60}} 分钟
{{clarity.error}}
会话
{{clarity.summary.sessions||0}}
独立用户
{{clarity.summary.distinct_users||0}}
死点击
{{clarity.summary.dead_clicks||0}}
怒点击
{{clarity.summary.rage_clicks||0}}
快退
{{clarity.summary.quick_backs||0}}
数据时间:{{clarity.summary.fetched_at}} · {{clarity.summary.cached?'缓存命中':'实时'}}
TOP 死点击页面
| 页面 | 次数 |
|---|---|
| {{p.value||0}} |
CL
暂无数据 — 有询盘进来后自动生成TOP 怒点击页面
| 页面 | 次数 |
|---|---|
| {{p.value||0}} |
CL
暂无数据 — 有询盘进来后自动生成Clarity 接入指南
完整接入分为两部分:网站追踪代码负责采集行为,Data Export API Token 负责把数据读进本系统。两部分都要完成。
- 打开 Microsoft Clarity,登录后创建项目,网站填写你的独立站域名。
- 进入项目的 Settings → Setup,复制 Tracking code,安装到网站所有页面的
<head>。WordPress 也可使用官方 Clarity 插件完成安装。 - 回到 Settings → Data Export,生成 API Token;同时从项目地址或设置页复制 Project ID。Token 属于密钥,不要发到聊天或截图中。
- 在本系统进入 第三方连接 → 数据分析,填写
Clarity API Token和Clarity Project ID,保存后回到本页点击“强制刷新”。
打开 Clarity 后台
配置密钥需要技术管理员权限。
验证标准:Clarity 后台出现录屏或热力图;本页状态变为“已配置”;强制刷新后出现会话、死点击、怒点击等指标。新装追踪代码后通常需要等待真实访问产生数据。
页面摩擦 × 询盘转化(7.1+7.2)
rage/dead click × leads.landing_page 关联。"高摩擦 + 有买家"是改造 投入产出 最高的页面 — 用户被设计气到但仍下询盘
点击"分析"开始
{{w}}
摩擦页面
{{clarityXLeads.totals?.pages_with_friction||0}}
有询盘页
{{clarityXLeads.totals?.pages_with_inquiries||0}}
金象限
{{clarityXLeads.totals?.pages_in_gold_quadrant||0}}
★ 金象限:高摩擦 + 有买家(改造 投入产出 最高)
{{r.url}}
rage {{r.rage_click_sessions}}
dead {{r.dead_click_sessions}}
询盘 {{r.inquiries}}
A+B {{r.qualified_inquiries}}
完整优先级清单 (TOP 30)
| URL | Rage | Dead | 询盘 | 优先级 |
|---|---|---|---|---|
| {{r.rage_click_sessions||'—'}} | {{r.dead_click_sessions||'—'}} | {{r.inquiries||'—'}} | {{r.priority_score}} |
Schema.org 结构化数据覆盖率
站内文章是否被 Google / AI 引擎当作"结构化知识"识别。注入 Schema 后富文本片段、AI Overview 引用率显著提升。
{{schemaState.error}}
B2B 产品识别码 · GTIN / MPN / SKU
工业品 B2B 搜索(Google Shopping / Perplexity / ChatGPT 产品查询)依赖三组识别码精确匹配:
gtin · 全球贸易识别码EAN-13/UPC-A/ITF-14。按位数自动选 gtin8/12/13/14。
绝不要用 model 假填 GTIN — Google Search Console 会拒收。
绝不要用 model 假填 GTIN — Google Search Console 会拒收。
mpn · 制造商型号如
MTK8788-WT01-R2。决定跨平台同款匹配,B2B 询价的关键。未填则 fallback 到 model。sku · 内部 SKU企业内部存货识别码。可与 mpn 不同(同一型号、不同包装/版本)。未填则 fallback 到 model。
配置方式:在 WP 产品 CPT 的 ACF / 自定义字段里命名为
gtin / mpn / sku(全小写)。下次注入 Product Schema 时自动包含,无需改本系统。
基于最近 {{schemaState.coverage.sample_size}} 篇已发布文章。每行进度 = 已识别该 Schema 类型的文章占比(我们注入的 + 外部插件如 RankMath / Yoast 都算)。
静态站点:按线上页面实际输出统计(BlogPosting 等亚型计入 Article),{{schemaState.coverage.live_fetch_failures}} 篇抓取失败已退回正文统计。
⚠ 线上页面全部抓取失败(超时或被 CDN 拦截),以下按 WP 正文统计——静态站点下不代表线上实际输出。
{{t}} · {{info.count}}/{{schemaState.coverage.sample_size}}
{{Math.round((info.rate||0)*100)}}%
单篇文章 Schema 体检
{{schemaState.audit.notes}}
已识别类型:
{{t}}
无
已保存、等待线上重建:
{{t}}
推荐注入:
需 admin 权限才能注入
该文章 Schema 已完整覆盖
最近 {{schemaState.coverage.posts.length}} 篇文章 Schema 状态
| 标题 | 已有类型 | 动作 |
|---|---|---|
| {{p.title||'(无标题)'}} ID {{p.post_id}} |
{{t}} 无 |
最近注入记录
| 时间 | 文章 | 类型 | 状态 | 触发 |
|---|---|---|---|---|
| {{formatChinaDateTime(r.created_at)}} | {{r.post_id}} | {{r.schema_type}} | {{SCHEMA_LOG_STATUS_LABEL[r.status]||r.status}} | {{r.triggered_by||'-'}} |
{{aeoState.error}}
AI 引用可见度{{aeoState.summaryDays}} 天
{{aeoVisibilityScore}}/100
{{aeoVisibilitySummary}}
数据可信度:{{aeoVisibilityConfidence.label}}
引用命中
{{aeoCitationHits}}
共执行 {{aeoVisibility?.overall?.checks||0}} 次平台检查
被引用页面
{{aeoCitedPageCount}}
已识别的站内 AI 引用资产
监控问句
{{aeoMonitoredQueryCount}}
其中 {{aeoVisibility?.blind_spots?.length||0}} 个属于低可见度缺口
AI 爬虫访问
{{aeoBotTraffic?.total||0}}
最近 {{aeoState.summaryDays}} 天访问站点的 AI 爬虫
页面读取 SQLite 监控记录,打开页面不会逐条调用外部 AI。
最近检查:{{aeoLatestCheckLabel}}
平台表现
统一查看真实回答、搜索结果和模拟基线。没有样本的平台会明确显示待采集。
{{engine.mark}}
{{engine.label}}
{{engine.kind}}
{{engine.hasData?engine.ratePct:'-'}}%
{{engine.hasData?(engine.cited+' 次引用'):'待采集'}}{{engine.checks}} 次检查
最有价值的引用页面
这些页面已经被 AI 当作信息来源,优先维护内容新鲜度和站内链接。
{{aeoShortUrl(p.url)}}
{{p.citations}} 次引用
还没有识别到被引用页面。先添加买家问句,再执行一次真实平台采集。
下一步该做什么
优先处理没有引用或被竞品持续占据的买家问题。
{{q.query}}
当前引用率 {{Math.round((q.rate||0)*100)}}%。{{q.action}}
当前没有明显盲点。保持已被引用页面更新,并继续扩大监控问句覆盖。
样本不足。点击“立即采集”建立第一批真实可见度数据。
主要引用竞争者
{{c.host}} {{c.count}}
AEO / GEO · AI 引擎可见度
追踪买家在 ChatGPT / Perplexity / Gemini 提问时是否引用 wintouchcn.com,并从三条线优化:① 引用监控 · ② 内容可引用性 · ③ AI 可发现性。
{{aeoState.error}}
总引用率
{{aeoVisibility?Math.round((aeoVisibility.overall?.rate||0)*100):'—'}}%
{{aeoVisibility?(aeoVisibility.overall?.cited||0)+' / '+(aeoVisibility.overall?.checks||0)+' 次命中':'见下方评估'}}
盲点 query
{{aeoVisibility?(aeoVisibility.blind_spots?.length||0):'—'}}
引用率 < 20%
强 query
{{aeoVisibility?(aeoVisibility.strong?.length||0):'—'}}
引用率 ≥ 60%
AI 爬虫来访 · 30d
{{aeoBotTraffic&&aeoBotTraffic.total!=null?aeoBotTraffic.total:'—'}}
GPTBot / ClaudeBot…
1
引用监控
买家问 AI 时,会不会引用你
{{engine==='tavily'?'Tavily 真实搜索':'LLM 模拟回答'}}
{{aeoEngineRateLabel(engine)}}
{{aeoEngineCount(engine,'cited')}} / {{aeoEngineCount(engine,'checks')}}
趋势需 ≥2 天数据
最近 {{aeoState.summaryDays}} 天 · {{engine==='tavily'?'被搜索结果引用':'被模拟答案提及'}}
模拟通道:用本地模型代答估算,不等于真实 ChatGPT/Perplexity/Gemini 的答案,仅作趋势参考。真实引用以 Tavily 通道为准。
✓ 真实通道:基于实际搜索结果,可作决策依据。
0% 引用 · 被这些抢了:
{{c.host}}
引用度可见性评估
综合 overall + per-query + 谁挤了我们 + 行动清单
点击"刷新评估"开始
盲点 query + 行动建议
"{{q.query}}"
{{Math.round(q.rate*100)}}% · {{q.cited}}/{{q.checks}}
{{q.action}}
挤走我们引用的竞品 TOP
{{c.host}} · {{c.count}} 次
你最被 AI 引擎引用的页面
按 cited_url 聚合最近 30 天的命中。这些页面是你的 AEO 资产 — 优先维护、参考结构去补其他差页。
点击"刷新"加载
最近 30 天还没记录到任何"我们的页面被引用"。先加 query + 跑几次 check。
监控问句(共 {{aeoState.queries.length}} 条)
| 问句 | 语言 | 优先级 | 最近检查 | 动作 |
|---|---|---|---|---|
{{q.query}} {{q.note}} |
{{q.language||'en'}} {{q.country}} | P{{q.priority}} | {{q.last_checked_at||'从未'}} |
AE
还没有监控问句,添加几条买家会问 AI 的问题最近一次检查:"{{aeoState.lastCheck.query}}"
{{r.engine}}
已引用 (第 {{r.position}} 位)
跳过:{{r.reason}}
错误:{{r.error}}
未引用
竞品:{{r.competitor_cited}}
自动 check 调度
开启后,每 N 小时自动跑所有 query × 所有引擎。开关在「第三方连接 → AEO 自动化」。手动模式下只在你点检查时才跑。
点击"刷新"加载
状态
{{aeoCron.data.enabled?'✓ 已启用':'○ 未启用 (手动模式)'}}
间隔 {{aeoCron.data.interval_hours}}h · 每轮最多 {{aeoCron.data.max_queries_per_run}} query
启用引擎
{{aeoCron.data.engines||'-'}}
上次跑
{{aeoCronFmtAgo(aeoCron.data.last_run_ago_seconds)}}
{{aeoCron.data.last_run_status||'-'}} · {{aeoCron.data.last_queries_checked||0}} query · {{aeoCron.data.errors_last_cycle||0}} 错
下次跑
{{aeoCronFmtAgo(aeoCron.data.next_run_in_seconds, true)}}
2
内容可引用性
你的内容够不够 AI 引用
段落可引用性打分 GEO
逐段评估哪些内容 AI 引用就绪、哪些要改写(答案块 / 自包含 / 可读 / 统计密度 / 独特性)。
{{geoState.passErr}}
⚠ {{geoState.passage.ssr_shell.reason}}
{{geoState.passage.page_score}}
{{geoState.passage.grade}}
{{geoState.passage.citation_ready_count}}/{{geoState.passage.block_count}} 段 AI 引用就绪
中文内容 · 长度阈值已适配,分数仅供参考
✓ 最可引用段落
{{b.score}}{{b.excerpt.slice(0,64)}}…
需改写(最弱)
{{b.score}}{{b.excerpt.slice(0,64)}}…
输入产品/文章 ID,逐段看哪些内容 AI 引用就绪、哪些要改写。
单页 AI 友好度评分
{{aeoState.audit.score}}
{{aeoState.audit.post_title}} ↗
等级 {{aeoState.audit.grade}} · {{aeoState.audit.word_count}} 字
{{aeoState.audit.summary}}
| 检查项 | 权重 | 结果 | 说明 |
|---|---|---|---|
{{c.key}} |
{{c.weight}} | {{c.passed?'通过':'未达标'}} | {{c.reason}} |
llms.txt 清单
AI 爬虫发现协议(llmstxt.org)。生成后上传到站点根目录 wintouchcn.com/llms.txt
共 {{aeoState.llmsText.length}} 字符
{{aeoState.llmsText}}
3
AI 可发现性
爬虫进得来吗、来没来
AI 爬虫准入(robots.txt)
robots.txt 让不让 GPTBot / ClaudeBot / PerplexityBot 进来。
{{geoState.crawlerErr}}
{{geoState.crawler.score}}
{{geoState.crawler.grade}}
{{geoState.crawler.has_sitemap_directive?'已声明 Sitemap':'未声明 Sitemap'}}
⚠ 拦了关键爬虫:{{geoState.crawler.blocked_critical.join(', ')}}
{{c.name}}关键
{{c.status==='blocked'?'禁止':c.status==='partial'?'部分':'允许'}}
- {{r}}
审计 robots.txt 是否放行 GPTBot / ClaudeBot / PerplexityBot 等 AI 爬虫。
AI 爬虫访问监控
18 种 AI bot UA 自动识别。上传 nginx access log CSV 或接入 WP mu-plugin webhook。
点击"刷新"查看 AI 爬虫访问数据
近 {{aeoBotTraffic.window_days}} 天暂无 AI bot 访问记录(或 WP mu-plugin 未接入)
总访问 {{aeoBotTraffic.total}}
{{b.bot_name}} · {{b.count}}
按提供商:
{{p.provider}} · {{p.count}}
最常被抓的 URL
{{p.count}}
内容腐烂检测 · Refresh Queue
把 WP 文章按 GA4 (近 28d vs 上一个 28d) + GSC + 文章年龄分成 Rising / Evergreen / Decaying / Dead 四类,按优先级排序输出该 refresh 的清单。扫描一次约 30-60 秒,会用 1 次 GA4 调用 + 1 次 GSC 调用。
{{decayState.error}}
快照 {{(decayState.snapshot.snapshot_id||'').slice(0,8)}} · {{decayState.snapshot.scanned_at||'-'}}
GA4 {{decayState.snapshot.ga4_available?'已用':'未连'}}
GSC {{decayState.snapshot.gsc_available?'已用':'未连'}}
样本 {{decayState.snapshot.sample_size||0}} 篇
数据质量提示
- {{w}}
诊断模式 · 询盘维度 + 原因
join 询盘 + SERP 威胁 + 竞品新页,告诉你哪些页面流量没掉但询盘掉了,以及可能的原因
点击"重新诊断"开始
扫描窗口 {{decayEnriched.enrichment_window_days}}d
· 询盘维度衰退页 {{decayEnriched.totals_extra?.inquiry_only_decay||0}}
· 有原因诊断 {{decayEnriched.totals_extra?.posts_with_causes||0}}
| 标题 | 衰减 | 询盘 28d | 变化 | 原因 | |
|---|---|---|---|---|---|
|
{{(p.title||p.url).slice(0,60)}}
流量看似稳定但询盘暴跌
|
{{p.decay_class}} | {{p.inquiry_count_curr}} / {{p.inquiry_count_prev}} | +{{p.inquiry_change_pct}}% {{p.inquiry_change_pct}}% — |
无相关信号
{{c.type==='serp_slippage'?'SERP':'竞品'}}
{{c.detail}}
|
AI 改写建议 · post #{{refreshAdvicePostId}}
LLM 生成中...
加载中
解析失败:{{refreshAdvice.parse_error}}
{{refreshAdvice.raw_response}}
{{refreshAdvice.title}}
↗
优先动作
{{refreshAdvice.suggestions.priority_action}}
{{refreshAdvice.suggestions.inline_summary}}
标题改写建议
{{refreshAdvice.suggestions.title_rewrite}}
{{refreshAdvice.suggestions.title_rationale}}
缺失 H2 章节
- {{s}}
CTA 改进
{{refreshAdvice.suggestions.cta_improvement}}
建议补的外部权威链接
- {{l}}
建议加的内链(本站姐妹文)
- {{l}}
{{decayClassLabel(cls)}}
{{decayState.snapshot.distribution?.[cls]||0}}
{{decayClassHint(cls)}}
Refresh 队列{{decayState.filter?' · '+decayClassLabel(decayState.filter):''}}(按优先级降序)
| 优先级 | 文章 | 分类 | 流量 28d / 前 28d | GSC | 状态 | 动作 |
|---|---|---|---|---|---|---|
{{p.priority_score}} |
{{p.title||'(无标题)'}}
ID {{p.post_id}} · 已 {{p.signals?.age_days||0}} 天 · 上次改 {{p.signals?.days_since_modified||0}} 天前
{{p.reasons.join(';')}}
|
{{decayClassLabel(p.decay_class)}} 被抢 {{p.cannibalization.stolen_count}} winner {{p.cannibalization.stealing_count}} ↕ mixed |
{{p.signals?.views_28d||0}} / {{p.signals?.views_prev_28d||0}}
{{decayTrendLabel(p.signals)}}
|
点 {{p.signals?.gsc_clicks_28d||0}} · 印 {{p.signals?.gsc_impressions_28d||0}}
位置 {{(p.signals?.gsc_avg_position||0).toFixed(1)}}
|
AEO {{p.signals.aeo_score}} 无 AEO 数据 |
{{p.action}}
|
DC
尚未运行扫描 · 点"重新扫描"开始监控关键词
{{serpState.dashboard?.total_keywords||0}}
TOP 3
{{serpState.dashboard?.buckets?.top3||0}}
TOP 10
{{serpState.dashboard?.buckets?.top10||0}}
TOP 30
{{serpState.dashboard?.buckets?.top30||0}}
未上榜
{{serpState.dashboard?.buckets?.not_ranking||0}}
从未检查
{{serpState.dashboard?.buckets?.never_checked||0}}
词重叠扫描(Cross-Page Audit)
扫 GSC 找出你自己的 2+ 页面在抢同一个查询的情况 —— 票被分,谁也排不上。基于过去 28 天 GSC 数据,1 次 API 调用。
{{cannib.error}}
窗口 {{cannib.data.start_date}} → {{cannib.data.end_date}} ·
发现 {{cannib.data.total_conflicts}} 个冲突查询 ·
严重 {{cannib.data.severity_breakdown.severe}} ·
中等 {{cannib.data.severity_breakdown.moderate}} ·
轻微 {{cannib.data.severity_breakdown.mild}}
{{c.query}}
{{cannibSevLabel(c.severity)}}
{{c.page_count}} 页竞争 · {{c.total_clicks}} 点击 / {{c.total_impressions}} 印象 ·
winner 占 {{Math.round(c.winner_share*100)}}%
winner
{{cannibShortPath(c.winner.page)}}
· pos {{c.winner.position}} · {{c.winner.clicks}} 点击 / {{c.winner.impressions}} 印象
竞争者
{{cannibShortPath(p.page)}}
· pos {{p.position}} · {{p.clicks}} 点击 / {{p.impressions}} 印象
建议: {{c.recommended_action_label}}
✓ 未发现词重叠 — 你的每个查询都有一个明确的 owner page
点上方 扫描词重叠 开始
SERP 排名追踪
主动查 Google 排名 — 验证 AEO/Schema/Decay 工作有没有真把关键词排名拉上去。每次检查 1 次 Serper API 调用(免费 2500/月)。
SERPER_API_KEY 未配置 — 你已经在 Hunter 模块用了 Serper,只需重启服务即可。免费 2500 次/月足够。
上次批量检查:
扫描 {{serpState.bulkResult.scanned}} 条 ·
TOP3 {{serpState.bulkResult.counters?.top3||0}} ·
TOP10 {{serpState.bulkResult.counters?.top10||0}} ·
TOP30 {{serpState.bulkResult.counters?.top30||0}} ·
未上榜 {{serpState.bulkResult.counters?.not_ranking||0}}
· {{serpState.bulkResult.errors.length}} 错误
7 天涨幅 TOP
还没有足够数据计算趋势
#{{m.latest_position}}
↑{{Math.abs(m.delta_7d)}}
7 天跌幅 TOP
没有掉位的关键词,稳!
#{{m.latest_position}}
↓{{m.delta_7d}}
机会关键词 · 排名 11-20,距第一页一步
这些关键词改造 投入产出 最高 — 小幅外链或内容刷新就能挤上第一页。绿色 = 7 天在变好,红色 = 7 天在变差。
| 关键词 | 市场 | 位次 | 距首页 | 7d | 机会分 | |
|---|---|---|---|---|---|---|
| {{op.keyword}} | {{op.market}} | #{{op.latest_position}} | 还差 {{op.distance_to_page_one}} 位 | — ↑{{Math.abs(op.delta_7d)}} ↓{{op.delta_7d}} ±0 |
{{op.opportunity_score}}
|
SERP 特性触发
AI 概览出现 = 自然点击率掉 30-50%。优先重点关注被 AI 概览覆盖的关键词。
AI 概览 · {{serpState.dashboard.features_summary.counters.has_ai_overview}}
People Also Ask · {{serpState.dashboard.features_summary.counters.has_paa}}
知识图谱 · {{serpState.dashboard.features_summary.counters.has_knowledge_graph}}
答案框 · {{serpState.dashboard.features_summary.counters.has_answer_box}}
购物 · {{serpState.dashboard.features_summary.counters.has_shopping}}
视频轮播 · {{serpState.dashboard.features_summary.counters.has_video_carousel}}
相关搜索 · {{serpState.dashboard.features_summary.counters.has_related_searches}}
被 AI 概览覆盖的关键词(高优先级)
{{kw.keyword}}
#{{kw.position||'—'}}
竞品同关键词对照
每个关键词:你的位次 vs 监控的竞品的位次,直观看出 head-to-head 战况
点击"加载对照"开始
暂无监控关键词
| 关键词 | 你 |
{{c.name}}
{{c.domain}}
|
|---|---|---|
| {{r.keyword}} {{r.market}} | — #{{r.our_position}} | — #{{r.competitor_positions[c.domain]}} |
竞品 SERP 威胁(交叉分析)
我们排名跌 + 该关键词 SERP 出现这个竞品 + 竞品近 14 天发了新页 → 可疑因果(非确认)
点击"重算威胁"开始分析
暂无高威胁竞品新页(跌幅 ≥ {{serpThreats.slip_threshold}} 位 + 竞品在列 + 近期发新页)
扫描窗口 {{serpThreats.window_days}}d · 跌幅阈值 ≥{{serpThreats.slip_threshold}} · 命中 {{serpThreats.total}} 个关键词受影响
{{t.keyword}}
{{t.market}} · 当前 #{{t.our_latest_position}}
↓{{t.our_delta_7d}} 位 (7d)
{{s.domain}}
{{s.competitor_name}} · SERP 排名 #{{s.competitor_serp_position}} · {{s.recent_pages_count}} 个新页
{{p.page_type}}
{{(p.title||p.url).slice(0,80)}}
监控的关键词
{{serpState.error}}
SR
还没有监控关键词。点上方"添加关键词"。| 关键词 | 市场/设备 | 排名 | 排名 URL | TOP 1 竞品 | 上次检查 | 操作 |
|---|---|---|---|---|---|---|
|
{{kw.keyword}}
{{kw.notes}}
|
{{kw.market}}
{{kw.device==='mobile'?'':''}}
|
未检查 未上榜 #{{kw.latest.position}} #{{kw.latest.position}} #{{kw.latest.position}} #{{kw.latest.position}} | {{kw.last_checked_at?kw.last_checked_at.slice(0,16).replace('T',' '):'-'}} |
{{serpState.trendModal.keyword?.keyword}}
{{serpState.trendModal.keyword?.market}} · {{serpState.trendModal.keyword?.device}} · {{serpState.trendModal.history?.length||0}} 个数据点
7 天变化
{{serpState.trendModal.delta_7d===null?'-':serpState.trendModal.delta_7d<0?'↑'+Math.abs(serpState.trendModal.delta_7d):serpState.trendModal.delta_7d>0?'↓'+serpState.trendModal.delta_7d:'='}}
30 天变化
{{serpState.trendModal.delta_30d===null?'-':serpState.trendModal.delta_30d<0?'↑'+Math.abs(serpState.trendModal.delta_30d):serpState.trendModal.delta_30d>0?'↓'+serpState.trendModal.delta_30d:'='}}
| 检查时间 | 排名 | URL |
|---|---|---|
| {{r.checked_at?.slice(0,16).replace('T',' ')}} | 未上榜#{{r.position}} |
监控竞品
{{compState.dashboard?.total_competitors||0}}
已知页面
{{compState.dashboard?.total_pages||0}}
高优先级
{{compState.dashboard?.by_priority?.high||0}}
普通
{{compState.dashboard?.by_priority?.normal||0}}
观望
{{compState.dashboard?.by_priority?.watch||0}}
竞品监控
通过 sitemap.xml + RSS 自动发现竞品新发布的产品 / 博客 / Landing 页。零 API 成本,礼貌爬取(标识 UA + 频率限制)。
上次批量扫描:
扫描 {{compState.bulkResult.scanned}} 个竞品 ·
新发现页面 {{compState.bulkResult.total_new_pages}} ·
变更页面 {{compState.bulkResult.total_changed_pages}}
· {{compState.bulkResult.errors.length}} 错误
最近发现的页面 (最新 30 条)
{{page.page_type}}
{{page.competitor_name}}
{{page.first_seen_at?.slice(0,10)}}
监控的竞品
{{compState.error}}
CP
还没有监控竞品。点上方"添加竞品"。| 竞品 | 优先级 | 页面 / 产品 / 博客 | 上次扫描 | 最新发现 | 操作 |
|---|---|---|---|---|---|
|
{{c.name}}
{{c.domain}}
|
{{c.priority==='high'?'高':c.priority==='watch'?'观望':'普通'}} | {{c.page_count}} 页 / {{c.product_count}} 产品 / {{c.blog_count}} 博客 | {{c.last_scanned_at?c.last_scanned_at.slice(0,16).replace('T',' '):'未扫描'}} | {{c.newest_page?c.newest_page.slice(0,10):'-'}} |
{{compState.pagesModal.competitor?.name}} 的页面 ({{compState.pagesModal.pages?.length||0}})
{{compState.pagesModal.competitor?.domain}}
| 类型 | URL / 标题 | 首次发现 | 最近变更 |
|---|---|---|---|
| {{p.page_type}} | {{p.first_seen_at?.slice(0,10)}} | {{p.last_changed_at?p.last_changed_at.slice(0,10):'-'}} |
媒体报道获客工作台
找到记者正在征集的内容,用专家观点和数据争取媒体报道与高质量外链。当前为人工审核模式,不会自动登录或发送到 Qwoted。
{{digitalPR.error}}
Qwoted 连接
本地伴侣执行器仅检测登录和同步机会,不读取或发送 Pitch。
{{a.label}}
{{a.status==='connected'?'执行器在线':'等待执行器'}} · 心跳 {{a.last_heartbeat?a.last_heartbeat.slice(0,19).replace('T',' '):'从未'}}
尚未绑定 Qwoted 伴侣执行器。
Token 仅显示这一次:
{{digitalPR.executorToken}}全部机会
{{digitalPR.data?.total||0}}
待判断
{{digitalPR.data?.counts?.new||0}}
已有草稿
{{digitalPR.data?.counts?.drafted||0}}
已获报道
{{(digitalPR.data?.counts?.published||0)+(digitalPR.data?.counts?.won||0)}}
粘贴记者需求
机会队列
正在加载机会...
PR
还没有媒体机会先从 Qwoted 复制一条真实记者需求进行验证
{{o.title}}
{{o.publication||'媒体待补充'}} · {{o.journalist}} · 截止 {{o.deadline_at.replace('T',' ').slice(0,16)}}
匹配 {{o.fit_score}}
{{digitalPRStatus(o.status)}}
{{o.request_text.length>280?o.request_text.slice(0,280)+'…':o.request_text}}
{{o.recommendation}} · 数据资产分 {{o.stats_page_score}}
Pitch 审核草稿
{{digitalPR.pitchModal.opportunity.title}}。此处只保存草稿,不会对外发送。
发送前需补证据:{{digitalPR.pitchModal.evidenceGaps.join(';')}}
已保存 {{digitalPR.pitchModal.pitches.length}} 个版本
记者数据资产
先生成系统内草稿。只有再次确认,才会创建 WordPress 草稿,永远不会直接发布。
{{digitalPR.assetModal.asset.title}}
/{{digitalPR.assetModal.asset.slug}} · {{digitalPR.assetModal.asset.status==='wp_draft'?'已进 WordPress 草稿':digitalPR.assetModal.asset.status==='publishing'?'需核对 WordPress 远端状态':'系统内草稿'}}
仍缺证据:{{digitalPR.assetModal.evidenceGaps.join(';')}}
为防重复草稿,系统已锁定重试。请先在 WordPress 按 slug 核对。查看 WordPress 草稿
反向链接监控 · 自己 + 竞品
谁外链了你 + 谁外链了竞品。从 GSC 下载 Links CSV → 上传 → 自动 diff 出新增 / 丢失。缺口分析告诉你竞品有但你没有的高 DR 外链机会。
{{blState.error}}
监控目标
{{blState.dashboard.totals?.target_count||0}}
活跃链接
{{blState.dashboard.totals?.active||0}}
已丢失
{{blState.dashboard.totals?.lost||0}}
引荐域
{{blState.dashboard.totals?.referring_domains||0}}
监控目标
BL
还没有监控目标 — 点上方"新增目标"开始| 域名 | 类型 | 活跃 | 丢失 | 引荐域 | DR 分布 | 上次导入 | 操作 |
|---|---|---|---|---|---|---|---|
| {{t.domain}} | {{t.target_type==='self'?'自己':'竞品'}} | {{t.active}} | {{t.lost}} | {{t.referring_domains}} | 70+: {{t.dr_buckets?.['70-100']||0}} 50-69: {{t.dr_buckets?.['50-69']||0}} <50: {{(t.dr_buckets?.['0-29']||0)+(t.dr_buckets?.['30-49']||0)}} | {{(t.last_scanned_at||'-').slice(0,16)}} |
{{blState.selectedOverview.target?.domain}} · 详情
最近丢失(lost)
暂无丢失
TOP 锚文本
{{a.text}} · {{a.count}}
链接 velocity ({{blState.selectedOverview.velocity.days}} 天)
14 日基线 · 新增 {{blState.selectedOverview.velocity.baseline.new_mean}}±{{blState.selectedOverview.velocity.baseline.new_std}}/天
新增
丢失
异常日
{{a.message}}
TOP 收链落地页
| URL | 引荐域 | 链接数 | avg DR | max DR |
|---|---|---|---|---|
| {{p.refdomains}} | {{p.links}} | {{p.avg_dr}} | {{p.max_dr||'-'}} |
高 DR 丢失链 · 可恢复
DR ≥ {{blState.selectedOverview.lost_recoverable.min_dr}} · 共 {{blState.selectedOverview.lost_recoverable.count}} 条
{{b.source_domain}}DR {{b.source_domain_rating}}
→ {{b.target_url||'(未知页)'}} · 丢失于 {{(b.lost_at||'').slice(0,10)}}
锚文本健康度
基于 {{blState.selectedOverview.anchor_health.total}} 条活跃外链
品牌 {{blState.selectedOverview.anchor_health.buckets.brand||0}}%
长尾 {{blState.selectedOverview.anchor_health.buckets.long_tail||0}}%
裸 URL {{blState.selectedOverview.anchor_health.buckets.naked||0}}%
通用 {{blState.selectedOverview.anchor_health.buckets.generic||0}}%
商业 {{blState.selectedOverview.anchor_health.buckets.commercial||0}}%
高风险 ·
注意 ·
✓ {{w.message}}
CSV 导入 → target #{{blState.importTargetId}}
支持 GSC "Top linking sites"导出 / 通用 SEO 工具(Ahrefs/Semrush/Moz)CSV。fuzzy 列名匹配:source_url / source_domain / target_url / anchor_text / domain_rating / rel_type
解析 {{blState.importResult.parsed_rows}} 行 ·
导入 {{blState.importResult.imported_rows}} 条 ·
新增 {{blState.importResult.new}} ·
复活 {{blState.importResult.revived}} ·
未变 {{blState.importResult.unchanged}} ·
丢失 {{blState.importResult.lost}}
错误样本:{{blState.importResult.errors[0]}}
AI 外链周报
读 N 天差异 + 锚文本健康度 + TOP 新增/丢失 → LLM 给可执行建议
{{blState.weekly.error}}
{{blState.weekly.data.domain}} · {{blState.weekly.data.days}} 天 ·
新 {{blState.weekly.data.totals?.new||0}} / 丢 {{blState.weekly.data.totals?.lost||0}}
报告为空(可能 LLM 调用失败或数据不足)
链接缺口分析
竞品有 referring domain 但你没有 → 高 投入产出 外链拓展清单(按 DR 倒序)
vs
选 1 个竞品 → 1v1 投入产出 列表 · 选 ≥ 2 个 → 加权 hit list(几家竞品都链接 = 行业基础站,必须搞)
自己引荐域 {{blState.gap.result.self_referring_count}} ·
竞品引荐域 {{blState.gap.result.competitor_referring_count}} ·
缺口 {{blState.gap.result.gap_count}}
暂无缺口(可能数据不足,或竞品没有你没有的 referring domain)
| 域名 | 竞品数 | 最高 DR | 链接数 | 状态 | 动作 |
|---|---|---|---|---|---|
|
{{g.domain}}
↗
{{g.comp_domains.join(', ')}}
|
{{g.comp_count}}/{{blState.gap.result.competitors.length}} | {{g.max_dr==null?'—':g.max_dr}} | {{g.total_link_count||g.link_count||0}} |
API 密钥与外部凭证
外部服务凭证(搜索 / 抓取 / Clarity / 邮件 / WordPress / 广告)集中管理。保存后即时生效(已注册的 Settings 实例热更新,新模块实例化也会读取此值,无需重启容器)。
来源标签:db = 你刚保存的 · env = .env 里设的 · 空 = 还没配 · LLM 模型 / API key / 默认模型 全在 (这里不再重复);本页只保留「LLM 高级」旋钮(路由 / 兜底 / 预算)
来源标签:db = 你刚保存的 · env = .env 里设的 · 空 = 还没配 · LLM 模型 / API key / 默认模型 全在 (这里不再重复);本页只保留「LLM 高级」旋钮(路由 / 兜底 / 预算)
数据源健康
● {{dataSources.counts.live||0}} 活 ·
● {{dataSources.counts.degraded||0}} 降级 ·
● {{dataSources.counts.dark||0}} 未接
{{s.status==='live'?'':s.status==='degraded'?'':''}}
{{s.label}} {{s.group}}
{{s.detail}}
邮件打开定位库(GeoLite2)
业务员看到的邮件「已打开」记录里,把 IP 解析成「国家 · 地区 · 城市」(离线库,收件人 IP 不出你的服务器)。装库和回填全在这里完成,无需重启容器。
地理库:
已安装
未安装
· {{geoipBuildDate}} · {{formatBytes(geoipDb.status.db_size)}}
License key:
{{geoipDb.status.key_configured?'已配':'未配'}}
打开记录:
{{geoipDb.status.opens.resolved||0}} 已定位 ·
{{geoipDb.status.opens.blank_resolvable||0}} 待回填 · {{geoipDb.status.opens.proxied}} 条 Gmail 代理(不定位)
{{geoipDb.msg}}
MaxMind 免费:注册后在下方 API 密钥面板粘
maxmind_license_key(合规 + 可每月自动刷新);公开镜像免注册、即时,但属转发 MaxMind 库。装库后点「回填」即可把历史打开记录的 IP 一次性解析成地名。
加载失败:{{secretsState.error}}
{{panel.category}}
({{panel.items.length}} 项)
| 字段 | 当前值 | 来源 | 操作 |
|---|---|---|---|
|
{{item.label}}
{{item.hint}}
{{item.key}}
|
{{item.preview}}
(未设置)
|
DB · 用户保存 env · 启动加载 未配 |
|
安全提示:
· 保存的 key 写入本地 SQLite(
· 当前值默认掩码(只显示后 4 位)。点"显"切到明文,记得离开页面前再切回去。
· 留空保存 = 删除 DB 覆盖,会回退到
· 保存的 key 写入本地 SQLite(
app_settings 表),未做加密,生产环境请确保宿主机 / 数据卷不外泄。· 当前值默认掩码(只显示后 4 位)。点"显"切到明文,记得离开页面前再切回去。
· 留空保存 = 删除 DB 覆盖,会回退到
.env 里的值(如果有)。
{{userError}}
销售小组(队)
共 {{teams.length}} 个队 · 未归队 {{teamsUngrouped}} 人(业务员 / 主管 / 运营)
{{t.name}}
{{t.member_count||0}} 人
还没建队 · 用下面的表单加第一个
删队不会删用户;成员只是回到未归队状态
新建用户
业务员/运营建好后可在下表"队"列调整归属。
| 用户名 | 显示名 | 角色 | 队 | 状态 | 最后登录 | 操作 |
|---|---|---|---|---|---|---|
{{u.username}} |
{{u.display_name||'-'}} | — | {{u.status==='active'?'启用':'停用'}} | {{u.last_login_at||'从未'}} |
|
角色说明:查看 = 只读仪表盘/报告;业务员 = 只看自己被分配的询盘 + 本人 客户管理/邮件 AI 对话(写操作在当前会话确认);主管 = + 团队看板 / 业绩榜 / 销售负载(按 team_id 自动过滤,只看本队)+ AI Chat 全部 persona;运营 = + 内容生成、获客编排、自动分配规则 + 跨队;管理员 = + 用户管理、模型/执行器配置、确认发布。
"队"是销售小组的可视化分组,改归属即时生效;不影响询盘自动分配规则(规则的 RR 池仍按显式 user_id 列表)。
停用账号或重置密码会立即吊销该用户的所有登录会话。
"队"是销售小组的可视化分组,改归属即时生效;不影响询盘自动分配规则(规则的 RR 池仍按显式 user_id 列表)。
停用账号或重置密码会立即吊销该用户的所有登录会话。
权限中心
按角色 / 按人开放·关闭功能模块 —— 前端隐藏入口 + 后端 API 拦截{{permState.error}}
绿=开放,灰=关闭。点一下即时切换(该角色下次加载页面入口消失,后端立刻拦截)。
管理员 / 技术不受此表约束;登录、个人账号、工作台、操作指南和权限中心是不可关闭的安全基础面。其余业务模块都可单独控制。「最低 X」= 该模块端点最低需 X 角色,更低角色即便开着也进不去。
管理员 / 技术不受此表约束;登录、个人账号、工作台、操作指南和权限中心是不可关闭的安全基础面。其余业务模块都可单独控制。「最低 X」= 该模块端点最低需 X 角色,更低角色即便开着也进不去。
暂无可配置模块。
| 功能模块 | {{permRoleLabel(r)}} |
|---|---|
| {{g.name}} | |
|
{{m.label}}
|
⚠ 例外只在角色可及范围内收放:强制开只能把「被角色矩阵关掉、但角色本来能进」的模块放回来,无法让低角色进到高角色才能碰的模块(端点地板拦着)。真要跨级 → 改这个人的角色。
加载用户…
暂无可设例外的用户(仅业务员/主管/运营/查看角色可设;管理员·技术恒通)。
{{u.display_name}} {{permRoleLabel(u.role)}} · {{permUserOverrideCount(u.id)}} 例外
{{permUserSelObj.display_name}}({{permRoleLabel(permUserSelObj.role)}}) 的模块例外 —— 每模块三态,右侧是最终生效。
{{m.label}}{{m.category}} · 最低 {{permRoleLabel(m.min_role)}}
{{permUserEff(m.id).txt}}
「以某角色登录会看到什么」—— 配完一眼验收,不用真拿账号登进去。
预览身份:
{{g.name}}
{{m.label}}
{{permHideReason(m)}}
{{permRoleLabel(permPreviewRole)}} 登录后:模块入口 {{permPreviewCounts.visible}} 可见 · {{permPreviewCounts.hidden}} 隐藏。
「管理员关闭」= 权限中心里手动关的;「端点最低需 X」= 该角色本就够不着(非人为)。只有工作台、操作指南和个人账号等安全基础面不在此列。
「管理员关闭」= 权限中心里手动关的;「端点最低需 X」= 该角色本就够不着(非人为)。只有工作台、操作指南和个人账号等安全基础面不在此列。
谁在什么时候改了哪一格 —— 落库,不随重启丢。
加载…
暂无变更记录。
| 时间 | 操作人 | 动作 | 对象 | 模块 |
|---|---|---|---|---|
| {{permFmtTime(a.created_at)}} | {{a.actor||'—'}} | {{permAuditActionLabel(a.action)}} | {{a.target_label||a.target_id||'—'}} | {{a.module_id?permModuleLabel(a.module_id):(a.detail||'—')}} |
谁在撞墙 —— 有人反复被某模块 403,多半是配置误伤(该给的没给),不是坏人。(本进程自启动起累计,重启清零)
加载…
近期无拦截 —— 没人撞墙,配置健康。
| 时间 | 用户 | 角色 | 撞墙模块 | 请求路径 |
|---|---|---|---|---|
| {{permFmtTime(d.ts)}} | {{d.username||d.user_id||'—'}} | {{permRoleLabel(d.role)}} | {{d.module_label}} | {{d.path}} |
一键套用整套角色配置(套用前弹确认列出将变更的项);导入导出便于备份和跨租户复制。
{{p.label}}
{{p.desc}}
导出(当前全部配置 JSON)
导入(粘贴后预览差异再落库)
邮箱采集 · 多收件箱 → 询盘线索
多个业务邮箱独立同步、共用 AI 询盘识别;一个邮箱异常不会影响其他邮箱。
出错:{{emailIngest.error}}
采集邮箱
每个邮箱有独立游标、健康状态和来源归因
尚未添加采集邮箱
{{box.name||box.username}} 主邮箱
{{box.stats?.total||0}}7天处理
{{box.stats?.inquiries||0}}识别询盘
{{formatChinaMonthDayTime(box.last_success_at||box.stats?.last_processed_at)}}最后同步
采集状态
{{emailIngest.inboxes.filter(x=>x.enabled).length}} 个邮箱
{{emailIngest.inboxes.filter(x=>x.health==='error').length?'有邮箱需要处理':'全部账号独立同步'}}
最近 7 天处理
{{emailIngest.status?.stats?.total_in_window||0}}
最后处理 {{formatChinaDateTime(emailIngest.status?.stats?.last_processed_at)}}(中国时间)
累计询盘客户(去重)
{{emailIngest.status?.stats?.unique_inquirers_all_time??emailIngest.status?.stats?.inquiries_all_time??0}}
唯一发件人 ·
已合并 {{emailIngest.status.stats.followup_merges_all_time}} 条回复
无回复合并
轮询间隔
{{Math.round((emailIngest.status?.poll_interval_seconds||300)/60)}}m
各服务商对收件频率有每日限额
收件配置 (收件服务器)
选服务商自动填服务器,填完点「测试 + 保存」,登录成功后会自动写入数据库 + 启用采集,无需改 .env / 重启容器。
密码框填:{{ingestMailProviderHint().pwd}}
{{ingestMailProviderHint().setup}}
发件配置 (发件服务器 · 业务员回信用)
大多数情况下 发件服务器 用户名 / 密码留空 = 复用上面的 收件服务器 凭证。
{{emailIngest.testResult.message}}
怎么拿 App Password:Google 账号 → 安全 → 必须先开 2 步验证 → 然后生成「应用专用密码」(16 位)。直达链接 ↗
保存后立刻生效:写入 app_settings 表 + 热更新已注册的 Settings 实例 + 启用 收件服务器/发件服务器。下一次轮询周期(默认 5 min)就会拉新邮件;立即采集点上面「立即采集一次」。
保存后立刻生效:写入 app_settings 表 + 热更新已注册的 Settings 实例 + 启用 收件服务器/发件服务器。下一次轮询周期(默认 5 min)就会拉新邮件;立即采集点上面「立即采集一次」。
操作
回填: {{emailIngest.status.backfill.status}} · {{emailIngest.status.backfill.processed}}/{{emailIngest.status.backfill.total_messages}} · 找到 {{emailIngest.status.backfill.inquiries_found}} 个询盘
最近一次手动采集: 检查 {{emailIngest.lastPoll.examined}} 封 · 跳过重复 {{emailIngest.lastPoll.skipped_duplicate}} · 找到 {{emailIngest.lastPoll.inquiries}} 个询盘 · 写入 {{emailIngest.lastPoll.leads_created}} 条 lead
最近 7 天分类分布
尚无数据
{{cls}} · {{count}}
抓取日志 — 每封邮件的分类结果,可自查误判
该分类暂无数据
| 时间 | 收件邮箱 | 发件人 | 主题 | 分类 | 置信 | Lead | |
|---|---|---|---|---|---|---|---|
| {{formatChinaMonthDayTime(row.received_at||row.processed_at)}} | {{row.classification}} | {{(row.confidence*100).toFixed(0)}}% | {{row.lead_id.slice(-8)}}— |