aivudaOS is a lightweight OS on swarm robot's onboard computer. It offers a graphical panel which allows you to interact with the onboard system and manage the APPs.
Choose one method to install:
pip install aivudaos
# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple aivudaos # use pypi mirror (may not be the latest)
# pip install aivudaos==1.0.0.dev2026040602 # for a certain versionIf you install with conda, activate the target environment first and keep using that same environment for aivudaos install, aivudaos start, and related commands:
conda create -n aivuda python=3.8 -y
conda activate aivuda
pip install aivudaospip install aivudaos-1.0.0.dev2026040501-py3-none-any.whlgit clone https://gitee.com/buaa_iooda/aivudaOS.git
cd aivudaOS/
pip install --user -U pip setuptools wheel
pip install --user -e . # need dated npm and node (>20) installed
# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e . # use pypi mirror for build# pip index versions aivudaos --pre # inspect available versions on PyPI
pip install --upgrade aivudaos# stop and remove the systemd service by 'aivudaos uninstall' first:
aivudaos uninstall
pip uninstall aivudaosAdd python local path first:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcAfter install the wheel, you need to install aivudaOS dependencies first:
aivudaos installWhen aivudaos install is executed inside an activated conda environment, the generated aivudaos.service will remember that environment's Python interpreter for later restarts and boot auto-start.
This will install all the dependencies and start aivudaOS and make aivudaOS autostart.
Then get url and open it in your browser:
aivudaos web
# or
aivudaos statusIt will remind you to visit http://127.0.0.1:80 on the local browser, or vist https://<avahi_hostname>.local:443 on a remote browser
The following port is used by aivudaOS:
127.0.0.1:8000: internal backend, reverse proxy by caddy;http://127.0.0.1:80: expose the service by caddy for http;https://<avahi_hostname>.local:443expose the service by caddy for https,
where the <avahi_hostname> can be read by
aivudaos get-avahi-hostname
aivudaos get-avahi-hostname --debugEach robot has a randomly generated and unique avahi_hostname on install, which can also be changed in the system setting of the aivudaOS panel.
After installation, you can use the unified CLI:
aivudaos --help
aivudaos --version
aivudaos install
aivudaos web
aivudaos status
aivudaos start
aivudaos stop
aivudaos restart
aivudaos enable-autostart
aivudaos disable-autostart
aivudaos download-caddy
aivudaos uninstallUpdate pip before building:
pip install --user -U pip setuptools wheelBuild release artifacts locally:
Wheel artifacts include only
aivudaos/resources/ui/distfor the frontend. The source distribution excludesdistandnode_modules, while keeping the UI source files for development and rebuilding.
cd aivudaOS/
cd aivudaos/resources/ui/ && npm install && npm run build && cd ../../..
export AIVUDAOS_BUILD_SEQ=01
python -m build
# PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple python -m build # use pypi mirrorIf your environment does not provide python -m build isolation support, use:
AIVUDAOS_BUILD_SEQ=01 python -m build --no-isolationUpload to PyPi:
cd aivudaOS
AIVUDAOS_BUILD_SEQ=01 \
TWINE_USERNAME=__token__ \
TWINE_PASSWORD="$PYPI_TOKEN" \
TWINE_NON_INTERACTIVE=1 \
./publish_aivudaos_pypi.sh
## or not upload
cd aivudaOS
AIVUDAOS_BUILD_SEQ=01 \
./publish_aivudaos_pypi.sh --skip-uploadThe automated workflow is activated at https://github.com/shupx/aivudaOS/actions/workflows/nightly-build.yml, which deploys a check every night and build and publish wheels to PyPi if there is a update.
Refer to README_dev.md