feat: v0.2.0 — Joplin import, ChatGPT Projects, --project filter
Core features: - Add `joplin` command: syncs exported Markdown to Joplin via local REST API - Notebooks auto-created per provider+project (e.g. "ChatGPT - My Project") - Idempotent: notes updated (not duplicated) on re-run; note ID tracked in manifest - Add `--project` filter to `export` and `list` commands (substring or 'none') - Add ChatGPT Projects support via CHATGPT_PROJECT_IDS env var Config: - Add JOPLIN_API_TOKEN, JOPLIN_API_URL, JOPLIN_REQUEST_TIMEOUT - Version now read from importlib.metadata (single source of truth: pyproject.toml) - Bump version to 0.2.0 Quality: - Explicit Timeout handling in JoplinClient with actionable error messages - token validation (validate_token) separate from connectivity (ping) - Remove debug_auth.py, debug_claude.py, and untracked .har file - Add *.har to .gitignore (may contain auth cookies/session tokens) - Update README, CHANGELOG, FUTURE.md to reflect v0.2.0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
19
.env.example
19
.env.example
@@ -10,6 +10,13 @@
|
||||
# Token type: JWT (starts with "eyJ"). Typically valid for ~7 days.
|
||||
CHATGPT_SESSION_TOKEN=
|
||||
|
||||
# ChatGPT Projects (optional): comma-separated list of project gizmo IDs.
|
||||
# Project conversations are NOT included in the default /conversations listing.
|
||||
# How to find: open chatgpt.com → click a Project → look at the browser URL:
|
||||
# https://chatgpt.com/g/g-p-<ID>-<slug>/project → copy "g-p-<ID>"
|
||||
# Example: CHATGPT_PROJECT_IDS=g-p-68c2b2b3037c8191890036fb4ae3ed9f,g-p-anotherproject
|
||||
CHATGPT_PROJECT_IDS=
|
||||
|
||||
# --- Claude ---
|
||||
# How to get: open claude.ai in Chrome → F12 → Application tab
|
||||
# → Cookies → https://claude.ai → find "sessionKey" → copy Value
|
||||
@@ -26,6 +33,18 @@ EXPORT_DIR=./exports
|
||||
# provider/year → exports/claude/2024/file.md (ignores projects)
|
||||
OUTPUT_STRUCTURE=provider/project/year
|
||||
|
||||
# --- Joplin ---
|
||||
# Automate importing exported conversations into Joplin as notes.
|
||||
# Requires Joplin desktop running with the Web Clipper service enabled.
|
||||
# How to get the token:
|
||||
# Joplin → Tools → Options → Web Clipper → copy "Authorization token"
|
||||
JOPLIN_API_TOKEN=
|
||||
# API URL (default port is 41184; change only if you've customised it)
|
||||
JOPLIN_API_URL=http://localhost:41184
|
||||
# Request timeout in seconds (default: 30). Increase if Joplin times out on
|
||||
# large conversations. Example: JOPLIN_REQUEST_TIMEOUT=60
|
||||
# JOPLIN_REQUEST_TIMEOUT=30
|
||||
|
||||
# --- Cache ---
|
||||
# Where the sync manifest and logs are stored (default: ~/.ai-chat-exporter)
|
||||
CACHE_DIR=~/.ai-chat-exporter
|
||||
|
||||
Reference in New Issue
Block a user