fxcircus/cs-agent-demo

GitHub: fxcircus/cs-agent-demo

一个演示性质的全栈客户成功分析仪表板,用于对比合同与使用数据并标记违约与流失风险。

Stars: 0 | Forks: 0

# CS Agent 演示 一个全栈客户成功分析仪表板,用于对比合同权益与实际产品使用情况,并标记违约、流失信号和续约风险。 此仓库是我构建的生产系统的一个 **演示/作品集** 版本。所有公司、使用数据、客户成功经理(CSM)以及趋势数据均为虚构。详见 [ARCHITECTURE.md](ARCHITECTURE.md) 了解演示如何映射到真实系统。 ## 截图 ![仪表板](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/bdcf5d177b151940.png) ![客户视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/9875e05a1c151941.png) ![客户详情](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/8029cc59b6151945.png) ![CSM 视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/9192a19dfe151946.png) ## 60 秒快速运行 ``` # 安装前端依赖 cd web && npm install && cd .. # 启动 React 应用(直接读取 web/public/demo_data.csv) cd web && npm start ``` 打开 http://localhost:3000。仪表板会自动加载演示 CSV 并显示 10 家虚构公司及其预设的客户成功场景。 **可选 — 同时启动模拟后端:** ``` cd mock_backend pip install -r requirements.txt uvicorn main:app --reload --port 8080 ``` 前端会在后端运行时优先使用它(否则回退到静态 CSV)。 ## 重新生成演示数据 ``` python3 data_pipeline/generate_demo_csv.py # → 写入 web/public/demo_data.csv ``` 虚构的公司、场景和趋势种子位于 [`data_pipeline/fixtures/fictional_companies.json`](data_pipeline/fixtures/fictional_companies.json)。编辑该文件以重塑演示。 ## 仪表板展示内容 **三种视图:** - **仪表板** — 违约摘要、按计划划分的年度经常性收入(ARR)、区域分布、 top 过度使用情况。每个图表均可点击并过滤客户视图。 - **客户视图** — 按公司细分的合同与使用对比三元组、备注、任务以及过去 12 个月的月活跃用户(MAU)/月活跃账户(MAT)趋势图,并带有违约线覆盖。 - **CSM 视图** — 以客户成功经理(CSM)为范围的组合视图,按季度分组,包含续约日历和任务。 **10 家虚构公司**(所有名称均为影视虚构): | 公司 | 计划 | CSM | 仪表板将显示 | | ---------------------- | ---------- | -------------- | --------------------------- | | Acme Cloud | 企业版 | Ellen Ripley | MAU 过度使用 50% — 洽谈增购 | | Hooli | 企业版 | Ellen Ripley | 使用白标与联合功能但无对应权益 | | Initech Software | 企业版 | Roy Daniel | 干净的账户,Q3 续约 | | Pied Piper | 规模版 | Ellen Ripley | MAT 违约 + 每月 5% 增长(增购机会) | | Dunder Mifflin Digital | 企业版 | Roy Daniel | SSO + SCIM 超出合同范围 | | Globex Corporation | 规模版 | Don Draper | MAU 每月下降 12% — churn 风险 | | Massive Dynamic | 企业版 | Don Draper | 30 天内续约,多环境 | | Stark Industries | 企业版 | Roy Daniel | 座位数过度使用(+32%) | | Cyberdyne Systems | 规模版 | Roy Daniel | 使用白标 UI 但无对应权益 | | Wonka Industries | 增长版 | Don Draper | 使用不足 — 降购候选 | ## 架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ data_pipeline/ │ │ generate_demo_csv.py → web/public/demo_data.csv │ │ ├ fixtures/fictional_companies.json │ │ ├ utils/breach_calculator.py │ │ ├ utils/mock_trend_generator.py │ │ └ utils/csv_writer.py │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ mock_backend/ (FastAPI, port 8080, optional) │ │ /api/csv/latest, /api/csv/download │ │ /hubspot/status, /notes, /tasks-optimized │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ web/ (React + TypeScript, port 3000) │ │ Dashboard ClientView CSMView │ │ MAUTrend / MATTrend (Recharts) │ │ NotesTab / TaskCard / PersonalTasks (localStorage) │ │ MockAuthProvider (stands in for Frontegg SSO) │ └─────────────────────────────────────────────────────────────┘ ``` 详见 [ARCHITECTURE.md](ARCHITECTURE.md) 了解每个演示组件与其生产对应项(HubSpot、MySQL、Snowflake、S3、App Runner、CloudFront、Frontegg)之间的映射。 ## 虚构与真实的部分 | 演示功能 | 真实实现(本仓库不包含) | | ------------------------- | ---------------------------------------------------------- | | 来自 fixture JSON 的 CSV | HubSpot REST API + 4 区域 MySQL 集群 + Snowflake | | FastAPI 模拟后端 | Node.js/Express 在 AWS App Runner 上运行,S3 托管 CSV | | `MockAuthProvider` | Frontegg SSO(OAuth、租户管理、管理员门户) | | `mockHubspotService`(localStorage) | 真实的 HubSpot CRM 笔记与任务(带 OAuth 2.0 令牌刷新) | | 静态 React 托管(npm start) | S3 + CloudFront、HTTPS、部署时缓存失效 | CSV 架构、违约计算逻辑、UI 组件与交互模型与生产系统 **完全一致**。仅数据来源与认证/部署逻辑为模拟。 ## 技术栈 - **前端**:React 18、TypeScript、Recharts、Papaparse、react-router、react-toastify - **管道**:Python 3.11+(仅使用标准库 — 无运行时依赖) - **模拟后端**:FastAPI + Uvicorn ## 许可证 MIT — 参见 [LICENSE](LICENSE)。
标签:AV绕过, CSM组合管理, FastAPI, MAU MAT趋势, Python, React, Syscalls, TypeScript, 分析仪表板, 前端, 合同用量对比, 后端, 安全插件, 客户成功, 客户画像, 数据管道, 无后门, 流失预警, 演示项目, 组合展示, 续期风险, 自动化攻击, 试用数据, 软件工程, 违规检测, 逆向工具