← 返回
数据分析 中文

iMessage & Signal Analyzer

Analyze iMessage (macOS) and Signal conversation history to reveal relationship dynamics — message volume, initiation patterns, silence gaps, tone samples, a...
分析 iMessage (macOS) 和 Signal 的聊天记录,揭示关系动态:包括消息量、发起模式、沉默间隔、语气样本等。
terellison
数据分析 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 1,102
下载
💾 14
安装
1
版本
#latest

概述

iMessage & Signal Analyzer

Analyze iMessage (macOS) and Signal conversations to produce relationship reports.

Prerequisites

macOS (iMessage)

iMessage data is stored locally on macOS. Depending on your security settings, you may need to grant Full Disk Access:

Option 1: Run the script directly with Python (no special permissions needed if you have read access to ~/Library/Messages/chat.db)

Option 2: If you get a permission error, grant Full Disk Access:

  • Open System Settings → Privacy & Security → Full Disk Access
  • Click + and add Python or your terminal app

Linux / Windows (Signal only)

  • iMessage is not available on Linux/Windows
  • Signal analysis works via exported JSON

Signal (All Platforms)

  • Install signal-cli: brew install signal-cli (macOS) or see https://github.com/AsamK/signal-cli
  • Link your device: signal-cli link and scan QR code
  • Export messages: signal-cli export --output ~/signal_export.json

Usage

iMessage Analysis

python3 skills/message-analyzer/scripts/analyze.py imessage <phone_or_handle>

Examples:

python3 skills/message-analyzer/scripts/analyze.py imessage "+15551234567"
python3 skills/message-analyzer/scripts/analyze.py imessage "+15551234567" --limit 500

Signal Analysis

First, export your Signal data (one-time):

signal-cli export --output ~/signal_export.json

Then analyze:

python3 skills/message-analyzer/scripts/analyze.py signal ~/signal_export.json <phone_or_name>

Examples:

python3 skills/message-analyzer/scripts/analyze.py signal ~/signal_export.json "+15551234567"
python3 skills/message-analyzer/scripts/analyze.py signal ~/signal_export.json "+15559876543"

Finding a Contact's Number

iMessage

If you have a name but not a number:

DB=$(ls ~/Library/Application\ Support/AddressBook/Sources/*/AddressBook-v22.abcddb 2>/dev/null | head -1)
sqlite3 "$DB" "SELECT ZFIRSTNAME, ZLASTNAME FROM ZABCDRECORD WHERE ZFIRSTNAME LIKE '%Name%';"

If AddressBook returns no results, ask the user for the number.

Signal

Signal exports include phone numbers in the JSON. Search by name or number.

Key Data Caveats

iMessage

  • Your sent messages may only exist from the current device's setup date — older sent messages are lost when switching devices. This skews initiation stats.
  • Binary messages (attributedBody) are partially decoded — some formatting artifacts like +@ prefixes may appear in samples; these are normal.
  • Multiple handles: One contact may have 2–3 duplicate handles (iMessage + SMS + RCS). The script aggregates them automatically.

Signal

  • Export required: You must export Signal data first using signal-cli export
  • Media: Exported JSON contains message text; media (images, files) is not included
  • Reactions: Emoji reactions are included as separate message entries

Analysis Output

The script produces:

  • Total message count (you vs. them)
  • Date range
  • Messages per year with volume bar
  • Conversation initiation breakdown (new convo = gap > 4 hours)
  • Notable silences (>30 days)
  • Sample messages by year
  • Most recent 10 messages

Interpreting Results

After running the script, synthesize findings conversationally:

  • Volume patterns: When was the friendship most active? Any notable surges or drops?
  • Initiation skew: Who reaches out first? (Note: your sent messages may be missing from old periods)
  • Gaps: Were long silences mutual drift or explainable (device switch, platform change, life event)?
  • Tone/content: What do the sample messages reveal about the relationship's energy?
  • Context from user: Always ask the user to fill in context gaps

Present the analysis conversationally, not just as raw numbers. Offer a genuine take on the relationship dynamic.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-29 09:48 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 163 📥 59,692
content-creation

Reddit Archive

terellison
下载并归档来自指定用户或子版块的Reddit帖子,包括图片、GIF和视频,并提供筛选和排序功能。
★ 0 📥 1,239
data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 198 📥 64,876