Visitran:AI 驱动的 Python 数据转换平台

指南2026年3月19日8 分钟阅读
Visitran:AI 驱动的 Python 数据转换平台
Visitran 是一个开源的数据转换平台,支持无代码拖拽和自然语言 AI 辅助建模。它连接数据仓库,让你用 Python 或自然语言描述就能构建转换管道,并将结果物化回数据库。

Visitran 是一个开源的数据转换工具,支持无代码(可视化拖放)和AI 辅助(自然语言)的数据建模方法。它连接你的数据仓库,让你通过可视化方式或简单的英语描述来构建转换管道,并将结果物化回数据库。

Visitran

现代化的 Pythonic 数据转换
使用 Python 构建数据转换管道——搭配可视化 IDE 和 AI 助手。

官网 · 文档 · 问题反馈 · 贡献指南

License Docker Pulls Ask DeepWiki

Python Node.js uv


什么是 Visitran?

Visitran 是一个开源的数据转换工具,支持无代码(可视化拖放)和AI 辅助(自然语言)的数据建模方法。它连接你的数据仓库,让你通过可视化方式或简单的英语描述来构建转换管道,并将结果物化回数据库。

支持的数据库

数据库状态数据库状态
PostgreSQLDuckDB
SnowflakeBigQuery
TrinoDatabricks

如果 Visitran 对你有帮助,请给这个仓库点个星——这能帮助其他人发现这个项目!

核心功能

面向数据工程师

  • 基于 Python 的完整转换模型,支持 Ibis SQL 生成
  • 6 个数据库适配器,支持表、视图和增量物化
  • 带依赖解析的 DAG 执行引擎
  • 支持 cron/interval 触发器、重试和链式调度的任务调度

面向分析师和无代码用户

  • 带 Monaco 编辑器、文件资源管理器 和 DAG 可视化的可视化 IDE
  • 无代码模型构建器——连接、过滤、聚合、窗口函数、透视、联合
  • 用于自然语言到数据转换的 AI 助手
  • 内置的模型验证测试框架

快速开始

选择你喜欢的安装方式:

选项 1:Docker Compose

这是运行 Visitran 最快的方式。需要安装 DockerDocker Compose

bash
# 克隆仓库
git clone https://github.com/Zipstack/visitran.git
cd visitran

# 设置后端环境变量
cp backend/sample.env backend/.env

编辑 backend/.env——默认值已提供,便于快速启动。生产环境请替换这些密钥:

变量默认值如何生成(生产环境)
SECRET_KEY已提供使用 djecrety.ir 或运行:python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
VISITRAN_ENCRYPTION_KEY已提供运行:python -c "from base64 import b64encode; from cryptography.fernet import Fernet; print(b64encode(Fernet.generate_key()).decode())"
VISITRAN_RSA_PRIVATE_KEY已提供生成 2048 位 RSA 密钥对(见 sample.env 中的命令)
VISITRAN_RSA_PUBLIC_KEY已提供从上述私钥派生
VISITRAN_AI_KEY可选——从 app.visitran.com 获取以启用 AI 功能

注意: sample.env 已为 Docker 预配置——DB_HOST=postgresREDIS_HOST=redis 指向 Docker Compose 服务名称。无需更改主机名。复制后可直接运行 docker compose up --build -d

bash
# 构建并启动所有服务
cd docker
docker compose up --build -d

这会启动:

服务端口描述
前端3000React UI (Nginx)
后端8000Django REST API (Gunicorn)
PostgreSQL5432数据库
Redis6379WebSockets 和异步任务代理
Celery Worker后台作业处理
Celery Beat计划任务处理

在浏览器中打开 http://localhost:3000

首次设置: 首次启动时,点击 Sign Up 创建本地管理员账户。没有默认的用户名/密码——你需要在注册时设置自己的凭证。

停止服务:

bash
docker compose down

停止并删除所有数据(PostgreSQL 卷):

bash
docker compose down -v

选项 2:直接安装(本地)

用于开发或当你希望完全控制每个组件时。

