← 返回 Skills 市场
jpreagan

imsgctl

作者 James Reagan · GitHub ↗ · v1.0.0 · MIT-0
darwinlinux ✓ 安全检测通过
127
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install imsgctl
功能描述
Read Apple Messages data with imsgctl: check access, list chats, inspect message history, filter by time, include attachment metadata, and watch new activity...
使用说明 (SKILL.md)

imsgctl

Use imsgctl to read Apple Messages data available on the current machine.

Use This Skill When

  • The user wants to inspect iMessage or SMS data from Apple Messages.
  • The user wants to list recent chats.
  • The user wants message history for a specific chat.
  • The user wants to filter message history by time.
  • The user wants attachment metadata.
  • The user wants to watch for new messages or reactions.

Do Not Use This Skill When

  • The user wants to send or reply to a message.
  • The user wants to delete, edit, react to, or otherwise modify Messages data.
  • The request is about Slack, Discord, Telegram, Signal, WhatsApp, or another messaging system.

Operating Rules

  • Prefer --json when results may be parsed or reused.
  • imsgctl health --json emits one JSON object.
  • imsgctl chats --json, history --json, and watch --json emit JSONL.
  • Use --db PATH when the user gives a specific database path or when the backend must be explicit.
  • Use watch only for live monitoring. It streams until interrupted.

Defaults And Access

  • On macOS, running without --db prefers ~/Library/Application Support/imsgkit/replica.db when a valid replica exists. Otherwise it falls back to ~/Library/Messages/chat.db.
  • On Linux, running without --db reads ~/.local/share/imsgkit/replica.db, or $XDG_DATA_HOME/imsgkit/replica.db when XDG_DATA_HOME is set to an absolute path.
  • Direct access to ~/Library/Messages/chat.db requires macOS and Full Disk Access for the process doing the reading.
  • If contact resolution is unavailable, chat and sender labels may fall back to raw identifiers.

Common Commands

Check Access

imsgctl health --json

List Recent Chats

imsgctl chats --limit 20 --json

Read Recent History For A Chat

imsgctl history --chat-id 42 --limit 50 --json

Read History With Attachment Metadata

imsgctl history --chat-id 42 --limit 50 --attachments --json

Read History In A Time Window

imsgctl history \
  --chat-id 42 \
  --limit 50 \
  --start 2026-03-01T00:00:00Z \
  --end 2026-03-02T00:00:00Z \
  --json

Watch New Activity

imsgctl watch --chat-id 42 --json

Watch New Messages, Attachments, and Reactions

imsgctl watch --chat-id 42 --attachments --reactions --json

Use An Explicit Database Path

imsgctl chats --db ~/Library/Application\ Support/imsgkit/replica.db --limit 20 --json
imsgctl history --db ~/.local/share/imsgkit/replica.db --chat-id 42 --limit 50 --json

Recommended Workflow

  1. Run imsgctl health --json to confirm access.
  2. Run imsgctl chats --limit 20 --json to identify the target chat.
  3. Use the returned chat ID with imsgctl history --chat-id ... --json.
  4. Add --start, --end, --limit, or --attachments only as needed.
  5. Use imsgctl watch only if the user asked for live monitoring.

Viewing Image Attachments

When --attachments reveals an image, the file is often too large to read directly. Convert it to a smaller JPEG preview, then read the result:

  • macOS: sips -s format jpeg -Z 800 "/path/to/image.heic" --out /tmp/preview.jpg
  • Linux: magick "/path/to/image.heic" -resize 800x800 /tmp/preview.jpg

Failure Modes

  • If direct macOS reads fail, check Full Disk Access first.
  • If the expected local database path is missing, access will fail until the correct database is available on the current machine.
  • If chat labels are ambiguous or missing, rely on chat IDs and raw identifiers.
安全使用建议
This skill is coherent for inspecting local Apple Messages data, but you should consider privacy and trust before installing: imsgctl will read highly sensitive local data (chat.db or replica.db) and on macOS may require Full Disk Access for the agent process. The brew formula comes from a third‑party tap (jpreagan/tap) — verify you trust that source before installing. Note that the instructions recommend using sips or ImageMagick to produce attachment previews; those tools may not be present and using /tmp for previews can expose temporary files. If you want to limit risk, only invoke the skill interactively (don’t grant it broad autonomous execution), verify the brew formula source, and ensure the agent process has only the minimal permissions needed (do not grant Full Disk Access unless you intentionally want the agent to read Messages data).
能力评估
Purpose & Capability
Name/description match the runtime instructions: the skill is an instruction-only wrapper around the imsgctl CLI for listing chats, reading history, attachments, and watching activity. Required binary (imsgctl) and the brew formula are appropriate for this purpose.
Instruction Scope
SKILL.md instructs only local reading of message databases and using imsgctl flags/paths. It references macOS Full Disk Access and local DB paths (~/Library/Messages/chat.db and imsgkit replica.db locations) which is expected. Note: it also suggests using external tools (sips on macOS, magick on Linux) to generate image previews — these binaries are not declared as required but are optional utilities for handling attachments.
Install Mechanism
Install is via a Homebrew formula (jpreagan/tap/imsgctl). Homebrew taps are a common distribution method; this is a third-party tap (not the core/homebrew tap) which is reasonable given the project, but installing third-party taps carries more supply-chain risk than using an official repo. No archive downloads or obscure URLs are used in the install spec.
Credentials
The skill requests no credentials or environment variables. The SKILL.md references standard environment behavior (e.g., XDG_DATA_HOME) only for locating DB paths; that is proportional to the task.
Persistence & Privilege
always is false (no forced permanent inclusion). The skill is user-invocable and can be invoked autonomously by the agent (platform default). It does not request modifying other skills or system-wide settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install imsgctl
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /imsgctl 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Read your Apple Messages from any machine.
v0.2.0
Read your Apple Messages from any machine.
元数据
Slug imsgctl
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

imsgctl 是什么?

Read Apple Messages data with imsgctl: check access, list chats, inspect message history, filter by time, include attachment metadata, and watch new activity... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 127 次。

如何安装 imsgctl?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install imsgctl」即可一键安装,无需额外配置。

imsgctl 是免费的吗?

是的,imsgctl 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

imsgctl 支持哪些平台?

imsgctl 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(darwin, linux)。

谁开发了 imsgctl?

由 James Reagan(@jpreagan)开发并维护,当前版本 v1.0.0。

💬 留言讨论