- wktline2026-08-312191
DataPilotAgent
AI 驱动的智能数据分析平台 —— 通过自然语言对话完成数据查询、分析、可视化与洞察提取。
DataPilotAgent 将「用一句话提问」转化为「可回溯的分析结果」:LLM Agent 自动生成并执行 SQL 、在沙箱中运行 Python 分析、渲染交互式图表,每一步的 SQL 、数据来源全程可查,支持一键收藏到看板并导出 PNG / SVG / PDF 。
界面预览
看这里,感谢各位多多 Star⭐ https://github.com/umlink/chat-data-pilot-agent
功能特性
- 自然语言对话分析:SSE 流式响应,文本 / SQL / 表格 / 图表以 Block 结构分块渲染,支持中断与多会话管理
- 多 LLM 提供商:OpenAI / Anthropic 双协议适配器,多 Provider 可配置;基于模型上下文窗口的对话历史自动压缩
- 多数据源管理:PostgreSQL / MySQL 连接测试、Schema 预览、连接密钥 Fernet 加密存储、返回掩码
- 附件数据分析:Excel / CSV 上传至 MinIO ,Worker 内 pandas 解析,作为会话级临时数据源参与问答
- 图表与看板:柱状 / 折线 / 饼图等交互式图表,收藏看板,图表级 PNG / SVG / PDF 导出
- Agent 工具链:
run_sql/run_python( RestrictedPython 沙箱)/create_chart/request_confirmation,敏感操作需人工确认- 报表与模板:定时报表任务(任务队列调度)、分析模板沉淀复用、数据源快捷提问文案
- 可观测性:structlog 五类日志( system / application / ai / error / audit )入库可查询,LLM Token 用量统计
- 轻量任务队列:基于 PostgreSQL
FOR UPDATE SKIP LOCKED的队列与 Worker ,无额外中间件依赖主楼 - zhangli29462026-08-312129
相比于通用 agent ,本产品的能力有何种增强
- wktline2026-08-312191
@zhangli2946 玩,学习而已。
- kevan2026-08-313238
Unexpected Application Error!
Minified React error #185; visit https://react.dev/errors/185 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
Error: Minified React error #185; visit https://react.dev/errors/185 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
at si ( http://localhost/assets/react-Bp6dYFFD.js:8:27491)
at ai ( http://localhost/assets/react-Bp6dYFFD.js:8:27064)
at Go ( http://localhost/assets/react-Bp6dYFFD.js:8:52200)
at Ho ( http://localhost/assets/react-Bp6dYFFD.js:8:52029)
at Hc ( http://localhost/assets/react-Bp6dYFFD.js:8:91737)
at Dl ( http://localhost/assets/react-Bp6dYFFD.js:8:106868)
at El ( http://localhost/assets/react-Bp6dYFFD.js:8:106752)
at Dl ( http://localhost/assets/react-Bp6dYFFD.js:8:107631)
at El ( http://localhost/assets/react-Bp6dYFFD.js:8:106752)
at Dl ( http://localhost/assets/react-Bp6dYFFD.js:8:106848)
💿 Hey developer 👋You can provide a way better UX than this when your app throws errors by providing your own ErrorBoundary or errorElement prop on your route.
- wktline2026-08-312191
- kevan2026-08-313238
- wktline2026-08-312191