先决条件

  • Python 3.10.x (>=3.10, <3.11.1——pyproject.toml 要求)
  • Node.js 16+
  • uv(Python 包管理器)
  • Git LFS(克隆后运行 git lfs install && git lfs pull
  • Redis(用于 WebSockets 和 Celery)——通过 brew install redis(macOS)或你的操作系统包管理器安装

后端

bash
# 克隆仓库
git clone https://github.com/Zipstack/visitran.git
cd visitran

# 设置环境变量
cp backend/sample.env backend/.env

编辑 backend/.env 用于本地开发:

变量必需本地主机的值
SECRET_KEY默认已提供——生产环境替换
VISITRAN_ENCRYPTION_KEY默认已提供——生产环境替换
DB_HOST使用 SQLite(无需 PostgreSQL),或 localhost 如果你有 PostgreSQL 在运行
REDIS_HOSTlocalhost
DB_SAMPLE_HOSTlocalhost(启用示例项目——需要 PostgreSQL)或留空跳过

本地主机重要提示:DB_HOST=postgres 改为 DB_HOST=(空值使用 SQLite)或 DB_HOST=localhost(用于本地 PostgreSQL)。将 REDIS_HOST=redis 改为 REDIS_HOST=localhost

bash
# 安装后端依赖
cd backend
pip install uv
uv sync

# 激活虚拟环境
source .venv/bin/activate

# 运行数据库迁移
python manage.py migrate

# 启动后端服务器(端口 8000)
python manage.py runserver

前端

bash
cd frontend

# 设置环境变量
cp sample.env .env

编辑 frontend/.env(如果需要):

变量默认值描述
REACT_APP_BACKEND_URLhttp://localhost:8000后端 API URL
REACT_APP_SOCKET_SERVICE_BASE_URLhttp://localhost:4000WebSocket 服务器 URL
bash
# 安装依赖
npm install

# 启动开发服务器(端口 3000)
npm start

在浏览器中打开 http://localhost:3000注册创建你的账户。

项目结构

code
backend/
├── backend/                     # Django 应用
│   ├── core/                    #   模型、视图、REST API
│   ├── application/             #   业务逻辑、配置解析器、解释器
│   └── server/settings/         #   Django 设置
├── visitran/                    # 核心转换引擎(独立)
│   ├── adapters/                #   数据库适配器(postgres、duckdb、snowflake 等)
│   ├── templates/               #   VisitranModel 基类
│   └── visitran.py              #   DAG 执行引擎

frontend/src/
├── base/                        # 应用外壳、路由、项目列表
├── ide/                         # 主工作区(编辑器、文件资源管理器、SQL 抽屉)
│   ├── chat-ai/                 #   AI 助手界面
│   └── editor/                  #   无代码可视化模型构建器
├── store/                       # Zustand 状态管理
├── service/                     # API 服务(axios、socket)
└── widgets/                     # 可复用的 UI 组件

docker/
├── dockerfiles/                 # 后端和前端 Dockerfiles
└── docker-compose.yaml          # Docker Compose 配置

开发

后端

bash
# 带热重载运行服务器
cd backend && python manage.py runserver

# 运行迁移
python manage.py migrate

# 代码检查和类型检查
inv checks
inv type_check

# 运行测试(需要 Docker 用于测试数据库)
docker compose up --wait
uv run pytest -vv --dist loadgroup -n 5 tests
docker compose down

前端

bash
cd frontend

npm start              # 开发服务器
npm run build          # 生产构建
npm test               # 运行测试
npm run test:coverage  # 带覆盖率的测试
npm run lint           # ESLint 检查
npm run lint:fix       # ESLint 自动修复

云服务与企业版

适用于需要托管基础设施、高级功能或企业级安全性的团队。

  • SSO & RBAC——基于 SAML/OIDC 的单点登录和基于角色的访问控制
  • 托管 AI——内置 AI 服务,无需设置 API 密钥
  • 任务调度——支持重试、链式调用和通知的 Cron/interval 触发器
  • 云存储——带版本控制的托管文件存储
  • 多租户——组织级隔离和团队管理
  • 优先支持——带 SLA 保证的专属支持

Book a Free Demo

AI 助手可以从自然语言生成数据转换。在 OSS 模式下,AI 访问需要 Visitran AI 订阅密钥

  1. app.visitran.com 注册
  2. 订阅 AI 计划并生成 API 密钥
  3. 在本地实例中进入 Settings > Visitran AI 并输入你的密钥
  4. 在 IDE 中打开 Chat AI 抽屉开始使用 AI

云网关验证你的密钥,通过 LLM 模型(Claude、GPT-4o、Gemini)路由提示,并流式返回响应——无需本地 AI 设置或 LLM 凭证。

技术栈

组件技术
后端Python、Django、Django REST Framework、Celery
前端React、Ant Design、Zustand、Monaco Editor
SQL 生成Ibis
数据库PostgreSQL、DuckDB、Snowflake、BigQuery、Trino、Databricks
基础设施Docker、Redis、Gunicorn

贡献

我们欢迎贡献!详见 CONTRIBUTING.md 获取详细指南。

  1. 复刻仓库并从 main 创建功能分支
  2. 进行更改
  3. 运行代码检查:
    • 前端:npm run lint
    • 后端:inv checks
  4. 运行测试:
    • 前端:npm test
    • 后端:uv run pytest
  5. 提交拉取请求

社区

加入 Visitran 社区:

Slack Blog LinkedIn X

关于分析

Visitran 集成了 Posthog 以跟踪最少的用户分析。通过在前端的 .env 文件中设置 REACT_APP_ENABLE_POSTHOG=false 来禁用。

许可证

Visitran 根据 GNU Affero 通用公共许可证 v3.0 (AGPL-3.0) 授权。你可以根据 AGPL-3.0 的条款自由使用、修改和分发此软件。如果你将修改版本作为网络服务运行,则必须向该服务的用户提供源代码。


本文编译自 Visitran: Agentic Pythonic data transformation platform(AGPL),版权归原作者所有。

觉得有用?分享给更多人

获取每周 AI 工具精选

工具推荐、实战教程和生态洞察,每周更新。

相关文章

pgEdge 推出开源 MCP Server for Postgres,支持 AI 智能体通过模型上下文协议(MCP)而非传统 API 方式访问数据库。服务强调数据源无关性、完整模式自省和 token 优化,适用于 Claude Code、Cursor 等主流 AI 开发工具。

指南The New Stack·4月2日·4 分钟

Google 推出 Flex 和 Priority 两个新的推理层级,帮助开发者平衡成本与可靠性。Flex 是成本优化层级,适合后台任务,价格便宜一半;Priority 是最高保障层级,适合用户交互型应用。两者都通过同步接口调用,简化了架构管理。

指南·4月2日·3 分钟

评论