Preface¶
The philosophy of DSH is “everything is a plugin”; the community directory is an independent site, not an official app store. dsh-plugin-call-me is a DSH plugin designed for telephone outreach. It transforms the handling of “user away from keyboard” from a simple notification to a phone call: the agent dials a 10-digit number via /call-me, the issue is read aloud, and your verbal response is transcribed and sent back to the current running instance.
This plugin is described below in terms of capabilities, installation, configuration, and important notes.
What This Is¶
The repository path for dsh-plugin-call-me is radres/dsh-plugin-call-me, licensed under MIT, with package.json requirements:
node >=20
dsh >=0.0.1
It runs as a standard Cordis plugin without patching the core.
The target scenario for this plugin is: the DSH instance is still running, but the operator has left the terminal and needs to continue approving, correcting, or adding a response. It dials the iPhone via the /call-me service, the conversation is transcribed in real time, and it is claimed that no data is stored; the agent only dials the 10-digit /call-me number and does not know the real phone number.
Core Features¶
Proactive Tools¶
call_me and text_me are two tools that the model can invoke.
call_me: Dials a phone call, reads a question aloud, waits, and returns a transcribed voice answer, blocking for up to 5 minutes.text_me: Sends a one-way text message, returns immediately, and indicates whether the phone actually displays it.
End-of-Turn Reachability¶
After a run stops, a text message or phone call can be sent based on configuration, and the response is sent back to the run.
Common configuration includes:
turnEnd.mode: call: After the run stops, reach the user via phone call.turnEnd.graceSeconds: How long to wait after the run stops before reaching out.
Phone Approval¶
When a tool is awaiting authorization, decisions can be made via text message or voice call.
When configured as approval.mode: answer:
- A clear verbal affirmation is treated as approval;
- Otherwise, it is rejected;
- Phone approval only accepts an explicit “yes”; everything else is rejected;
- This mode holds the desktop prompt until the phone is answered.
Mobile Replies Enter the Session¶
Replies sent from the mobile device can enter the corresponding run:
- An idle run can be woken up by
agent.followup(); - If busy, it can be injected at the next step via
agent.inject().
Installation and Activation¶
First, ensure the local machine meets the requirements node >=20 and dsh >=0.0.1, then add the plugin:
dsh plugin --profile web add github:radres/dsh-plugin-call-me
It is Plain JavaScript with no build steps; the git installation does not require allowBuilds permissions.
Then pair with the iPhone:
- Obtain the
/call-meiPhone app. - Open the app to view the 10-digit number.
- Configure
config.numberin the profile’scordis.patch.yml.
Minimal configuration example:
- insert:
- id: call-me
name: dsh-plugin-call-me
config:
number: '5551234567'
All paths will resolve the number first; installation remains invalid if the number is not paired.
You can test the phone link before installation:
curl -sS https://serdaroztetik.com/aiphone/ring \
-H 'content-type: application/json' \
-d '{"to":"<YOUR_10_DIGITS>","text":"Can you hear me?","from":"dsh"}'
This step requests the /call-me service to dial the 10-digit number you see in the app and read aloud the contents of the text field.
Typical Usage¶
If you want the run to make a phone call directly after stopping and use voice for approval, you can write the following in cordis.patch.yml:
- insert:
- id: call-me
name: dsh-plugin-call-me
config:
number: '5551234567'
turnEnd:
mode: call
graceSeconds: 60
approval:
mode: answer
With the above configuration:
turnEnd.mode: callindicates that after the run stops, the user is reached via phone;turnEnd.graceSeconds: 60indicates waiting 60 seconds after stopping;approval.mode: answerindicates that when a tool is awaiting authorization, decisions are made via voice, with only an explicit “yes” resulting in approval.
Use Cases and Considerations¶
Suitable for scenarios like:
- The run has stopped, the user is away from the keyboard, but still wishes to continue the run with a brief sentence.
- When a tool requires authorization, you want to quickly approve or reject it from near your phone.
- You just want to add a brief reply from the mobile device and send it back to the corresponding DSH session.
Important notes:
- Only supports iPhone; there is no Android app.
- There is no self-hosted deployment.
- Voice answers are transcribed text; the approval path only accepts an explicit “yes”; everything else is rejected.
approval.mode: answerwill hold the desktop prompt until the phone is answered.- The plugin runs with the permissions of the current dsh process; review the source code and MIT license before installation.
Links¶
- Community directory page: https://www.skillhub.cn/plugins/radres/dsh-plugin-call-me
- GitHub: https://github.com/radres/dsh-plugin-call-me