OpenClaw Node App 通話記錄(CallLog)指令完全攻略|查詢來電、去電、未接來電
OpenClaw Node App 通話記錄(CallLog)指令完全攻略
這篇文章會介紹 OpenClaw Node App 的「通話記錄」功能,讓你能夠查詢手機上的所有通話記錄。
>
實驗日期:2026-04-19
實驗設備:Vivo V2514(Android 16)
OpenClaw 版本:2026.4.19.10ver(ThirdParty)
一、什麼是 CallLog 功能?
想像一下
當你安裝 OpenClaw Node App 並連線到你的手機後,你可以查詢手機上的所有通話記錄。包括:
- 📞 誰打給你?
- 📱 你打給誰?
- ⏰ 通話時間是什麼時候?
- ⌛ 通話時長有多久?
實用場景
- 🔍 查詢通話歷史:想知道某天是否有重要來電
- 📊 統計通話:統計某段時間的通話次數
- 👤 確認聯絡人:快速確認某個電話號碼是誰打的
- ⏰ 時間範圍查詢:查詢特定時段的通話記錄
二、CallLog 指令家族
根據官方文件和原始碼分析,CallLog 只有 1 個指令:callLog.search
沒有其他隱藏指令。
三、指令詳細說明
callLog.search
用途: 搜尋手機上的通話記錄
指令格式:
openclaw nodes invoke --node "V2514" --command callLog.search --params '{
"limit": 25,
"offset": 0,
"type": 1,
"number": "0912345678"
}'
參數說明
通話類型(type)
四、回傳資料格式
{
"callLogs": [
{
"number": "XXX-XXXX-XXX",
"cachedName": "[姓名已遮蔽]",
"date": XXXXXXXXXXXX,
"duration": 37,
"type": 1
},
{
"number": "XXX-XXXX-XXX",
"cachedName": null,
"date": XXXXXXXXXXXX,
"duration": 6,
"type": 3
}
]
}
欄位說明:
五、實際測試結果
測試 1:基本查詢
openclaw nodes invoke --node "V2514" --command callLog.search --params '{}'
結果: ✅ 成功!回傳了 25 筆記錄
{
"ok": true,
"payload": {
"callLogs": [
{ "number": "XXX-XXXX-XXX", "cachedName": null, "date": XXXXXXXXXXXX, "duration": 0, "type": 1 },
{ "number": "XXX-XXXX-XXX", "cachedName": null, "date": XXXXXXXXXXXX, "duration": 6, "type": 3 },
{ "number": "XXX-XXXX-XXX", "cachedName": null, "date": XXXXXXXXXXXX, "duration": 23, "type": 1 },
...
]
}
}
測試 2:限制回傳數量
openclaw nodes invoke --node "V2514" --command callLog.search --params '{"limit": 3}'
結果: ✅ 成功!只回傳 3 筆記錄
測試 3:篩選未接來電
openclaw nodes invoke --node "V2514" --command callLog.search --params '{"limit": 5, "type": 3}'
結果: ✅ 成功!只顯示未接來電
{
"callLogs": [
{ "number": "XXX-XXXX-XXX", "duration": 6, "type": 3 },
{ "number": "XXX-XXXX-XXX", "duration": 17, "type": 3 },
{ "number": "XXX-XXXX-XXX", "duration": 15, "type": 3 }
]
}
測試 4:搜尋特定號碼
openclaw nodes invoke --node "V2514" --command callLog.search --params '{"number": "XXX-XXXX-XXX"}'
結果: ✅ 成功!找到該號碼的所有通話記錄
{
"callLogs": [
{ "number": "XXX-XXXX-XXX", "cachedName": "[姓名已遮蔽]", "duration": 37, "type": 1 },
{ "number": "XXX-XXXX-XXX", "cachedName": "[姓名已遮蔽]", "duration": 22, "type": 2 },
{ "number": "XXX-XXXX-XXX", "cachedName": "[姓名已遮蔽]", "duration": 21, "type": 3 }
]
}
六、使用範例
範例 1:查詢今天的未接來電
# 取得今天的時間戳
# 假設今天是 2026-04-19
openclaw nodes invoke --node "V2514" --command callLog.search --params '{
"type": 3
}'
範例 2:查詢特定號碼的通話記錄
openclaw nodes invoke --node "V2514" --command callLog.search --params '{
"number": "0912345678"
}'
範例 3:查詢最近 10 筆通話
openclaw nodes invoke --node "V2514" --command callLog.search --params '{
"limit": 10
}'
範例 4:查詢某人是誰打的電話
openclaw nodes invoke --node "V2514" --command callLog.search --params '{
"cachedName": "[姓名已遮蔽]"
}'
七、注意事項
1. 需要 READCALLLOG 權限
CallLog 功能需要 READCALLLOG 權限。這個權限在 Android 上被列為「特殊權限」。
開啟方式:
- 安裝 ThirdParty 版本的 OpenClaw App(Play 版本沒有這個權限)
- 在 Android 設定中授權「通話記錄」權限
2. 通話記錄時間範圍
手機只會保存一定時間範圍內的通話記錄,具體取決於:
- Android 系統設定
- 手機製造商的設定
- 第三方通話記錄 App
3. 隱私保護
OpenClaw Node App 只會將通話記錄資料轉發給 Gateway,不會儲存在任何雲端伺服器。
八、與其他功能的比較
CallLog vs Notifications
CallLog vs Contacts
九、常見問題
Q1:為什麼我的 OpenClaw App 沒有 callLog 功能?
A:這是因為你安裝的是 Play 版本的 OpenClaw App。Play 版本預設沒有啟用 CALL_LOG 權限。需要安裝 ThirdParty 版本才能使用。
Q2:為什麼有些號碼沒有顯示聯絡人名稱?
A:這是因為該號碼沒有儲存在你的手機通訊錄中。cachedName 欄位只會顯示有儲存在通訊錄中的聯絡人名稱。
Q3:通話記錄會保存多久?
A:這取決於你的手機設定。一般來說,Android 系統會保存最近 3-6 個月的通話記錄。某些手機可能只保存 30 天。
Q4:可以刪除通話記錄嗎?
A:目前 OpenClaw Node App 的 CallLog 功能只支援讀取,不支援刪除。這是因為刪除通話記錄需要 WRITECALLLOG 權限,這是一個更敏感的權限。
十、ThirdParty 版本 vs Play 版本
OpenClaw Android App 有兩個版本:
如果你需要使用 callLog.search 或 sms.send 功能,需要安裝 ThirdParty 版本。
十一、結語
CallLog 功能是 OpenClaw Node App 中非常實用的功能之一。它讓你能夠:
- 📞 查詢通話歷史:快速確認誰打過電話給你
- 🔍 搜尋特定號碼:快速找到某人的通話記錄
- 📊 統計通話:了解一段時間的通話情況
- ⏰ 時間範圍查詢:查詢特定時段的記錄
這個功能完全運行在你的本地裝置上,不會將通話資料上傳到任何雲端伺服器,隱私安全有保障。
文章更新:2026-04-19
感謝微風提供測試設備和建議!
留言
張貼留言
歡迎留下您的心靈足跡👍