English | 简体中文
| (Latest Release) Jan. 15th, 2026. Dayu v1.2 Release. Please check the CHANGELOG for details. |
| May. 7th, 2025. Dayu v1.1 Release. Please check the CHANGELOG for details. |
| Feb. 21th, 2025. Dayu v1.0 Release. Please check the CHANGELOG for details. |
Dayu is a cloud-edge stream analytics platform for deploying, scheduling, and operating DAG-based AI pipelines across heterogeneous nodes. It combines a backend control plane, a Vue frontend, simulated datasources, and a runtime collaboration layer for generator, scheduler, controller, processor, distributor, and monitor services.
- DAG-based multi-stage stream analytics with dynamic task configuration and offloading
- Hook-based runtime extension for generator, scheduler, processor, monitor, and visualization behavior
- Built-in deployment composition using policy catalogs, component templates, and processor service templates
- Backend-managed result visualization, system telemetry snapshots, and compressed log export
- Compatibility with heterogeneous cloud and edge nodes through a KubeEdge and Sedna oriented deployment model
Dayu is composed of five layers:
- Basic System Layer: This layer adopts the
KubeEdgearchitecture and is deployed on all distributed nodes across the cloud-edge environment.KubeEdgeis theKubernetesextension proposed by Huawei for edge scenarios and can be well deployed on devices with limited resources and low performance. - Intermediate Interface Layer: This layer is designed to offer customized service installation and component
communication, through modifying and expanding official interface component
Sednaand communication componentEdgemesh. - System Support Layer: This layer is designed to offer interactive ui (frontend), automatic installation (backend), and simulation datasource (datasource) for users.
- Collaboration Scheduling Layer: This layer is composed of functional components independently developed by us to complete functions such as pipeline task execution and scheduling collaboration.
- Application Service Layer: This layer accepts user-defined service applications. As long as the user develops service according to the interface requirements defined by the platform, it can be embedded in the platform as a container and complete execution across cloud-edge nodes.
To get detailed instructions about our dayu system, please refer to the documentation on the homepage.
Please refer to our quick start tutorial for a quick start of the dayu system.
If you want to further develop dayu for your needs, please refer to our development tutorial.
Dayu now keeps implementation-facing technical documentation in the repository, while the public website remains the best place for tutorials and end-user walkthroughs.
| If you want to... | Start here |
|---|---|
| understand the system design | docs/architecture/README.md |
| understand how policies, templates, and env vars fit together | docs/configuration/README.md |
| inspect backend and runtime APIs | docs/api/README.md |
| understand the hook model and built-in aliases | docs/hooks/README.md and docs/hooks/catalog.md |
| work on datasource playback and manifests | docs/datasource/README.md |
| navigate the repository as a contributor | docs/development/README.md |
| understand test layers and where to add coverage | docs/testing/README.md |
| follow end-user deployment tutorials | project documentation site |
The repository docs index lives at docs/README.md.
Dayu is designed around the following ecosystem:
Dayu also depends on the maintained companion work around Sedna and EdgeMesh integration:
To align local testing with CI, use the repository-declared toolchain:
- Python
3.8via.python-version - Node.js
20via.nvmrc makeas the primary local task entry point
Python developer dependencies are collected in requirements-dev.txt, and Python lint
configuration lives in pyproject.toml.
Use the provided Makefile targets for local feedback loops:
make install-python-dev
make lint-python
make python-syntax
make test-unit-integration
make test-component
make test-e2e
make coverage-python
make frontend-install
make frontend-check
make checkmake check is the day-to-day aggregate gate. make coverage-python mirrors the Python coverage run used by hosted CI.
make frontend-lint remains available as a cleanup target while the frontend template debt continues to be reduced
incrementally.
| Path | Purpose |
|---|---|
backend/ |
backend APIs, orchestration, deployment rendering, visualization, and log export |
frontend/ |
Vue-based control-plane UI |
datasource/ |
datasource supervisor, HTTP video source, RTSP source, and manifest-driven dataset loader |
components/ |
thin container-facing service entrypoints |
dependency/core/ |
runtime services, shared libraries, hook implementations, and application services |
template/ |
deployment catalogs, component templates, processor templates, and default visualization configs |
config/ |
sample datasource and visualization inputs |
docs/ |
repository-managed technical documentation |
tests/ |
unit, integration, component, and e2e tests |
tools/ |
developer and operations utilities |
The repository includes an offline CLI for summarizing exported logs:
python tools/log_analysis.py --log path/to/exported-log.json.gz
python tools/log_analysis.py --log path/to/exported-log.json.gz --output-format jsonIf you have questions, feel free to reach out to us in the following ways:
Dayu is licensed under Apache 2.0. See the LICENSE file for details.
If you want to contribute code, docs, or tests:
- read CONTRIBUTING for the patch and review workflow
- use the repository docs under
docs/as the implementation-facing reference - use the dayu homepage for tutorial-oriented content and end-user guidance
Thanks for the following contributors:
Thanks for the following documentation contributors:
