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"
}'

參數說明

參數類型預設值說明
limitint25回傳記錄數量(最大 200)
offsetint0分頁偏移
cachedNamestringnull用聯絡人名稱搜尋
numberstringnull用電話號碼搜尋
dateStartlongnull開始時間(毫秒時間戳)
dateEndlongnull結束時間(毫秒時間戳)
durationlongnull通話時長(秒)
typeintnull通話類型

通話類型(type)

type 值說明範例
1來電(INCOMING)有人打給你
2去電(OUTGOING)你打給別人
3未接來電(MISSED)有人打來但你没接
4拒接(REJECTED)你拒絕接聽
5封鎖(BLOCKED)被封鎖的電話
6語音信箱(VOICEMAIL)語音留言

四、回傳資料格式

{
  "callLogs": [
    {
      "number": "XXX-XXXX-XXX",
      "cachedName": "[姓名已遮蔽]",
      "date": XXXXXXXXXXXX,
      "duration": 37,
      "type": 1
    },
    {
      "number": "XXX-XXXX-XXX",
      "cachedName": null,
      "date": XXXXXXXXXXXX,
      "duration": 6,
      "type": 3
    }
  ]
}

欄位說明:

欄位類型說明
numberstring電話號碼
cachedNamestring聯絡人名稱(如果有的話)
datelong通話時間(毫秒時間戳)
durationint通話時長(秒)
typeint通話類型

五、實際測試結果

測試 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 上被列為「特殊權限」。

開啟方式:

  1. 安裝 ThirdParty 版本的 OpenClaw App(Play 版本沒有這個權限)
  2. 在 Android 設定中授權「通話記錄」權限

2. 通話記錄時間範圍

手機只會保存一定時間範圍內的通話記錄,具體取決於:

  • Android 系統設定
  • 手機製造商的設定
  • 第三方通話記錄 App

3. 隱私保護

OpenClaw Node App 只會將通話記錄資料轉發給 Gateway,不會儲存在任何雲端伺服器


八、與其他功能的比較

CallLog vs Notifications

功能用途資料範圍
CallLog通話記錄僅通話記錄
Notifications通知所有 App 的通知

CallLog vs Contacts

功能用途資料範圍
CallLog通話記錄通話歷史
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 有兩個版本:

版本CALL_LOG 權限SMS 權限說明
Play❌ 沒有❌ 沒有Google Play 發布版本
ThirdParty✅ 有✅ 有第三方發布版本

如果你需要使用 callLog.searchsms.send 功能,需要安裝 ThirdParty 版本。


十一、結語

CallLog 功能是 OpenClaw Node App 中非常實用的功能之一。它讓你能夠:

  • 📞 查詢通話歷史:快速確認誰打過電話給你
  • 🔍 搜尋特定號碼:快速找到某人的通話記錄
  • 📊 統計通話:了解一段時間的通話情況
  • 時間範圍查詢:查詢特定時段的記錄

這個功能完全運行在你的本地裝置上,不會將通話資料上傳到任何雲端伺服器,隱私安全有保障。


文章更新:2026-04-19

感謝微風提供測試設備和建議!

留言