Catalog PyPI
PACKAGE EXPLORERView in registry

aichat2md

PyPI

Convert AI chat conversations to structured Markdown

aichatgptclaudeconverterdeepseekmarkdown
Versions collected1
Direct dependencies3From release 1.3.3
Last observed21 Oct, 10:08 UTC

README

Version 1.3.3 documentation

aichat2md

Convert AI chat conversations to structured Markdown documents.

Features

  • 🌐 Extract from URLs - ChatGPT, Gemini, Doubao share links (with JS rendering via Playwright)
  • 📄 Extract from local files - .webarchive, .html, .mhtml, .xhtml files (offline mode)
  • 🤖 Multiple AI backends - DeepSeek, OpenAI, Groq, or any OpenAI-compatible API
  • 🌍 Bilingual support - English/Chinese prompts
  • 📝 Clean output - Knowledge-focused Markdown, not chat logs
  • ⚡ Simple CLI - pip-installable, one-time setup

Quick Start

# Install
pip install aichat2md

# Configure (one-time setup)
aichat2md --setup

# Convert a ChatGPT share URL
aichat2md https://chatgpt.com/share/xxx

# Convert a webarchive file
aichat2md ~/Downloads/chat.webarchive

Supported Platforms

  • ChatGPT - chatgpt.com share links
  • Gemini - gemini.google.com or g.co share links
  • Doubao (豆包) - doubao.com share links
  • Claude - Manual export required (see below)
  • Webarchive - Safari exported .webarchive files (any platform)
  • HTML Files - .html, .mhtml, .xhtml files from any browser

Usage Examples

# ChatGPT
aichat2md https://chatgpt.com/share/xxx

# Gemini (supports both long and short URLs)
aichat2md https://gemini.google.com/share/xxx
aichat2md https://g.co/gemini/share/xxx

# Doubao
aichat2md https://www.doubao.com/thread/xxx

# Webarchive file
aichat2md ~/Downloads/conversation.webarchive

# HTML files (Chrome/Edge/Firefox/Safari)
aichat2md ~/Downloads/conversation.html
aichat2md ~/Downloads/conversation.mhtml

Note: Claude share links cannot be directly extracted due to Cloudflare browser detection. Please export manually:

  1. Open the Claude share link in your browser
  2. Click "Export" button (top right)
  3. Download as HTML or Markdown file
  4. Use: aichat2md <exported-file>

Supported AI Backends

  • DeepSeek (default) - Cost-effective, Chinese service
  • OpenAI - GPT-4o-mini, GPT-4
  • Groq - Fast inference with Llama models
  • Custom - Any OpenAI-compatible API

Installation

Prerequisites

  • Python 3.8 or higher
  • Playwright (automatically installed, but requires browser setup)

Install from PyPI

pip install aichat2md

Install Playwright browsers

playwright install chromium

First-time Setup

aichat2md --setup

You'll be prompted to:

  1. Select your AI provider (DeepSeek, OpenAI, Groq, or custom)
  2. Enter your API key
  3. Choose prompt language (English or Chinese)
  4. Set output directory (default: ~/Downloads)

Usage

Basic Usage

# Convert from URL (uses configured output directory)
aichat2md https://chatgpt.com/share/xxx

# Convert from webarchive (outputs to same directory as input)
aichat2md ~/Downloads/chat.webarchive

Override Language

# Use Chinese prompts (even if English is configured)
aichat2md <url> --lang zh

# Use English prompts
aichat2md <url> --lang en

Custom Output Path

# Specify output file
aichat2md <url> -o ~/Documents/my-notes.md
aichat2md <url> --output ~/Documents/my-notes.md

Override Model

# Use a different model than configured
aichat2md <url> --model gpt-4o
aichat2md <url> --model deepseek-chat

Version Info

aichat2md --version

Configuration

Configuration is stored in ~/.config/aichat2md/config.json (cross-platform).

Example Config

{
  "api_key": "sk-your-api-key",
  "api_base_url": "https://api.deepseek.com",
  "model": "deepseek-chat",
  "language": "en",
  "output_dir": "/Users/you/Downloads",
  "max_tokens": 4000,
  "temperature": 0.7
}

Reconfigure

aichat2md --setup

Output Format

The tool converts chat conversations into structured Markdown with:

  • Front matter - Tags, date, source
  • Summary - 2-3 sentence overview
  • Key topics - Bullet point list
  • Knowledge sections - Reorganized content with logical headings
  • Code examples - Extracted code blocks with comments

Example Output

---
tags: [Python, API, Web]
date: 2026-02-02
source: https://chatgpt.com/share/xxx
---

# Building REST APIs with FastAPI

## Summary
This document covers building production-ready REST APIs using FastAPI...

## Key Topics
- API design patterns
- Request validation
- Error handling

## API Design Principles
...

## Code Examples
\```python
from fastapi import FastAPI
app = FastAPI()
...
\```

How It Works

  1. Extract - Playwright (URLs) or plistlib (webarchive) extracts raw text
  2. Structurize - AI API reorganizes into knowledge document
  3. Save - Auto-generated filename or specified path

Why Two-Stage Processing?

  • Stage 1 (Extract) - No AI tokens used, just HTML parsing
  • Stage 2 (Structurize) - AI organizes content efficiently

This saves costs and allows local caching of extracted content.

Development

Local Installation

# Clone repository
git clone https://github.com/yourusername/aichat2md.git
cd aichat2md

# Install in editable mode
pip install -e .

# Install Playwright
playwright install chromium

Run Tests

pip install pytest
pytest tests/

Build Package

pip install build
python -m build

Troubleshooting

"Configuration file not found"

Run aichat2md --setup to create configuration.

"API authentication failed"

Check your API key in ~/.config/aichat2md/config.json.

Playwright errors

Install browsers: playwright install chromium

Claude share links cannot be directly extracted due to Cloudflare browser detection. Please export manually:

  1. Open the link in your browser
  2. Click "Export" button (top right)
  3. Download as HTML or Markdown
  4. Use: aichat2md <exported-file>

Empty output

The conversation might be too short or the AI response failed. Check error messages.

Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new features
  4. Submit a pull request

License

MIT License - see LICENSE file.

Acknowledgments

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.3.327 Feb 20263

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
placenameday/aichat2md

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:08 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:6dc846866cd2889a91bf887844f29b5240787eba0725d39da50cb6d5ae47b78c