@agora-build/dialf
v0.1.19
Published
DialF — autonomous phone pick/call daemon (dialfd) + CLI
Readme
@agora-build/dialf
CLI for DialF — an autonomous phone pick/call system. The dialf CLI commands a phone
(via the dialfd daemon) to make/answer real calls and send/receive SMS over WiFi, while
call audio is bridged through a USB sound card on the host.
This package downloads the prebuilt native dialf binary (with onnxruntime + the ten-vad
model bundled) for your platform on install.
Install
npm install -g @agora-build/dialf
# or, without npm:
curl -fsSL https://dl.agora.build/dialf/install.sh | bashSupported platforms: macOS (arm64/x86_64) and Linux (x86_64/aarch64). The postinstall step
fetches the matching binary from the GitHub Releases;
it never hard-fails npm install — if no prebuilt exists for your platform it prints
guidance to build from source.
The phone app (DialF Phone)
This package installs the controller (dialf CLI + dialfd). The phone DialF controls
runs the DialF Phone Android app — it places/answers/rejects calls, sends/reads SMS, and
reads the call log/SIMs on command, while call audio is bridged through the host's USB sound
card. Install it on the phone and pair it to dialfd with a shared key:
- Newest APK: https://dl.agora.build/dialf/dialf-phone-latest.apk
- All versions: https://github.com/Agora-Build/DialF/releases
See the main repository for the end-to-end setup walkthrough and the phone-app reference.
Run the daemon as a service
npm install only installs the CLI. To run dialfd in the background:
sudo dialf service install # boot service (launchd/systemd)
dialf service install --user # or per-user (login), no sudoUsage
dialf daemon # run dialfd in the foreground
dialf devices # list connected phones
dialf sims <device> # list SIMs (default tagged)
dialf call dial <device> <number> [--sim <sub_id>] # place a call (default SIM if omitted)
dialf call pickup <device> # answer the ringing call
dialf call hangup <device> # end the active call
dialf call reject <device> [--drop] # decline ringing call (--drop = answer+hangup, no voicemail)
dialf call list <device> # read the call log (JSON)
dialf voicemail off|on <device> [--sim N] # toggle carrier voicemail (MMI)
dialf mmi <device> <code> [--sim N] # (advanced) raw MMI/USSD code
dialf sms send <device> <to> <body>
dialf sms list <device>
dialf run <job.yaml> [--device <id>]
dialf play <file>Full documentation, protocol, and the phone app live in the main repository.
License
MIT
