Use this reference when the user asks for a 中台、看台、看板、客户统计、建联率、客户数量、渠道分布、邮件发送统计, or wants a more visual view of the outreach workbook.
The dashboard belongs in the skill as a reusable generator, not as customer data.
scripts/dashboard/build_dashboard.pyassets/dashboard_template.htmlassets/dashboard_config.example.jsonruns/YYYYMMDD/<run_id>/customer_dashboard.htmlruns/YYYYMMDD/<run_id>/dashboard_data.jsondashboards/latest/customer_dashboard.htmlDo not put generated dashboards, customer rows, Feishu URLs, tokens, screenshots, or run JSON files into the skill package.
The default source is the local workbook sheet 客户信息汇总表.
Before generating a dashboard after new scraping or write-back work, refresh the summary sheet first:
python scripts/common/build_customer_summary.py --excel "<建联表路径>" --write-summary --run-id "<run_id>"
Then generate the dashboard:
python scripts/dashboard/build_dashboard.py --excel "<建联表路径>" --run-id "<run_id>" --latest-dir "dashboards/latest"
Preview, dry-run, or search-only tasks do not need to refresh the dashboard unless the user asks.
有效客户: rows in 客户信息汇总表 that are not marked as 已剔除, 跳过, 低优先级, or skip_* in status/notes.可建联客户: valid customers with at least one email, phone/WhatsApp, website, Facebook, LinkedIn, or Google Maps entry.已建联客户: valid customers whose status or notes include 已发送邮件, 已发邮件, 邮件已发送, 邮件发送成功, 已发私信, 已关注并私信, 已建联, 等待回复, 已回复, or 有意向, excluding bounced/rejected emails.建联率: 已建联客户数 / 可建联客户数.邮箱覆盖率: valid customers with 个人邮箱 or 公共邮箱 divided by all valid customers.退信率: customers marked with 邮件退回, 退回, 拒收, 无法送达, 域名不存在, 邮箱不存在, or 发送失败 divided by customers with email.待人工复核: valid customers whose notes, type, or attribute contain 待确认, 人工复核, 需人工, 需确认, or 信息不足.The default HTML dashboard should show:
The dashboard is a management view. Do not use it as the source of truth for customer edits; the local Excel workbook remains the source of truth.
If feishu_sync_config.json is present and enabled, normal workbook write-back still follows references/feishu-sync.md.
Dashboard generation itself does not automatically push to Feishu unless the project has an explicit dashboard_config.json with:
{
"sync_dashboard_metrics_to_feishu": true
}
When enabled, the agent should use WorkBuddy lark-sheets to sync dashboard metric tables after the local workbook has been saved and the local dashboard data has been generated. Do not store real Feishu tokens, cookies, or URLs inside the skill.
Dashboard JSON and HTML must be written with encoding="utf-8" and ensure_ascii=False.
After generating dashboard files, scan them for repeated question marks such as ????. If found, stop and repair the source text generation before sharing the dashboard.
Dashboard HTML should look like a practical sales-operations middle platform, not a plain report. It must include visual charts and not rely on external CDN assets.
Required visual modules:
Keep the style close to CRM / B2B SaaS dashboards: light background, restrained business colors, high information density, clear visual hierarchy, and no marketing hero layout.