通讯录查询

2小时前更新 2 00

查询macOS通讯录

收录时间:
2026-02-26
通讯录查询通讯录查询
通讯录查询

技能简介

通过 AppleScript 调用 macOS 系统自带的 Contacts.app,实现联系人信息的快速检索。支持按电话号码或姓名进行匹配查询,返回联系人姓名、电话及邮箱信息。

能做什么

  • 根据电话号码反查联系人姓名
  • 按姓名(部分匹配)搜索联系人
  • 获取联系人的完整电话和邮箱列表
  • 列出通讯录中所有联系人姓名

使用说明

安装要求

本技能无需额外安装,但需满足以下条件:

  • 运行 macOS 系统(Darwin)
  • 系统已启用 Contacts.app
  • 首次运行时需在「系统设置 > 隐私与安全性 > 自动化」中授予终端访问通讯录的权限

基础用法

按电话号码查询(仅返回姓名):

osascript -e 'tell application "Contacts" to get name of every person whose value of phones contains "+1XXXXXXXXXX"'

按姓名搜索:

osascript -e 'tell application "Contacts" to get name of every person whose name contains "John"'

获取完整联系信息(推荐模式):

osascript -e 'tell application "Contacts"
  set matches to every person whose value of phones contains "+1XXXXXXXXXX"
  if length of matches > 0 then
    set p to item 1 of matches
    return {name of p, value of phones of p, value of emails of p}
  end if
end tell'

关键注意事项

  • 电话号码必须完全匹配存储格式(含国家码如 +1),否则查询失败
  • 避免使用 first person whose 语法,存在稳定性问题
  • 姓名搜索不区分大小写,支持部分匹配

输入与输出

见下方输入与输出表格。

项目内容
输入电话号码(字符串,需完全匹配存储格式)或姓名(字符串,支持部分匹配)
输出逗号分隔的字符串:姓名, 电话1, [电话2…], 邮箱1, [邮箱2…];无匹配时返回空
适用人群macOS 用户、需本地通讯录查询的开发者、电话反查场景使用者
不包含跨平台支持、通讯录写入功能、云端账户自动同步、模糊号码匹配

 

风险提示

  • 电话号码查询依赖精确字符串匹配,格式不一致将导致无结果
  • 需要用户手动授权终端访问通讯录,未授权时脚本会静默失败
  • 大量联系人查询可能影响响应速度
  • 空结果返回空字符串而非错误提示,需调用方自行判断

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/tyler6204/apple-contacts/SKILL.md
来源类型:GitHub 开源仓库

数据统计

相关导航

暂无评论

none
暂无评论...