Compress your prompts before they hit the LLM. Remove polite filler, redundant phrases, and verbosity automatically β saving tokens and reducing latency.
Troglodyte sits between you and the LLM, compressing prompts in real-time:
| Removes | Examples |
|---|---|
| Polite fillers | "please", "thank you", "I would appreciate" |
| Redundant phrases | "in order to" β "to", "due to the fact that" β "because" |
| Excessive verbosity | "I was wondering if you could" β "" |
| Articles & pronouns | (Balanced/Aggressive modes) |
Recent updates introduce significant performance improvements:
incremental and isolatedModules in tsconfig.json for faster development builds.Over the LM Studio Hub:
Or manually:
That's it! The plugin is now permanently installed. No terminal needs to stay open.
Simply run the same command again:
LM Studio will automatically reload the updated plugin.
For active development with hot-reload:
Leave this terminal open. The plugin will appear in LM Studio's plugins list.
Click the gear icon next to the plugin to access settings:
| Setting | Options | Default |
|---|---|---|
| Compression Level | Gentle / Balanced / Aggressive | Balanced |
| Smart Mode (Context-Aware) | On/Off | On |
| Protect URLs & Links | On/Off | On |
| Protect Version Numbers & IDs | On/Off | On |
| Protect Markdown Headers | On/Off | On |
| Protect File Paths | On/Off | On |
| Protect JSON/XML Structures | On/Off | On |
| Language Mode | Auto-Detect (EN/DE) / English / German | Auto-Detect |
| Show Statistics in Console |
Only removes polite filler and courtesy words:
Removes articles, pronouns, basic prepositions too:
Maximum compression β removes almost all function words:
Send this verbose prompt:
"Hello there! I was wondering if you could possibly help me out? I would really appreciate it if you could explain how to install Node.js on Windows step by step. Thank you so much for your time and assistance!"
Expected compressed output (Balanced):
Send this verbose prompt:
"Hallo! Ich wΓΌrde mich sehr freuen, wenn du mir bei dieser Aufgabe helfen kΓΆnntest, bitte und danke!"
Expected compressed output (Balanced):
Send this prompt to verify file paths are preserved:
"check C:\Source Code\ServiceMonitor for issues."
Expected: Path stays as C:\Source Code\... (not corrupted to C:\src Code\...)
Send this prompt to verify both path types work:
"Bitte analysiere den Code in /home/user/project/src/main.ts und ./lib/utils.py."
Expected: Both paths preserved intact:
Send this prompt to verify German compression works correctly and version numbers aren't fragmented:
"Hallo! Ich wΓΌrde mich sehr freuen, wenn du mir bei dieser Aufgabe helfen kΓΆnntest, bitte und danke! ErklΓ€re mir bitte Schritt fΓΌr Schritt, wie man Node.js unter Windows installiert. Vielen Dank!"
Expected: Clean German output with "Node.js" intact (not fragmented):
β Wrong (old buggy behavior):
These elements are never modified, regardless of compression level:
| Element | Example |
|---|---|
| Code blocks | `code` and blocks``` ```` |
| URLs | https://example.com/path?id=123 |
| Version numbers | v1.0.0, 2.1.3-beta |
| Software names with dots | Node.js, TypeScript |
| Issue/PR refs | #456 |
| UUIDs | 550e8400-e29b-41d4-a716-446655440000 |
| Markdown headers | ## My Header |
lms dev --install completed successfullydist/index.js exists after buildCheck LM Studio's console (F12 β Console tab) for error messages.
Try Gentle mode or disable specific protections in settings.
This was a known bug fixed on May 16, 2026. Ensure you have the latest version with path protection enabled.
For detailed architecture and technical documentation, see:
| Issue | Status |
|---|---|
| Placeholder overhead causing negative compression | β
Fixed - compact Unicode placeholders (\uE000+) now used |
| "source" β "src" synonym corrupting file paths | β Fixed - Windows path protection added before synonym phase |
| Phrase replacement order causing partial matches | β Fixed - phrases sorted by length (longest first) |
Punctuation spacing broken (out?explain, Node. js) | β Fixed - smart cleanup chain with CAPITAL-aware spacing |
Logic symbols breaking natural language (and β &&) | β Fixed - all logic symbol replacements removed |
protectFilePaths config field unused | β Fixed - now wired up and functional (May 18, 2026) |
| Placeholder overflow risk (~1M items) | β Fixed - MAX_PLACEHOLDERS check added (May 18, 2026) |
| Duplicate entries in de-filler.ts | β Fixed - ~90 duplicates removed (May 18, 2026) |
| Error handling lacking user feedback | β Fixed - stack trace + truncated error message shown (May 18, 2026) |
Path extensions stripped (main.ts β main) | β
Fixed - regex includes / and uses lookahead boundaries (May 18, 2026) |
| Placeholder counter duplication (50% waste) | β Fixed - removed unused generatePlaceholder() function (May 18, 2026) |
| Language detection O(nΒ²) performance | β Fixed - converted indicator arrays to Sets for O(1) lookup (May 18, 2026) |
| Regex compilation per compression call | β Fixed - pre-compiled all phrase regexes in constructor (May 18, 2026) |
| String concatenation O(nΒ²) memory | β Fixed - use array join pattern for reconstruction (May 18, 2026) |
MIT
Last Updated: May 31, 2026
| On/Off |
| On |
| Windows file paths | C:\Source Code\... |
| Placeholder restoration O(nΒ²) time | β Fixed - single-pass Map-based replacement (May 18, 2026) |
| "Node.js" fragmented into parts | β
Fixed - added . to word pattern regex (May 18, 2026) |
Orphaned punctuation scattered (!, .!) | β Fixed - cleanup step removes standalone punctuation (May 18, 2026) |
| No input validation (security risk) | β Fixed - added null/empty check + 1MB limit warning (May 18, 2026) |
| PUA restoration regex broken | β
Fixed - proper \uE000-\uF8FF Unicode escapes used (May 24, 2026) |
| Dead synonym entries (no-ops) | β Fixed - 17 no-op entries removed (May 24, 2026) |
detectTechnicalContext double-call | β Fixed - result cached in variable (May 24, 2026) |
| escapeRegex cascading double-escaping | β Fixed - single-pass regex replacement used (May 31, 2026) |
| Word filtering reconstruction misalignment | β Fixed - separate filtered word array prevents delimiter shift (May 31, 2026) |
| XML depth tracking matching unrelated tags | β
Fixed - proper searchPos skip logic added (May 31, 2026) |
| Technical context over-counting overlapping patterns | β Fixed - simplified keyword/brace counting eliminates overlap (May 31, 2026) |
lms get crunch3r/troglodyte
cd "C:\Source Code\LM Studio Plugins\troglodyte"
lms dev --install
lms dev --install
cd "C:\Source Code\LM Studio Plugins\troglodyte"
npm run dev
Input: "Hello! Could you please help me? Thank you so much!"
Output: "Help me"
Input: "I was wondering if you could explain how photosynthesis works, please?"
Output: "Explain photosynthesis works"
Input: "I would really appreciate it if you could provide a detailed
explanation of the implementation process."
Output: "Provide detailed explanation implementation process"
possibly help me out? explain how install Node.js Windows steps.
wΓΌrde freuen, wenn bei dieser Aufgabe helfen kΓΆnntest
analysiere Code /home/user/project/src/main.ts ./lib/utils.py.
wΓΌrde freuen Aufgabe helfen kΓΆnntest
! wΓΌrde freuen Aufgabe helfen kΓΆnntest, ErklΓ€re steps Windows installiert,!, Node.js.!
npm install
npm run build
npm run dev
troglodyte/
βββ src/
β βββ index.ts # Entry point
β βββ promptPreprocessor.ts # Pipeline orchestrator
β βββ troglodyte.ts # Compression engine
β βββ config.ts # UI configuration
β βββ dictionaries/
β βββ en-filler.ts # English blacklists
β βββ de-filler.ts # German blacklists
β βββ phrases.ts # Multi-word replacements
β βββ synonyms.ts # Single-word abbreviations
βββ dist/ # Compiled output
βββ package.json
βββ PROJECT_SUMMARY.md # Comprehensive documentation
βββ memory.md # Persistent notes & lessons learned
βββ README.md # This file