Skip to main content

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.

PyPI Python CI License: MIT

ChangeX captures every edit an AI makes to your documents — .docx · .xlsx · .csv · .pptx · .md · .docas 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 🌐.

ChangeX — AI edits shown inline in the document's own outline, with who/when on hover
Every AI edit shown inline in your document — hover any change for who & when.


⚡ Install

pip install changex uv tool install use from Claude

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-mcp runs 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 the open/seal path 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

changex-0.1.1.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

changex-0.1.1-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

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

Hashes for changex-0.1.1.tar.gz
Algorithm Hash digest
SHA256 030446c8b6328a9185381047ac51de0f43b9b696ed8d42470841dd30b00267af
MD5 a723146f0b0b2f279067de510e2399aa
BLAKE2b-256 d50cb1611ae4b70841a384e16987cacd5063b866bd6f1f4cc823c093901c7df2

See more details on using hashes here.

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

Hashes for changex-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5052ba6874a3715d2c02e73e3b6c3eb58c87a984e4ad32c4f94fc179882e4bf6
MD5 a2be8bd878de8bcd41ba9dee5e1a1ba8
BLAKE2b-256 f4f2644f16f86fae2bba90be792efc9e4dff509e8800c00a421fb086987ce97f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page