7 releases
Uses new Rust 2024
new 0.1.0-alpha.7 | Mar 26, 2025 |
---|---|
0.1.0-alpha.4 | Mar 25, 2025 |
#251 in Audio
134 downloads per month
25KB
657 lines
use xiaoai::{load_or_login_and_save, device_by_alias, OpPayloadBuilder, OpResponse, OpApi, ApiCaller as _};
use api_req::ApiCaller;
let auth_data = load_or_login_and_save("auth_data.json").await;
let device = device_by_alias(&auth_data, "卧室的小爱/XiaoAi in bedroom").await;
let payload = OpPayloadBuilder::new(auth_data, device.device_id).volume(50, "music");
let resp: OpResponse = OpApi::request(payload).await.unwrap();
let payload = OpPayloadBuilder::new(auth_data, device_id).speak("Hello world!");
let resp: OpResponse = OpApi::request(payload).await.unwrap();
let payload = LastAskPayload::new(&auth_data, &device, 2);
let resp: LastAskResponse = RecordApi::request(payload).await.unwrap();
Currently, account_id and account_password can only be loaded from env var.
ACCOUNT_ID=
ACCOUNT_PASSWORD=
Supported operations:
- speak
- volume
- pause and resume
- play url
- status query
- query chat history or record
Acknowledgement
Dependencies
~10–27MB
~320K SLoC