Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器clawhub未标认证来源可访问clear审计通过

chat-lift聊天电梯

Agent Skill

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

总安装

9,694

周安装

396

GitHub Stars

公开资料未说明

下载量

3,105
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install chat-lift

简介

从 ChatGPT、Claude 和 Gemini 导入、搜索和存档 AI 对话。干净的索引格式、全文搜索、静态 HTML 存档。无需服务器。

SKILL.md

name
ChatLift AI Conversation Exporter & Archive
description
Import, search, and archive AI conversations from ChatGPT, Claude, and Gemini. Clean indexed formats, full-text search, static HTML archive. No server required.
author
@TheShadowRose
version
1.0.1
tags
["export", "archive", "conversations", "search", "chatgpt", "claude", "backup"]
license
MIT

ChatLift AI Conversation Exporter & Archive

Import, search, and archive AI conversations from ChatGPT, Claude, and Gemini. Clean indexed formats, full-text search, static HTML archive. No server required.


Import, search, and archive your AI conversations.

Extract ChatGPT, Claude, and Gemini conversation exports into clean, indexed formats. Full-text search. Static HTML archive with search bar. No server required.


What It Does

ChatLift converts AI conversation exports into portable, searchable formats:

  1. Import - Parse ChatGPT/Claude/Gemini exports
  2. Convert - Generate Markdown, HTML, and JSON
  3. Search - Full-text search across all conversations
  4. Archive - Static HTML archive with navigation

Why This Exists

AI chat platforms:

  • Lock your conversations in proprietary formats
  • Make search difficult or impossible
  • Can delete your data at any time

ChatLift gives you control:

  • Own your conversation history
  • Search across all platforms
  • Portable formats (Markdown, HTML, JSON)
  • Works offline forever

Quick Start

Install

No dependencies! Python 3.7+ stdlib only.

# Copy config (optional)
cp config_example.py config.py

Import Conversations

Export your conversations from ChatGPT, Claude, or Gemini, then:

# Import ChatGPT export
python3 chat_lift.py chatgpt conversations.json

# Import Claude export
python3 chat_lift.py claude claude-export.json

# Import Gemini export
python3 chat_lift.py gemini gemini-conversations.json

