{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}
Điện thoại
Cung cấp các chức năng cho điện thoại Hermes mà không cần thay đổi công cụ cốt lõi. Cung cấp và duy trì số Twilio, gửi và nhận SMS/MMS, thực hiện cuộc gọi trực tiếp cũng như thực hiện cuộc gọi đi do AI điều khiển thông qua Bland.ai hoặc VAPI.
Siêu dữ liệu kỹ năng
| Nguồn | Tùy chọn — cài đặt với |
| `Hermes skills install official/productivity/telephony | |
| ` | |
| Đường dẫn |
optional-skills/productivity/telephony ` | | Phiên bản |
1.0.0 ` | | Tác giả | Nghiên cứu Nous | | Giấy phép | MIT | | Nền tảng | Linux, macOS, Windows | | Thẻ |
telephony
, `phone
, `sms
, `mms
, `voice
, `twilio
, `bland.ai
, `vAPI
, `calling
,
texting |
| Kỹ năng liên quan | XPROTECTX42XPROTECTX, XPROTECTX43XPROTECTX, XPROTECTX44XPROTECTX |
Tham khảo: đầy đủ SKILL.md
Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.
Điện thoại - Số, cuộc gọi và tin nhắn không có thay đổi công cụ cốt lõi
Kỹ năng tùy chọn này mang lại cho Hermes khả năng sử dụng điện thoại thực tế trong khi vẫn loại điện thoại ra khỏi danh sách công cụ cốt lõi.
Nó đi kèm với tập lệnh trợ giúp, `scripts/telephony.py
, có thể:
- lưu thông tin xác thực của nhà cung cấp vào
~/.Hermes/.env
- tìm kiếm và mua số điện thoại Twilio
- nhớ số sở hữu đó cho các phiên sau
- gửi SMS / MMS từ số sở hữu
- thăm dò ý kiến SMS gửi đến cho số đó mà không cần máy chủ webhook
- thực hiện cuộc gọi Twilio trực tiếp bằng TwiML
<Say> ` hoặc
<Play>
- nhập số Twilio sở hữu vào VAPI
- thực hiện các cuộc gọi AI đi thông qua Bland.ai hoặc VAPI
Điều này giải quyết được gì
Kỹ năng này nhằm đáp ứng các tác vụ thực tế trên điện thoại mà người dùng thực sự mong muốn:
- cuộc gọi đi
- nhắn tin
- sở hữu số đại lý có thể tái sử dụng
- kiểm tra tin nhắn đến số đó sau
- bảo quản số đó và ID liên quan giữa các phiên
- nhận dạng điện thoại thân thiện với tương lai để thăm dò ý kiến qua SMS trong nước và các hoạt động tự động hóa khác
Nó không biến Hermes thành một cổng điện thoại gửi đến theo thời gian thực. SMS gửi đến được xử lý bằng cách thăm dò API Twilio REST. Điều đó là đủ cho nhiều quy trình làm việc, bao gồm thông báo và một số thao tác truy xuất mã một lần mà không cần thêm cơ sở hạ tầng webhook cốt lõi.
Quy tắc an toàn - bắt buộc
- Luôn xác nhận trước khi thực hiện cuộc gọi hoặc gửi tin nhắn.
- Không bao giờ quay số khẩn cấp.
- Không bao giờ sử dụng điện thoại để quấy rối, gửi thư rác, mạo danh hoặc bất cứ điều gì bất hợp pháp.
- Coi số điện thoại của bên thứ ba là dữ liệu hoạt động nhạy cảm:
- không lưu chúng vào bộ nhớ Hermes
- không đưa chúng vào tài liệu kỹ năng, bản tóm tắt hoặc ghi chú tiếp theo trừ khi người dùng rõ ràng muốn điều đó
- Bạn có thể duy trì số Twilio do đại lý sở hữu vì đó là một phần cấu hình của người dùng.
- Số VoIP không được đảm bảo sẽ hoạt động cho tất cả các luồng 2FA của bên thứ ba. Sử dụng thận trọng và đặt kỳ vọng của người dùng một cách rõ ràng.
Cây quyết định — sử dụng dịch vụ nào?
Sử dụng logic này thay vì định tuyến nhà cung cấp được mã hóa cứng:
1) "Tôi muốn Hermes sở hữu số điện thoại thật"
Sử dụng Twilio.
Tại sao:
- con đường dễ nhất để mua và giữ số
- hỗ trợ SMS / MMS tốt nhất
- câu chuyện bỏ phiếu qua SMS trong nước đơn giản nhất
- đường dẫn trong tương lai sạch sẽ nhất đến các webhook gửi đến hoặc xử lý cuộc gọi
Các trường hợp sử dụng:
- nhận tin nhắn sau
- gửi thông báo triển khai / thông báo cron
- duy trì danh tính điện thoại có thể sử dụng lại cho đại lý
- thử nghiệm các quy trình xác thực dựa trên điện thoại sau
2) "Hiện tại tôi chỉ cần cuộc gọi điện thoại AI ra bên ngoài dễ dàng nhất"
Sử dụng Bland.ai.
Tại sao:
- thiết lập nhanh nhất
- một khóa API
- trước tiên không cần phải mua/nhập số
Đánh đổi:
- kém linh hoạt
- Chất lượng âm thanh ở mức khá nhưng chưa phải tốt nhất
3) "Tôi muốn chất lượng giọng nói AI đàm thoại tốt nhất"
Sử dụng Twilio + VAPI.
Tại sao:
- Twilio cung cấp cho bạn số sở hữu
- VAPI mang đến cho bạn chất lượng cuộc gọi AI đàm thoại tốt hơn và tính linh hoạt hơn về giọng nói/mô hình
Lưu lượng đề xuất:
- Mua/lưu số Twilio
- Nhập nó vào VAPI
- Lưu
VAPI_PHONE_NUMBER_IDđược trả lại - Sử dụng `ai-call --provider vAPI
4) "Tôi muốn gọi bằng tin nhắn thoại được ghi âm trước tùy chỉnh"
Sử dụng Cuộc gọi trực tiếp Twilio với URL âm thanh công khai.
Tại sao:
- cách dễ nhất để phát MP3 tùy chỉnh
- kết hợp tốt với Hermes
text_to_speechcùng với máy chủ hoặc đường hầm tệp công khai
Tệp và trạng thái liên tụcKỹ năng duy trì trạng thái điện thoại ở hai nơi:
~/.Hermes/.env
Được sử dụng cho thông tin xác thực lâu dài của nhà cung cấp và ID số sở hữu, ví dụ:
`TWILIO_ACCOUNT_SID
`TWILIO_AUTH_TOKEN
`TWILIO_PHONE_NUMBER
`TWILIO_PHONE_NUMBER_SID
`BLAND_API_KEY
`VAPI_API_KEY
`VAPI_PHONE_NUMBER_ID
PHONE_PROVIDER (Nhà cung cấp cuộc gọi AI: nhạt nhẽo hoặc vAPI)
~/.Hermes/telephony_state.JSON
Được sử dụng cho trạng thái chỉ có kỹ năng sẽ tồn tại qua các phiên, ví dụ:
- ghi nhớ số Twilio mặc định / SID
- đã nhớ ID số điện thoại VAPI
- SID/ngày gửi tin nhắn gửi đến gần đây nhất cho các điểm kiểm tra bỏ phiếu trong hộp thư đến
Điều này có nghĩa là:
- vào lần tải kỹ năng tiếp theo,
diagnosecó thể cho bạn biết số nào đã được định cấu hình
twilio-inbox --since-last --mark-seen có thể tiếp tục từ điểm kiểm tra trước đó
Xác định vị trí tập lệnh trợ giúp
Sau khi cài đặt kỹ năng này, hãy tìm tập lệnh như thế này:
SCRIPT="$(find ~/.Hermes/skills -path '*/telephony/scripts/telephony.py' -print -quit)"
`
``Nếu
`SCRIPT
` trống nghĩa là kỹ năng chưa được cài đặt.
## Cài đặt
Đây là một kỹ năng tùy chọn chính thức, vì vậy hãy cài đặt nó từ Trung tâm kỹ năng:
`bash
Hermes skills search telephony
Hermes skills install official/productivity/telephony
`
## Thiết lập nhà cung cấp
### Twilio — số sở hữu, SMS/MMS, cuộc gọi trực tiếp, thăm dò ý kiến qua SMS gửi đến
Đăng ký tại:
- https://www.twilio.com/try-twilio
Sau đó lưu thông tin đăng nhập vào Hermes:
``` bash
Python3 "$SCRIPT" save-twilio ACXXXXXXXXXXXXXXXXXXXXXXXXXXXX your_auth_token_here
`
``Tìm kiếm số có sẵn:
`bash
Python3 "$SCRIPT" twilio-search --country US --area-code 702 --limit 5
`
``Mua và ghi nhớ một số:
`bash
Python3 "$SCRIPT" twilio-buy "+17025551234" --save-env
`
``Liệt kê các số sở hữu:
`bash
Python3 "$SCRIPT" twilio-owned
`
``Đặt một trong số chúng làm mặc định sau:
`bash
Python3 "$SCRIPT" twilio-set-default "+17025551234" --save-env
# or
Python3 "$SCRIPT" twilio-set-default PNXXXXXXXXXXXXXXXXXXXXXXXXXXXX --save-env
`
### Bland.ai — cuộc gọi đi bằng AI dễ dàng nhất
Đăng ký tại:
- https://app.bland.ai
Lưu cấu hình:
``` bash
Python3 "$SCRIPT" save-bland your_bland_API_key --voice mason
`
### VAPI — chất lượng đàm thoại tốt hơn
Đăng ký tại:
- https://dashboard.vAPI.ai
Lưu khóa API trước:
``` bash
Python3 "$SCRIPT" save-vAPI your_vAPI_API_key
`
``Nhập số Twilio mà bạn sở hữu vào VAPI và lưu giữ ID số điện thoại được trả về:
`bash
Python3 "$SCRIPT" vAPI-import-twilio --save-env
`
``Nếu bạn đã biết ID số điện thoại VAPI thì lưu trực tiếp:
`bash
Python3 "$SCRIPT" save-vAPI your_vAPI_API_key --phone-number-id vAPI_phone_number_id_here
`
## Chẩn đoán trạng thái hiện tại
Bất cứ lúc nào, hãy kiểm tra những gì kỹ năng đã biết:
`bash
Python3 "$SCRIPT" diagnose
`
``Hãy sử dụng tính năng này trước khi tiếp tục công việc ở phiên sau.
## Quy trình công việc chung
### A. Mua số đại lý và tiếp tục sử dụng sau này
1. Lưu thông tin đăng nhập Twilio:
`
`bash
Python3 "$SCRIPT" save-twilio AC... auth_token_here
`
2. Tìm kiếm số:
`
`bash
Python3 "$SCRIPT" twilio-search --country US --area-code 702 --limit 10
`
3. Mua về và lưu vào trạng thái
~/.Hermes/.env
+:
`
`bash
Python3 "$SCRIPT" twilio-buy "+17025551234" --save-env
`
4. Phiên tiếp theo, chạy:
`
`bash
Python3 "$SCRIPT" diagnose
`
Điều này hiển thị số mặc định đã ghi nhớ và trạng thái điểm kiểm tra hộp thư đến.
### B. Gửi tin nhắn từ số đại lý
`bash
Python3 "$SCRIPT" twilio-send-sms "+15551230000" "Your deployment completed successfully."
`
``Với phương tiện truyền thông:
`bash
Python3 "$SCRIPT" twilio-send-sms "+15551230000" "Here is the chart." --media-url "https://example.com/chart.png"
`
### C. Kiểm tra văn bản gửi đến sau mà không cần máy chủ webhook
Thăm dò hộp thư đến để tìm số Twilio mặc định:
`bash
Python3 "$SCRIPT" twilio-inbox --limit 20
`
``Chỉ hiển thị các tin nhắn đến sau điểm kiểm tra cuối cùng và chuyển điểm kiểm tra khi bạn đọc xong:
`bash
Python3 "$SCRIPT" twilio-inbox --since-last --mark-seen
`
``Đây là câu trả lời chính cho “làm cách nào để truy cập tin nhắn mà số đó nhận được vào lần tải kỹ năng tiếp theo?”
### D. Thực hiện cuộc gọi Twilio trực tiếp với TTS tích hợp
`bash
Python3 "$SCRIPT" twilio-call "+15551230000" --message "Hello! This is Hermes calling with your status update." --voice Polly.Joanna
`
### E. Gọi bằng tin nhắn thoại được ghi sẵn/tùy chỉnh
Đây là con đường chính để sử dụng lại hỗ trợ
`text_to_speech
` hiện có của Hermes.
Sử dụng điều này khi:
- bạn muốn cuộc gọi sử dụng giọng nói TTS đã định cấu hình của Hermes thay vì Twilio
<Say>
- bạn muốn gửi giọng nói một chiều (tóm tắt, cảnh báo, đùa, nhắc nhở, cập nhật trạng thái)
- bạn **không** cần một cuộc gọi điện thoại trò chuyện trực tiếp
Tạo hoặc lưu trữ âm thanh riêng biệt, sau đó:
``` bash
Python3 "$SCRIPT" twilio-call "+155****0000" --audio-url "https://example.com/briefing.mp3"
`
``Hermes TTS được đề xuất -> Quy trình làm việc của Twilio Play:
1. Tạo âm thanh với Hermes
`text_to_speech
.
2. Làm cho MP3 thu được có thể truy cập công khai.
3. Thực hiện cuộc gọi Twilio bằng
--audio-url
.
Dòng tác nhân ví dụ:
- Yêu cầu Hermes tạo âm thanh tin nhắn bằng
`text_to_speech
- Nếu cần, hãy hiển thị tệp có URL lưu trữ đối tượng/đường hầm/máy chủ tĩnh tạm thời
- Sử dụng
`twilio-call --audio-url ...
` để giao hàng qua điện thoại
Tùy chọn lưu trữ tốt cho MP3:
- URL lưu trữ/đối tượng công khai tạm thời
- một đường hầm tồn tại trong thời gian ngắn đến máy chủ tệp tĩnh cục bộ
- mọi URL HTTPS hiện có mà nhà cung cấp điện thoại có thể tìm nạp trực tiếp
Lưu ý quan trọng:
- Hermes TTS rất phù hợp cho các tin nhắn gửi đi được ghi sẵn
- Bland/VAPI phù hợp hơn cho **các cuộc gọi AI đàm thoại trực tiếp** vì chúng tự xử lý ngăn xếp âm thanh điện thoại theo thời gian thực
- Riêng Hermes STT/TTS không được sử dụng ở đây làm công cụ đàm thoại song công hoàn toàn trên điện thoại; điều đó sẽ yêu cầu tích hợp phát trực tuyến/webhook nặng hơn nhiều so với kỹ năng này đang cố gắng giới thiệu### F. Điều hướng cây điện thoại / IVR bằng tính năng gọi trực tiếp Twilio
Nếu bạn cần nhấn các chữ số sau khi cuộc gọi kết nối, hãy sử dụng
--send-digits
.
Twilio hiểu
`w
` là một khoảng thời gian chờ đợi ngắn.
``` bash
Python3 "$SCRIPT" twilio-call "+18005551234" --message "Connecting to billing now." --send-digits "ww1w2w3"
`
``Điều này rất hữu ích để tiếp cận một nhánh menu cụ thể trước khi giao cho con người hoặc gửi một thông báo trạng thái ngắn.
### G. Cuộc gọi điện thoại AI đi với Bland.ai
`bash
Python3 "$SCRIPT" ai-call "+15551230000" "Call the dental office, ask for a cleaning appointment on Tuesday afternoon, and if they do not have Tuesday availability, ask for Wednesday or Thursday instead." --provider bland --voice mason --max-duration 3
`
``Kiểm tra trạng thái:
`bash
Python3 "$SCRIPT" ai-status <call_id --provider bland
`
``Đặt câu hỏi phân tích nhạt nhẽo sau khi hoàn thành:
`bash
Python3 "$SCRIPT" ai-status <call_id --provider bland --analyze "Was the appointment confirmed?,What date and time?,Any special instructions?"
`
### H. Gọi điện thoại AI đi với VAPI theo số của bạn
1. Nhập số Twilio của bạn vào VAPI:
`
`bash
Python3 "$SCRIPT" vAPI-import-twilio --save-env
`
2. Thực hiện cuộc gọi:
`
`bash
Python3 "$SCRIPT" ai-call "+15551230000" "You are calling to make a dinner reservation for two at 7:30 PM. If that is unavailable, ask for the nearest time between 6:30 and 8:30 PM." --provider vAPI --max-duration 4
`
3. Kiểm tra kết quả:
`
`bash
Python3 "$SCRIPT" ai-status <call_id --provider vAPI
`
## Thủ tục đại lý được đề xuất
Khi người dùng yêu cầu gọi điện hoặc nhắn tin:
1. Xác định đường dẫn nào phù hợp với yêu cầu thông qua cây quyết định.
2. Chạy
`diagnose
` nếu trạng thái cấu hình không rõ ràng.
3. Thu thập đầy đủ chi tiết nhiệm vụ.
4. Xác nhận với người dùng trước khi quay số hoặc nhắn tin.
5. Sử dụng lệnh đúng.
6. Thăm dò kết quả nếu cần.
7. Tóm tắt kết quả mà không lưu giữ số của bên thứ ba vào bộ nhớ của Hermes.
## Kỹ năng này vẫn chưa làm được gì
- trả lời cuộc gọi đến theo thời gian thực
- đẩy SMS trực tiếp dựa trên webhook vào vòng lặp đại lý
- hỗ trợ được đảm bảo cho các nhà cung cấp 2FA bên thứ ba tùy ý
Những điều đó sẽ đòi hỏi nhiều cơ sở hạ tầng hơn là một kỹ năng tùy chọn thuần túy.
## cạm bẫy
- Tài khoản dùng thử Twilio và quy định khu vực có thể hạn chế người bạn có thể gọi điện/nhắn tin.
- Một số dịch vụ từ chối số VoIP cho 2FA.
-
`twilio-inbox
` thăm dò API REST; nó không phải là giao hàng đẩy ngay lập tức.
- Gọi đi VAPI vẫn phụ thuộc vào số nhập hợp lệ.
- Nhạt nhẽo là dễ nhất, nhưng không phải lúc nào cũng hay nhất.
- Không lưu trữ số điện thoại của bên thứ ba tùy ý trong bộ nhớ Hermes.
## Danh sách kiểm tra xác minh
Sau khi thiết lập, bạn sẽ có thể thực hiện tất cả những điều sau chỉ với kỹ năng này:
1.
`diagnose
` hiển thị trạng thái sẵn sàng và ghi nhớ của nhà cung cấp
2. tìm kiếm và mua số Twilio
3. duy trì số đó thành
~/.Hermes/.env
4. gửi SMS từ số sở hữu
5. thăm dò tin nhắn gửi đến cho số sở hữu sau
6. thực hiện cuộc gọi Twilio trực tiếp
7. thực hiện cuộc gọi AI qua Bland hoặc VAPI
## Tài liệu tham khảo
- Số điện thoại Twilio: https://www.twilio.com/docs/phone-numbers/API
- Nhắn tin Twilio: https://www.twilio.com/docs/messaging/API/message-resource
- Giọng nói Twilio: https://www.twilio.com/docs/voice/API/call-resource
- Tài liệu VAPI: https://docs.vAPI.ai/
- Bland.ai: https://app.bland.ai/