Personal knowledge management tool for the augmented self.
Project description
Commonplace
A personal knowledge management tool for archiving and organizing your notes, journal entries and AI conversations into a searchable digital archive.
Commonplace is named after the commonplace book that scholars used in antiquity.
Features
Current Capabilities
- 💬 Import conversations from multiple assistants:
- Claude (via ZIP export from claude.ai)
- Gemini (via Google Takeout HTML export)
- ChatGPT (via ZIP export)
- 📁 Standardized storage as organized markdown files with metadata
- 🗂️ Date-based organization in a clear directory structure:
~/commonplace/ ├── chats/ # AI conversations (imported by tool) │ ├── claude/2024/06/2024-06-28-conversation-title.md │ ├── gemini/2024/06/2024-06-28-gemini-conversations.md │ └── ... ├── journal/ # Manual journal entries └── notes/ # Manual notes and thoughts - ✨ Rich markdown format with frontmatter, timestamps, and proper formatting
- 🔄 Git integration for change tracking and automatic commits when importing conversations
- 🔍 Full-text and semantic search using vector embeddings to find relevant conversations by meaning
Installation
pip install uv
uv tool install commonplace
Setup
- Set your storage location:
export COMMONPLACE_ROOT=/path/to/your/commonplace
# or create a .env file with:
# COMMONPLACE_ROOT=/path/to/your/commonplace
- Initialize your commonplace:
commonplace init
This creates a git repository for change tracking and enables automatic commits when importing conversations.
- Configure an LLM for journal generation (optional):
# Install and configure OpenAI (or other providers)
llm install llm-openai
llm keys set openai
# Enter your API key when prompted
# Or use local models
llm install llm-gpt4all
Exporting Conversations
Before you can import conversations into Commonplace, you need to export them from each service.
Exporting from Claude
- Go to claude.ai
- Click your profile icon (bottom left)
- Select Settings
- Go to Data & Privacy
- Click Export data
- You'll receive an email with a download link (usually within a few minutes)
- Download the ZIP file from the email link
Exporting from ChatGPT
- Go to chat.openai.com
- Click your profile icon (bottom left)
- Select Settings
- Go to Data controls
- Click Export data
- Confirm the export request
- You'll receive an email with a download link (can take up to 24 hours)
- Download the ZIP file from the email link
Exporting from Gemini
- Go to Google Takeout
- Click Deselect all
- Scroll down and select My Activity
- Click Multiple formats and ensure HTML is selected
- Click All activity data included and select only Assistant
- Click Next step
- Choose delivery method (email link recommended)
- Click Create export
- You'll receive an email when ready (can take several hours)
- Download the ZIP file from the email link
⚠️ Note: Export links are temporary and typically expire after 7 days.
Usage
Import conversations
Once you have exported your conversations (see Exporting Conversations above), import them:
# Import any supported export format
commonplace import path/to/export.zip
The importer automatically detects the format (Claude, ChatGPT, or Gemini) and processes accordingly.
Search your conversations
Build a search index and query your conversations:
# Build the search index (run once, or after importing new conversations)
commonplace index
# Semantic search - finds content by meaning
commonplace search "explain neural networks"
# Full-text search - keyword matching only
commonplace search "explain neural networks" --method fts
# Hybrid search - combines both approaches (default)
commonplace search "explain neural networks" --method hybrid
# Limit number of results
commonplace search "machine learning" --limit 5
# Rebuild index from scratch
commonplace index --rebuild
Sync your commonplace
If you have a git remote configured, sync your changes:
# Sync with default remote (origin), auto-commit changes
commonplace sync
# Sync with specific remote
commonplace sync --remote upstream
# Use merge instead of rebase
commonplace sync --strategy merge
# Don't auto-commit uncommitted changes
commonplace sync --no-auto-commit
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file commonplace-0.0.4.tar.gz.
File metadata
- Download URL: commonplace-0.0.4.tar.gz
- Upload date:
- Size: 177.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":"20240101.0.204074","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f40fe098f7741057e89523c0ce51d8cd326c45c4083a3679f2c3af6cec2854eb
|
|
| MD5 |
396810f759661844ac26a63ad3d44c46
|
|
| BLAKE2b-256 |
b3377963e0a9a15dd1bf141f82cbfff0e743d70a1e3a05e64cf2dd018e7f8023
|
File details
Details for the file commonplace-0.0.4-py3-none-any.whl.
File metadata
- Download URL: commonplace-0.0.4-py3-none-any.whl
- Upload date:
- Size: 43.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":"20240101.0.204074","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fbfb18a79659c6c1021a5f32dfbd2085d69c728ad0c837ab0443d0eedfb757a
|
|
| MD5 |
f2dfd6808a93ea45d5b7a2179069ba22
|
|
| BLAKE2b-256 |
c439764c50ef4d6c74908ec60a720bcf55fc3b4cf87eb11ed59ab7732cae2626
|