DeepEye

HKUSTDialApache-2.0活跃维护

DeepEye 是一个自主数据智能体系统,让 LLM 智能体自动完成数据科学任务,减少人工逐步操作。

DeepEye: An Autonomous Data Agent System

暂无版本260star40fork同步于 2026-11-07 07:29 UTC

怎么上手

由 README 提炼,执行前请确认
cp env.example .env
docker compose up --build
硬件要求按 README 说明

README 未说明显存或 GPU 要求,仅要求 Docker 与 Docker Compose 环境,LLM 通过外部 API 调用

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

可操控的自动驾驶式数据分析智能体,把异构数据源自动编排成工作流并产出视频、看板和报告

DeepEye 是一个自主数据智能体系统,让 LLM 智能体自动完成数据科学任务,减少人工逐步操作。

核心能力

  • 用编译器、校验器、优化器、执行器四阶段处理工作流 DAG
  • 将复杂意图拆成隔离的 AgentNode 与确定性 ToolNode 减少幻觉
  • 统一编排数据库、文档、CSV/Excel 与 API 等多模态数据源
  • 按拓扑感知调度独立节点并行执行,每节点独立沙箱运行代码
  • 提供工作流图检查器与运行时人工介入操控

容易踩的坑

启动前必须在 .env 中填好 LLM_API_KEY、LLM_BASE_URL、LLM_MODEL 及 JWT、Postgres、MinIO 等密钥;默认网关端口为 8080,共享机器需改 HOST_GATEWAY_PORT 和 COMPOSE_PROJECT_NAME 避免冲突;官方定位为本地开发环境,暴露到公网前需替换示例密钥并审查 Docker socket 与代码执行路径

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    DeepEye: A Steerable Self-driving Data Agent System

    arXiv CI License: Apache-2.0 SIGMOD GitHub Stars

    DeepEye is a production-ready, steerable self-driving data agent system. Unlike linear "ChatBI" tools, DeepEye adopts a workflow-centric architecture that handles heterogeneous data sources and complex iterative analysis without context explosion. It autonomously orchestrates multi-step workflows to produce three classes of rich analytical artifacts:

    • 🎬 Data Videos — narrated, animated data stories rendered from structured analysis
    • 📊 Dashboards — interactive, live-updating visual dashboards
    • 📝 Analytical Reports — structured, analyst-grade written reports

    DeepEye System Overview

    Key architectural advantages:

    • 🔗 Unified Multimodal Orchestration — seamlessly integrates databases, documents, CSV/Excel files, and APIs in a single workflow
    • 🧠 Hierarchical Reasoning — decomposes complex intents into isolated AgentNodes and deterministic ToolNodes to eliminate hallucinations
    • ⚙️ Workflow Engine — a database-inspired execution pipeline that guarantees structural correctness and accelerates runtime through topology-aware scheduling
    • 👁 Human-in-the-loop — transparent step-by-step execution with a live workflow inspector and runtime steering controls

    🔥 News

    • [2026.05]: DeepEye paper and code are released! Accepted at SIGMOD Demo 2026.

    🖥 Demo

    DeepEye Demo

    🎬 Full demo video: assets/demo.mp4

    Given heterogeneous data sources, DeepEye autonomously orchestrates a workflow and delivers Data Videos 🎬, Dashboards 📊, and Analytical Reports 📝 in one run.


    🚀 Quick Start

    Prerequisites

    • Docker and Docker Compose
    • A supported LLM provider key and model (LLM_API_KEY, LLM_BASE_URL, LLM_MODEL)
    • uv for Python development and tests
    • Node.js / npm only if running the frontend outside Docker

    1. Configure Environment

    cp env.example .env
    

    Open .env and set at minimum:

    LLM_API_KEY=...
    LLM_BASE_URL=...
    LLM_MODEL=...
    JWT_SECRET_KEY=...
    POSTGRES_PASSWORD=...
    MINIO_ACCESS_KEY=...
    MINIO_SECRET_KEY=...
    

    For shared machines, also set a unique COMPOSE_PROJECT_NAME and HOST_GATEWAY_PORT to avoid port conflicts.

    2. Start the Stack

    docker compose up --build
    

    This starts Postgres, Redis, MinIO, the backend API, Celery worker, runtime-control service, frontend, and nginx gateway. Database migrations run automatically.

    3. Open DeepEye

    http://localhost:8080
    

    If http://localhost:8080 is unavailable, verify your .env port settings (for example HOST_GATEWAY_PORT) and check that all Docker services are healthy with docker compose ps.

    4. Stop the Stack

    docker compose down
    # add -v to also remove stored volumes/data
    

    💡 Running Example

    This walkthrough shows DeepEye completing a full sales analysis end-to-end.

    Step 1 — Connect Data Sources

    In the Data Sources panel, add your files or databases. DeepEye supports:

    • Structured: PostgreSQL / MySQL databases, CSV, Excel
    • Semi-structured: JSON, XML
    • Unstructured: PDF, TXT, Markdown (indexed as Knowledge Bases)

    Step 2 — Describe Your Goal in Chat

    @Financial Metrics @Meta-data @Sales Database
    Analyze the 2025 global sales performance,
    generate a video, dashboard, and analytical report.
    

    DeepEye automatically creates a workflow plan and asks for confirmation before running.

    Step 3 — Inspect the Workflow

    The Workflow Graph panel renders the generated DAG, for example:

    Generated Workflow DAG

    DeepEye provides node-level execution details:

    Workflow Node Inspector

    Each node shows its inputs, the exact SQL queries executed, status, and outputs.

    Step 4 — Review Outputs

    Outputs are rendered inline in the right panel:

    DeepEye Output Artifacts

    Artifacts are versioned per session and can be exported or shared.


    🏗 Architecture

    session → turn → draft → run → artifact
    

    DeepEye's Workflow Engine processes every draft through four stages before execution:

    StageRole
    CompilerParses the LLM-generated workflow plan into a typed DAG
    ValidatorChecks node types, required parameters, and edge constraints
    OptimizerReorders independent nodes for maximum parallel execution
    ExecutorRuns the DAG with isolated sandboxed code environments per node

    Repository Layout

    PathPurpose
    packages/backendFastAPI API, Celery workers, workflow orchestration, persistence, sandbox/runtime
    packages/coreShared agent, datasource, workflow, graph, and sandbox primitives
    packages/frontendReact + TypeScript workspace: chat, workflow graph, artifact preview panels
    dockerDockerfiles, nginx config, scripts, and local runtime assets
    docsArchitecture notes, RFCs, and remediation tracking

    🛠 Development

    Run the full local quality gate:

    make check          # run after installing deps
    make check-install  # install then check
    make compose-config # validate Docker Compose config
    

    Backend and Core Tests

    # Default test suite
    uv run pytest packages/backend/app/test packages/core/tests -q
    
    # Docker-backed sandbox integration tests (requires Docker)
    DEEPEYE_RUN_DOCKER_TESTS=1 uv run pytest \
      packages/backend/app/test/test_sandbox.py \
      packages/backend/app/test/test_sandbox_manager.py -q
    
    # Apply migrations manually outside Compose
    uv run alembic -c packages/backend/alembic.ini upgrade head
    

    Frontend

    cd packages/frontend
    npm install
    npm run dev    # dev server
    npm run build  # production build
    

    🔒 Security and Deployment

    DeepEye orchestrates LLM-assisted workflows with Docker-backed code execution. Treat the current stack as a local development environment unless you have reviewed and hardened the deployment for your threat model.

    Before exposing DeepEye beyond a trusted local environment:

    • Replace all example secrets and development credentials
    • Review authentication, cookie, CORS, and gateway settings
    • Review Docker socket access and runtime-control boundaries
    • Review generated-code execution paths (reports, dashboards, video generation)
    • Set resource limits and cleanup policies for your infrastructure

    See docs/security_model.md for details.


    📚 Documentation


    👏 Contribution

    We welcome all forms of contributions. Merged PRs will be credited as contributors.


    🖋 Citation

    If DeepEye is useful for your research or work, please cite:

    @inproceedings{10.1145/3788853.3801612,
    author = {Li, Boyan and Peng, Yiran and Xie, Yupeng and Lu, Sirong and Zhu, Yizhang and Mu, Xing and Liu, Xinyu and Luo, Yuyu},
    title = {DeepEye: A Steerable Self-driving Data Agent System},
    year = {2026},
    isbn = {9798400724503},
    publisher = {Association for Computing Machinery},
    address = {New York, NY, USA},
    url = {https://doi.org/10.1145/3788853.3801612},
    doi = {10.1145/3788853.3801612},
    booktitle = {Companion of the International Conference on Management of Data},
    pages = {74–77},
    numpages = {4},
    location = {India},
    series = {SIGMOD Companion '26}
    }
    

    If you have questions, feel free to open an issue.