
XIaozhi установится на любое железо.
Например на Luckfox pico: https://ali.click/n4nul15?erid=2SDnjePBMd5
Или как пример хороший вариант orange pi zero: https://ali.click/vbnul1c?erid=2SDnjc7Eo2K
Для чего вообще нужен Xiaozhi на Linux? Ну как пример – вдохнуть вторую жизнь стареньким одноплатникам, тв приставкам, ведь проект написан на rust и пойдёт везде, где есть линукс и достаточно свободного времени.
Вторая причина, это возможность xiaohi дать навык воспроизведения скриптов например. То-есть вы голосом скажете “перезагрузи удаленный компьютер”, запустится скрипт, который перезагружает тот компьютер. XIaohi выполнит по этой команде этот скрипт и у вас перезагрузится тот удаленный компьютер.
В общем любые скрипты сможет выполнять голосом.
Ну а в третьих XIaozhi это интересно.
Сам проект можно найти тут: https://github.com/haoyn231/xiaozhi_linux_rs
Установка:
Клонируем репозиторий:git clone https://github.com/Hyrsoft/xiaozhi_linux_rs.git Переходим в папку репозитория склонированного: cd xiaozhi_linux_rsУстановка необходимых пакетов:sudo apt-get install -y libasound2-dev libopus-dev libspeexdsp-dev pkg-config
Установка Rust и Cargo:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Там нажать цифру 1
Установим переменные окружения:
source "$HOME/.cargo/env"
Проверяем версии:
rustc --version
cargo --version

Устанавливаем C компилятор:
apt update && apt install -y build-essential
Далее собираем проект:
cargo build --release И запускаем собранное: cargo run --release
Последующий запуск xiaozhi из папки скаченного проекта:
./target/release/xiaozhi_linux_rs
Чтоб отключить постоянное прослушивание, нужно послать команду:
echo '{"type":"listen","state":"start","mode":"manual"}' | nc -u -w0 127.0.0.1 5678
А чтоб включить обратно:
echo '{"type":"listen","state":"start","mode":"auto"}' | nc -u -w0 127.0.0.1 5678
Ну а теперь про главную фишку – запуск скриптов средствами XIaozhi (голосом).
Когда вы первый раз запускаете xiaozhi. В папке, из которой вы запускали его, создается файл xiaozhi_config.json
Рядом с этим файлом, нужно положить скрипт.
Например мой скрипт из видео, показывает uptime сервера, загруженность процессора, свободное место и какой процесс больше всего занимает ресурсов.
Этот скрипт создается такой командой. Эта одна команда, которую нужно ввести рядом с файлом xiaozhi_config.json
cat > cpu_load.sh << 'EOF'
#!/bin/bash
echo "=== Нагрузка процессора ==="
uptime
echo ""
echo "=== Load Average ==="
cat /proc/loadavg
echo ""
echo "=== CPU (top) ==="
top -bn1 | head -n 8
exit 0
EOF
chmod +x cpu_load.sh
Далее редактируем файл
nano xiazhi_config.json
"mcp": {
"enabled": true,
"tools": [
{
"name": "get_cpu_load",
"description": "Получить текущую нагрузку процессора (CPU load), uptime и краткую информацию о системе. Вызывать, когда пользователь спрашивает про нагрузку, загрузку процессора, работает ли система тяжело, сколько работает.",
"type": "subprocess",
"executable": "./cpu_load.sh",
"mode": "sync",
"timeout_ms": 5000,
"input_schema": {
"type": "object",
"properties": {}
}
}
]
}
