开源 · FastAPI + LangGraph · MIT

250 家店铺、11,042 件商品,
装进一个会说话的看板

wzyp-view 对 wzyp.cn(链动小铺寄售平台)全站公开数据 做可视化与 AI 分析:每张卡片、每个图表都能点击下钻,自然语言直接查库, LangGraph Agent 流式作答并自动给出追问建议。

🐍 FastAPI + 原生 JS 单文件前端 🐙 任选 OpenAI 兼容 LLM 🐳 Docker 一键起
http://127.0.0.1:8770 — 数据总览
wzyp-view 数据总览界面:统计卡片、商品类型分布、价格区间分布、商品热词、店铺销量 Top10
AI 销量前 3 的店铺是谁?自然语言直接查库,表格 + 结论秒回
收录店铺
250家
在售商品
11,042件
商品详情全文
10,769条
全网总销量
3,565,665
可视化总览

每一块图表,
都是一次下钻的入口

统计卡、商品类型分布、价格区间、热词云、销量 Top10 —— 没有一块图表是摆设。 点「卡密 9,600」立刻看到这 9,600 件商品;点热词「质保」直接跳到筛选结果。

✓ 点击下钻到筛选结果 ✓ 排除 0 元商品开关 ✓ 表头 + 下拉双排序
codex 1167 Plus 1166 质保 1034 Pro 926 成品号 776 接马 714 邮箱 688 月卡 572
数据总览:统计卡片与可下钻图表
LangGraph AI 分析

问一句,
Agent 自己写 SQL 查给你

内置 planner ⇄ tools 双节点 LangGraph Agent:绑定只读 SQL 工具,自动拆解问题、执行查询、 流式输出 markdown 表格与结论,还会附上 3 条可直接点选的追问建议。 在商品页点「AI 解读」,当前查询结果一键带入对话。

针对本地小模型实测打磨的防幻觉五件套:schema 动态行数、SQL 报错自动回灌纠正、 工具结果竖线表格直喂、系统提示每轮重注入、追问轮防复读。

✓ 流式 markdown 渲染 ✓ 自动追问建议 ✓ 多会话管理 ✓ 长期记忆 + 滑动窗口压缩
AI 分析对话:自然语言提问,Agent 返回表格结论与追问建议
店铺 / 商品多维查询

筛选构建器 + 详情抽屉,
查询不用写一行 SQL

字段筛选构建器自由组合「≥ / ≤ / like」条件,按销量、保证金、价格任意双排序; 点击商品名,右侧抽屉直接展开 HTML 描述全文与图片,无需跳转。 店铺列表自带抓取状态徽章,数据完整度一目了然。

✓ 字段筛选构建器 ✓ 商品详情抽屉 ✓ 抓取状态徽章 ✓ 卡密 / 权益 / 资源 / 文章分色标签
商品查询:多维筛选与商品详情抽屉
页面化配置

改配置不碰文件,
测连通过才让保存

MySQL 与任意 OpenAI 兼容 LLM(DeepSeek / 智谱 / 本地 vLLM / Ollama…)全部在网页设置页配置: 保存前自动测试连接,改完热生效,配置支持一键导入 / 导出,重启不丢。

✓ 保存前测连 ✓ 配置热生效 ✓ 导入 / 导出 ✓ 环境变量优先级更高
设置页:数据库与 LLM 页面化配置
架构

小而完整的 Agent 链路

单文件 FastAPI 服务 + 原生 JS SPA,无重型前端框架;Agent 只有 planner 与 tools 两个节点,链路短、好排查。

🧠planner

LLM + bind_tools:拆解问题、决定调用哪个只读 SQL 工具,组织流式回答与追问建议。

⇄

🔧tools

只读 SQL + schema 自省:结果渲染为竖线表格直喂,杜绝 JSON 转录失真。

→

🗄️MySQL

shops / goods / goods_detail 三表,连接池 + 配置热重建,SSE 推流到前端。

防表名幻觉 — 「仅有 3 张表」显式声明 + few-shot 示例 SQL
报错自愈 — Unknown table/column 自动回灌,引导核对 schema 重写
无数据不硬编 — data_schema 后强提示「无数据行」
记忆体系 — 长期记忆持久化 + 24 条滑动窗口 + 历史摘要压缩
快速开始

两条路,五分钟跑起来

A本地运行(uv)推荐
# 1. 从 Releases 下载 wzyp-data.zip,导入 MySQL
mysql -u root -p wzyp < wzyp_shops.sql
mysql -u root -p wzyp < wzyp_goods.sql
mysql -u root -p wzyp < wzyp_goods_detail.sql

# 2. 建环境、装依赖(Python ≥ 3.11)
uv venv --python 3.13
uv pip install -r requirements.txt

# 3. 启动
python run.py   # → http://127.0.0.1:8770
BDocker Compose一条命令
git clone https://github.com/Samge0/wzyp-view.git
cd wzyp-view
docker compose up -d --build

# → http://localhost:8770

# 配置同样走页面设置,持久化在 ./data volume
# 容器内连宿主机 LLM:
#   http://host.docker.internal:<port>/v1

打开页面后先进「⚙️ 设置」:填好 MySQL 点「测试连接」,再填任意 OpenAI 兼容接口的 Base URL / Model / API Key,保存即用。