开源 Agentic Analytics 平台,支持对话式查询、可视化与深度分析企业数据仓库,具备记忆系统、规则治理与全链路可观测性。
核心定位#
Bag of Words 是一个面向企业数据场景的 Agentic Analytics 平台,通过自然语言对话完成从查询、可视化到深度分析报告的完整工作流。平台本身不存储业务数据,而是通过连接器实时访问 20+ 数据源。
智能分析能力#
- Agentic Loop:基于工具调用、推理与反思的智能循环,自动将自然语言转换为 SQL 与分析
- Memory 记忆系统:在表/列级别存储上下文与偏好,AI 随时间学习,语义层更新通过 review-gate 审批
- 多数据源支持:Snowflake、BigQuery、PostgreSQL、Redshift、Databricks SQL、ClickHouse、MongoDB、MySQL、DuckDB、Azure Data Explorer 等,以及 NetSuite、Salesforce、Tableau、PowerBI、PostHog 等服务类数据源
- 多 LLM 提供商:OpenAI、Anthropic、Gemini、Ollama、Azure OpenAI、vLLM、LM Studio 等
治理与安全#
- Rules 规则管理:指令、术语与 guardrails 的版本控制与审批工作流,可 Git 同步 dbt、Markdown 等知识资产
- 权限体系:RBAC、SSO(Google Workspace / OIDC)、LDAP/AD 集成、Fernet 加密
可观测性#
完整 agent traces、计划、guardrails、LLM judges、evals 与反馈追踪,可选 OpenTelemetry 导出(gRPC / HTTP)。
协作与分享#
- Dashboards:即时构建和分享仪表盘、对话、保存查询和分析结果
- Catalog:存储、分享和探索可复用查询与数据集
- MCP 支持:可通过 Cursor、Claude Desktop 等 AI 客户端调用,同时追踪请求和数据操作
部署方式#
- Docker 单容器:
docker run -p 3000:3000 bagofwords/bagofwords - Docker Compose(推荐生产):含 Caddy SSL 反代、PostgreSQL
- Kubernetes:仓库
k8s/目录提供部署配置 - 核心配置文件
bow-config.yaml,支持认证模式、OIDC、LDAP、遥测开关等
架构要点#
- 后端:Python FastAPI,Alembic 数据库迁移
- 前端:Vue + Nuxt 生成静态 SPA,由 FastAPI 直接 serve,运行时无需 Node.js
- 数据库:默认 SQLite,推荐 PostgreSQL 16
- 构建系统:多阶段 Docker 构建(Ubuntu 24.04 + Python 运行时)
- 辅助工具:Rust 编写的
qvd2parquet(QlikView 文件转换)、bow-eval.py评估脚本 - AI IDE 集成:
.cursor/rules和.claude目录内置规则文件
开源部分采用 AGPL-3.0,企业功能在 /ee 目录下使用独立许可证。最新版本 v0.0.369,累计 139 个 release。