Do something once; get a written procedure out of it.
MultyCapture records every mouse click and keystroke — each with a screenshot and the active window's context — and turns that into a numbered Word document with the screenshots in place:
Step 4 Click "Save" in "Orders". "Save changes?" appears.
Both lines are written without any AI: the first from the recorded event, the second by comparing the screenshots either side of the step.
→ User Guide — installing, where your files go, what is optional, and the AI features.
| Platform | Status |
|---|---|
| Windows 10/11 | Supported, no extra system dependencies |
| Linux / X11 | Supported |
| Linux / Wayland | Not supported — log into an Xorg session |
Wayland does not let one application observe another's windows or read the pointer globally. MultyCapture detects it and refuses to start rather than recording something useless.
Install the .deb or the Windows installer, then run MultyCapture — or
from a source checkout:
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
pip install -e .
mc trayLeft-click the tray icon to start; Ctrl+Alt+Q stops. There is a 5-second
start delay so you can get to the right window first. When you stop, the
document is written to Documents/MultyCapture and opened.
mc record # stop with Ctrl+Alt+Q or Ctrl+C
mc doc --last # build a document from the most recent recordingFull options in the User Guide.
tesseract-ocrmakes steps name what was clicked —Click "Save"…rather thanClick in…. Recommended by the.deb, not required; without it nothing fails and the steps are simply less specific.- An AI model can improve the wording of the steps, and nothing else. Off by default, because it can send your captured text off the machine. Nothing needs installing for it: every backend (Ollama, Claude, OpenAI-compatible, Gemini) is reached over plain HTTP.
| USER_GUIDE.md | How to use it, and what it does with your files |
| CAPTURE_SPEC.md | The event stream and storage format |
| decisions.md | Why it is built this way, and what was tried and dropped |
pip install -e ".[test]"
pytest # Linux: xvfb-run -a pytestThe version lives in src/multycapture/_version.py and nowhere else; the
packaging scripts read it with installer/version.sh, and CI refuses to build
a tag that disagrees with it.