Skip to main content

Unified agent runtime: loop detection + context compression for AI coding agents

Project description

DedrooM

Loop detection + context compression for AI coding agents.

PyPI version License

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
  • 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

Note: The CLI commands (wrap, proxy, doctor) require the Rust binary. Install it from source or use a pre-built release:

cargo install dedroom-cli
# or build from repo: cargo build -p dedroom-cli -p dedroom-proxy

Commands

Wrap any AI agent through the proxy

dedroom wrap claude          # Claude Code (Anthropic)
dedroom wrap codex           # OpenAI Codex CLI
dedroom wrap aider           # Aider
dedroom wrap cursor          # Cursor Editor
dedroom wrap cline           # Cline (VS Code extension)
dedroom wrap opencode        # OpenCode

Use any LLM provider (not just OpenAI/Anthropic)

# OpenCode Zen free models
dedroom wrap opencode \
  --upstream-url https://opencode.ai/zen \
  --api-key "sk-your-key" \
  -- run -m headroom/deepseek-v4-flash-free "your task"

# 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

Diagnostics & control

dedroom doctor                # Run health checks
dedroom doctor --json         # JSON output for scripting
dedroom proxy                 # Start standalone proxy
dedroom unwrap <agent>        # Restore config to pre-wrap state
dedroom dash                  # Launch TUI dashboard

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


Download files

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

Source Distribution

dedroom-0.3.3.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

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

dedroom-0.3.3-cp312-abi3-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

File details

Details for the file dedroom-0.3.3.tar.gz.

File metadata

  • Download URL: dedroom-0.3.3.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for dedroom-0.3.3.tar.gz
Algorithm Hash digest
SHA256 4064259daee05170b06afe23ca2ab0264f27a7041ef0f474343f7a0270703b3a
MD5 58880669fab0fe54e1acc20a8694f38d
BLAKE2b-256 c540eb00a9398ce77a5f0813480a521d14b948467e5f382c6e3cc1e76f328b09

See more details on using hashes here.

File details

Details for the file dedroom-0.3.3-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dedroom-0.3.3-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f5e7909f0c1e2ceffe72cdb399786cf4045b04f8b2c8d07b69f66e433a9c8cb
MD5 613f2c2ed3c0fa70f437a32bca5bcd35
BLAKE2b-256 793029908e8769c05f7a1d2c4713acc7966367a68dd07a736800877619b80008

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