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


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

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

dedroom-0.5.0-cp312-abi3-macosx_11_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for dedroom-0.5.0-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cdf16274d3237078c6d6e97bf016c69220570a12485eae66967bf91950f90ae2
MD5 12fef2dbfd63aaa6f5fb4d46a9ebe676
BLAKE2b-256 ba1dcf799fc308805f7cb4023f01db4ac86f63ff67777850cea697ff0e99fd37

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