ChangeX: provenance-first change tracking for AI document edits. Meta package — installs the core CLI (changex) and the MCP server (changex-mcp).
Project description
📝 ChangeX
See exactly what an AI changed in your documents — line by line, with receipts.
ChangeX captures every edit an AI makes to your documents — .docx · .xlsx · .csv · .pptx · .md · .doc — as it happens, with who / what / when / why. It's not a diff after the fact — it's a live, attributable record you can review and accept or reject. 🎯
Works with any model 🤖 — Claude, ChatGPT, Gemini, or a local llama — and shows the changes as real Word track-changes 🖊️, a shareable HTML report 📄, or a live local web page 🌐.
Every AI edit shown inline in your document — hover any change for who & when.
⚡ Install
uv tool install changex # ✅ recommended — isolated, dodges PEP 668
# or: pipx install changex · pip install changex · zero-install: uvx changex
🔄 Update later: uv tool upgrade changex · pipx upgrade changex · pip install -U changex
(MCP via uvx? uvx changex-mcp@latest always grabs the newest.)
🤖 Use it from your AI
One line wires ChangeX into Claude Code (or any MCP client):
claude mcp add changex -- uvx changex-mcp
Then just ask 💬 — "Open report.docx with changex, tighten the intro and fix the heading, then save tracked changes." The model edits through ChangeX, so every change is captured with full provenance. ✅
🔐 Reaching your local files: this works in desktop/local clients — Claude Desktop/Code, Cursor, Cline — where
changex-mcpruns on your machine and reads your local docs. A browser chat (claude.ai / ChatGPT web) can't see local files; use the desktop app, or theopen/sealpath below on a downloaded copy. Set it up → docs/CLAUDE-SETUP.md · why local-only
No tools? No problem — works with offline/local models, or even a human:
changex open report.docx # 📸 snapshot the original
# …anything edits report.docx in place (a model, a script, or you)…
changex seal report.docx # 🔍 reconstruct the changes → report.changex + report.tracked.docx
👉 Per-app setup for ChatGPT, Gemini, Cursor, Cline, Ollama, LM Studio: docs/CALL-FROM-YOUR-APP.md
👀 See the changes — your pick
changex seal prints these for you with your real paths — or run them on the
.changex + tracked .docx:
changex review report.changex --doc report.tracked.docx --out review.html # 📄 inline in the doc's outline
changex view report.changex --doc report.tracked.docx # 🌐 live local page (accept/reject)
# …or just open report.tracked.docx in Word — real native track changes 🖊️
💡 Paths with spaces need quotes: changex open "My Report.docx".
📦 What it tracks
| Format | How changes show up |
|---|---|
📄 .docx |
Native Word track changes — accept/reject right in Word |
📊 .xlsx / .csv |
Non-destructive review copy — colored cells, comments, a Changes sheet (your original stays untouched) |
📽️ .pptx |
Revision overlay + a generated "Revisions" summary slide |
📝 .md |
Inline HTML redline (Markdown has no native track-changes) |
🗂️ .doc (legacy) |
Auto-converted to .docx (LibreOffice), then native Word revisions |
Every format also writes a portable .changex journal — a hash-chained log of each operation with its provenance. Honest per-format limits: docs/FIDELITY.md. ⚖️
🧠 Why not just diff the files?
A diff tells you how two files differ. ChangeX tells you what the AI actually did, in order, and why — and lets you accept or reject each change. 🔎
🗺️ Dig deeper
📥 Install · 🛠️ Claude setup · 🔌 Integrations · 🔐 Local file access · 🏗️ Architecture · 📐 .changex format
🎬 Try all formats: python scripts/demo_all_formats.py · 🐚 Prefer code? changex shell (Python with ChangeX preloaded)
📜 License
MIT — © 2026 Ariorad Moniri.
Project details
Release history Release notifications | RSS feed
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 changex-0.1.1.tar.gz.
File metadata
- Download URL: changex-0.1.1.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
030446c8b6328a9185381047ac51de0f43b9b696ed8d42470841dd30b00267af
|
|
| MD5 |
a723146f0b0b2f279067de510e2399aa
|
|
| BLAKE2b-256 |
d50cb1611ae4b70841a384e16987cacd5063b866bd6f1f4cc823c093901c7df2
|
File details
Details for the file changex-0.1.1-py3-none-any.whl.
File metadata
- Download URL: changex-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5052ba6874a3715d2c02e73e3b6c3eb58c87a984e4ad32c4f94fc179882e4bf6
|
|
| MD5 |
a2be8bd878de8bcd41ba9dee5e1a1ba8
|
|
| BLAKE2b-256 |
f4f2644f16f86fae2bba90be792efc9e4dff509e8800c00a421fb086987ce97f
|