Unified agent runtime: loop detection + context compression for AI coding agents
Project description
DedrooM
Loop detection + context compression for AI coding agents.
DedrooM sits between your AI agent and the LLM provider to:
- Detect and block infinite loops — saves wasted API calls when tools repeat
- Compress context — reduces token usage by 60–95% without changing behavior
- Intelligence Engine — parses thoughts locally, injects proactive mentor coaching, tracks trust scores, and learns from failures
- Redact sensitive data — strip API keys, tokens, and secrets from tool outputs
- Track ROI — attribution engine shows exactly how much each tool saves
Quick Start
pip install dedroom
# Start the proxy daemon and route your agent through it
dedroom init
eval "$(dedroom init)" # Sets ANTHROPIC_BASE_URL and OPENAI_BASE_URL
# Use your agent as normal
claude # now routed through DedrooM
codex # works immediately
# Check status and stop
dedroom status # Show running state, PID, uptime, tokens saved
dedroom stop # Stop the daemon
One-shot alternative (no daemon)
dedroom wrap claude # Starts proxy, launches agent, cleans up on exit
Commands
| Command | Description |
|---|---|
init |
Start proxy daemon and print shell exports |
status |
Show proxy status, PID, uptime, savings |
stop |
Stop the daemon |
wrap <agent> |
Start proxy + launch agent |
unwrap <agent> |
Restore config to pre-wrap state |
doctor |
Run health checks |
report |
Show per-tool compression report |
proxy |
Start standalone proxy server |
Use any LLM provider (not just OpenAI/Anthropic)
# DeepSeek API
dedroom wrap claude \
--upstream-url https://api.deepseek.com \
--api-key "sk-your-key"
# Local Ollama
dedroom wrap aider \
--upstream-url http://localhost:11434/v1
Python API
from dedroom import DedrooM
pipeline = DedrooM("""
loop_detection:
max_repeats: 3
""")
# Check for loops (0 = Allow)
verdict = pipeline.verify("write_file", '{"path": "/tmp/x.txt"}')
# Full pipeline
result = pipeline.process_tool("write_file", '{}', tool_result)
print(f"Blocked: {result['is_blocked']}")
print(f"Saved {result['original_tokens'] - result['compressed_tokens']} tokens")
Benchmarks
| Payload | Raw Tokens | With DedrooM | Reduction |
|---|---|---|---|
| Repeated directory listing (1MB) | 483,672 | 177,245 | 63.4% |
| Large source file | 18,331 | 14,167 | 22.7% |
| Build log | 284 | 284 | 0% (no redundancy) |
- Loop detection latency: ~1.3ms per tool call (negligible vs 2-10s LLM roundtrip)
- Pipeline throughput: 5.4µs (in-memory) / 260µs (SQLite)
Development
git clone https://github.com/Devaretanmay/dedroom
cd dedroom
# Build Rust binaries
cargo build -p dedroom-cli -p dedroom-proxy
# Install Python package in dev mode
pip install -e .
# Run tests
pytest python/tests/
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
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 dedroom-0.5.0-cp312-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: dedroom-0.5.0-cp312-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.1 MB
- Tags: CPython 3.12+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdf16274d3237078c6d6e97bf016c69220570a12485eae66967bf91950f90ae2
|
|
| MD5 |
12fef2dbfd63aaa6f5fb4d46a9ebe676
|
|
| BLAKE2b-256 |
ba1dcf799fc308805f7cb4023f01db4ac86f63ff67777850cea697ff0e99fd37
|