Generates:

  • chat-archive/markdown/*.md - Human-readable markdown
  • chat-archive/html/*.html - Styled HTML pages
  • chat-archive/json/*.json - Structured JSON

Search Conversations

# Search all conversations
python3 chat_search.py search --query "machine learning"

# Search with regex
python3 chat_search.py search --query "python.*async" --regex

# Search by date range
python3 chat_search.py date --start-date 2026-01-01 --end-date 2026-02-01

# Get archive statistics
python3 chat_search.py stats

Generate HTML Archive

# Generate static archive website
python3 chat_archive.py

# Open chat-archive/web/index.html in browser

The HTML archive includes:

  • Search bar - Filter by keyword or source
  • Navigation - Browse all conversations
  • No server needed - Pure static files

Usage Examples

Import Multiple Exports

# Import all your platforms
python3 chat_lift.py chatgpt chatgpt-export.json
python3 chat_lift.py claude claude-export.json
python3 chat_lift.py gemini gemini-export.json

# Generate unified archive
python3 chat_archive.py

Search Across All Platforms

from chat_search import ConversationSearcher

searcher = ConversationSearcher('chat-archive')

# Find all conversations mentioning "agent"
results = searcher.search('agent')

for result in results:
    print(f"{result['conversation']['title']}")
    print(f"  Source: {result['conversation']['source']}")
    print(f"  Matches: {result['total_matches']}\
")

Custom Output Formats

# Only generate markdown
python3 chat_lift.py chatgpt export.json --formats markdown

# Generate all formats
python3 chat_lift.py chatgpt export.json --formats markdown html json

# Custom output directory
python3 chat_lift.py chatgpt export.json --output-dir ~/my-chats

Filter Search Results

# Search only ChatGPT conversations
python3 chat_search.py search --query "python" --source chatgpt

# Search only user messages
python3 chat_search.py search --query "explain" --role user

# Case-sensitive search
python3 chat_search.py search --query "API" --case-sensitive

Export Instructions

ChatGPT

  1. Go to chat.openai.com
  2. Settings → Data controls → Export data
  3. Wait for email with download link
  4. Download conversations.json

Claude

  1. Go to claude.ai
  2. Settings → Privacy → Export your data
  3. Download export file
  4. Extract JSON from archive

Gemini

  1. Go to gemini.google.com
  2. Account settings → Download your data
  3. Select Gemini conversations
  4. Download export file

File Formats

Markdown

# Conversation Title

**Source:** chatgpt  
**ID:** abc123def456  
**Created:** 2026-02-21 10:30:00  

---

## USER

How do I deploy a Flask app?

*2026-02-21 10:30:15*

---

## ASSISTANT

Here's how to deploy a Flask application...

*2026-02-21 10:30:45*

---

JSON

{
  "id": "abc123def456",
  "title": "Conversation Title",
  "source": "chatgpt",
  "create_time": 1708512600,
  "messages": [
    {
      "role": "user",
      "content": "How do I deploy a Flask app?",
      "timestamp": 1708512615
    },
    {
      "role": "assistant",
      "content": "Here's how to deploy a Flask application...",
      "timestamp": 1708512645
    }
  ]
}

HTML

Clean, styled HTML with:

  • Responsive design
  • Color-coded messages
  • Timestamps
  • Source badges

Archive Structure

chat-archive/
├── markdown/          # Human-readable markdown
│   ├── abc123.md
│   └── def456.md
├── html/              # Styled HTML pages
│   ├── abc123.html
│   └── def456.html
├── json/              # Structured JSON
│   ├── abc123.json
│   └── def456.json
└── web/               # Static HTML archive
    ├── index.html     # Browse/search interface
    ├── abc123.html    # Conversation pages
    ├── def456.html
    ├── style.css      # Styling
    └── search.js      # Search functionality

Search Features

Full-Text Search

# Simple text search
python3 chat_search.py search --query "machine learning"

# Case-sensitive
python3 chat_search.py search --query "API" --case-sensitive

# Regex patterns
python3 chat_search.py search --query "python.*async" --regex

Filters

# Filter by source platform
python3 chat_search.py search --query "code" --source chatgpt

# Filter by message role
python3 chat_search.py search --query "explain" --role assistant

# Combine filters
python3 chat_search.py search --query "deploy" --source claude --role user

Date Range

# Conversations from specific date range
python3 chat_search.py date --start-date 2026-01-01 --end-date 2026-02-01

# All conversations after date
python3 chat_search.py date --start-date 2026-02-01

# All conversations before date
python3 chat_search.py date --end-date 2026-02-01

Statistics

python3 chat_search.py stats

Shows:

  • Total conversations
  • Total messages
  • Word count
  • Breakdown by source
  • Breakdown by role

HTML Archive

Features

  • Search bar - Real-time filter as you type
  • Source filter - Filter by ChatGPT, Claude, Gemini
  • Clean design - Responsive, mobile-friendly
  • No server - Pure static HTML/CSS/JS
  • Works offline - Archive travels with you

Customization

Edit chat-archive/web/style.css to customize:

  • Colors
  • Fonts
  • Layout
  • Message styling

The archive is pure HTML/CSS/JS - modify freely.


Integration

Python API

from chat_lift import ConversationImporter
from chat_search import ConversationSearcher
from chat_archive import ArchiveGenerator

# Import conversations
importer = ConversationImporter('chat-archive')
conversations = importer.import_chatgpt('export.json')

for conv in conversations:
    importer.save_conversation(conv, formats=['markdown', 'json'])

# Search
searcher = ConversationSearcher('chat-archive')
results = searcher.search('python programming')

# Generate HTML archive
generator = ArchiveGenerator('chat-archive')
generator.generate_archive()

Batch Processing

import glob
from chat_lift import ConversationImporter

importer = ConversationImporter('chat-archive')

# Import all ChatGPT exports in directory
for export_file in glob.glob('exports/chatgpt-*.json'):
    conversations = importer.import_chatgpt(export_file)
    for conv in conversations:
        importer.save_conversation(conv)

print("All exports imported!")

Limitations

See LIMITATIONS.md for details.

Key constraints:

  • Export formats vary by platform version
  • No real-time sync (manual export/import)
  • Search is text-based (not semantic)
  • Large archives (10,000+ conversations) may be slow

License

MIT License - See LICENSE

Author: Shadow Rose


Why This Exists

Your AI conversations are valuable:

  • Learning history
  • Project documentation
  • Personal knowledge base

But they're locked in proprietary platforms that:

  • Can change or delete your data
  • Make search difficult
  • Don't export cleanly

ChatLift gives you:

  • Ownership - Your data, your formats
  • Portability - Markdown, HTML, JSON
  • Search - Find anything instantly
  • Permanence - Works offline forever

Take back your conversation history.


⚠️ Disclaimer

This software is provided "AS IS", without warranty of any kind, express or implied.

USE AT YOUR OWN RISK.

  • The author(s) are NOT liable for any damages, losses, or consequences arising from

the use or misuse of this software — including but not limited to financial loss, data loss, security breaches, business interruption, or any indirect/consequential damages.

  • This software does NOT constitute financial, legal, trading, or professional advice.
  • Users are solely responsible for evaluating whether this software is suitable for

their use case, environment, and risk tolerance.

  • No guarantee is made regarding accuracy, reliability, completeness, or fitness

for any particular purpose.

  • The author(s) are not responsible for how third parties use, modify, or distribute

this software after purchase.

By downloading, installing, or using this software, you acknowledge that you have read this disclaimer and agree to use the software entirely at your own risk.

DATA DISCLAIMER: This software processes and stores data locally on your system. The author(s) are not responsible for data loss, corruption, or unauthorized access resulting from software bugs, system failures, or user error. Always maintain independent backups of important data. This software does not transmit data externally unless explicitly configured by the user.


Support & Links

🐛 Bug ReportsTheShadowyRose@proton.me
Ko-fiko-fi.com/theshadowrose
🛒 Gumroadshadowyrose.gumroad.com
🐦 Twitter@TheShadowyRose
🐙 GitHubgithub.com/TheShadowRose
🧠 PromptBasepromptbase.com/profile/shadowrose

*Built with OpenClaw — thank you for making this possible.*


🛠️ Need something custom? Custom OpenClaw agents & skills starting at $500. If you can describe it, I can build it. → Hire me on Fiverr

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

78.05%
按下载量换算2,423

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

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

来源信息

继续浏览同类 Skills