Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计提醒

chat-history-local聊天记录本地

Agent Skill

chat-history-local 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,136

周安装

132

GitHub Stars

公开资料未说明

下载量

1,098
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:chat-history-local(聊天记录本地)
来源仓库:https://github.com/netanel-abergel/chat-history-local
安装命令:
openclaw skills install chat-history-local
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install chat-history-local

简介

搜索存储在审计日志 PostgreSQL 数据库中的过去 WhatsApp/聊天对话。当用户询问过去的对话、讨论了什么、发生了什么时使用

SKILL.md

name
chat-history
description
Search past WhatsApp/chat conversations stored in the audit log PostgreSQL database. Use when the user asks about past conversations, what was discussed, what someone said, finding a specific message, or referencing previous discussions. Also use to reply to or quote specific past messages.

Chat History Search

Search and reference past conversations from the audit log database.

⚠️ Two Databases — Know the Difference

There are TWO PostgreSQL databases on port 15432:

DatabaseTablePurposeUse when
openclaw_auditmessagesWhatsApp/chat messages — who said what, when, in which chatSearching conversations, finding what someone said, quoting messages
openclaw_auditaudit_logLLM API costs — model usage, tokens, cost per callChecking spending, model usage stats, cost analysis

For message search: always use the messages table.

Database Connection

  • Host: 127.0.0.1, Port: 15432, User: postgres, DB: openclaw_audit
  • psql: LC_ALL=C /opt/homebrew/Cellar/postgresql@18/18.2/bin/psql -h 127.0.0.1 -p 15432 -U postgres -d openclaw_audit
  • Important: Must use PG 18 binary and LC_ALL=C prefix

Messages Table Schema

ColumnTypeDescription
idbigintAuto-increment PK
tstimestamptzMessage timestamp
message_idtextWhatsApp message ID (use for reply_to)
chat_idtextChat identifier (+972... for direct, ...@g.us for groups)
chat_typetextdirect / group / device / unknown
chat_nametextGroup name or chat label
sender_phonetextSender phone number
sender_nametextSender display name / 'assistant' for Nova
bodytextMessage text content
media_typetextimage/audio/etc or null
is_from_mebooleantrue = assistant's messages
session_keytextOpenClaw session UUID
tokens_inintegerInput tokens (assistant msgs only)
tokens_outintegerOutput tokens (assistant msgs only)
cost_usdnumericCost of response
modelvarchar(80)Model used

Indexes

  • Full-text search: idx_messages_body_fts (GIN on to_tsvector('simple', body))
  • By chat + time: idx_messages_chat (chat_id, ts)
  • By sender: idx_messages_sender (sender_phone)
  • By time: idx_messages_ts (ts)
  • Unique message_id: idx_messages_unique_id

How to Run Queries

LC_ALL=C /opt/homebrew/Cellar/postgresql@18/18.2/bin/psql -h 127.0.0.1 -p 15432 -U postgres -d openclaw_audit -c "QUERY"

Always add LIMIT. Start with 20, increase if needed.

Query Patterns

Full-text search (preferred for keyword searches)

SELECT id, ts, chat_name, sender_name, is_from_me, LEFT(body, 200), message_id
FROM messages
WHERE to_tsvector('simple', body) @@ plainto_tsquery('simple', 'search terms')
ORDER BY ts DESC LIMIT 20;

Search by chat

-- Roy's direct messages
SELECT id, ts, LEFT(body, 200) FROM messages 
WHERE chat_id = '+972542440470' AND chat_type = 'direct'
ORDER BY ts DESC LIMIT 20;

-- A specific group
SELECT id, ts, sender_name, LEFT(body, 200) FROM messages 
WHERE chat_id = '120363423630333430@g.us'
ORDER BY ts DESC LIMIT 20;

Search by date range

SELECT id, ts, chat_name, sender_name, is_from_me, LEFT(body, 200)
FROM messages WHERE ts BETWEEN '2026-02-20' AND '2026-02-21'
ORDER BY ts LIMIT 50;

ILIKE search (for phrases or partial matches)

SELECT id, ts, chat_name, sender_name, is_from_me, LEFT(body, 200)
FROM messages WHERE body ILIKE '%exact phrase%'
ORDER BY ts DESC LIMIT 20;

Get conversation context around a message

SELECT id, ts, chat_name, sender_name, is_from_me, LEFT(body, 300)
FROM messages WHERE id BETWEEN (TARGET_ID - 5) AND (TARGET_ID + 5)
ORDER BY ts;

List all chats

SELECT chat_id, chat_type, chat_name, COUNT(*) as msgs,
  MIN(ts) as first_msg, MAX(ts) as last_msg
FROM messages GROUP BY chat_id, chat_type, chat_name
ORDER BY msgs DESC;

Replying to Past Messages

When you find a message to reference, use message_id:

  • Include [[reply_to:<message_id>]] in your response for a native WhatsApp reply

Known Limitations

  • Messages before Feb 18, 2026 use old ingest format (chat_id from JSONL metadata)
  • Messages from Feb 18+ use ingest-v2 (chat_id from gateway.log correlation)
  • Sub-agent sessions show as unknown-* chat_id (no gateway log match)
  • NO_REPLY / HEARTBEAT_OK messages are filtered out during ingest

Tips

  • is_from_me = true → Nova sent it
  • is_from_me = false → a human sent it
  • For group chats, chat_name has the group name
  • sender_name = 'assistant' → Nova's outbound messages
  • Always respect child safety rules — never reveal info about Ben

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

95.8%
按下载量换算1,052

安全审计

VirusTotal

未展示

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills