OffChat is an offline-first mesh-network simulator for experimenting with delay-tolerant chat delivery. It models mobile nodes, local radio range, TTL-based message expiry, duplicate suppression, ACK propagation, and semantic compression benchmarking for low-bandwidth communication.
- Interactive Tkinter mesh simulator with draggable nodes and dynamic range links.
- Message propagation with per-node buffers, acknowledgements, history tracking, and duplicate suppression.
- TTL expiry to model stale messages in disconnected networks.
- Optional screen recording output through OpenCV.
- Compression benchmark comparing raw text, entropy/Huffman estimate, zlib/LZW, and OffChat semantic token encoding.
The simulator recording is included as offchat_simulation.mp4.
- Python
- Tkinter
- NumPy
- pandas
- matplotlib
- OpenCV
- Pillow
pip install -r requirements.txt
python sim001.pyControls:
Left click: add node
Drag: move node
Right click: select source/destination
S: send messagepython compressor.pyThe raw Ubuntu dialogue CSV files are intentionally not committed because they are multi-GB datasets. Place them locally as:
dialogueText_301.csv
dialogueText_196.csvCommitted files include simulator code, compression code, generated vocabulary, plot, and demo video. Large raw datasets and local caches are ignored.
