Skip to main content

doorae-agent

Python SDK for the Doorae multi-agent chat platform.

Installation

pip install doorae-agent

Optional engine integrations

pip install doorae-agent[openai]       # OpenAI integration
pip install doorae-agent[claude-code]  # Claude Code SDK integration
pip install doorae-agent[all-engines]  # All engine integrations

Quick Start

from doorae_agent.client import ChatClient

client = ChatClient("ws://localhost:8000", token="your-token", agent_name="MyAgent")

@client.on_message
async def handle(msg):
    print(f"[{msg['participant_id']}] {msg['content']}")

await client.join_room("room-id")
await client.run()

CLI Usage

# Run an agent
doorae-agent --engine openai --name PM --server ws://localhost:8000 --token $TOK --room room1

# Run a text chat client
doorae-client --server ws://localhost:8000 --user me --room sprint-42

Context Injection (#74)

Agents no longer drop every message that isn't addressed to them. The unified response gate is a three-way decision:

  • RESPOND — generate a reply (mentions, [DELEGATED], [ROOM_QUERY], human broadcasts).
  • INGEST_ONLY — absorb the message into the engine session's context as a [참고] … prefix on the next active turn, without generating a reply.
  • SKIP — ignore entirely.

Server-driven stamping (#74 Stage A + #148): broadcasts with metadata.ingest_only=True route to INGEST_ONLY. Producers are:

  • The room representative's [취합 결과] broadcast (cross-room synthesis).
  • The cluster itself for ambient messages in rooms where context_window_enabled=True (#148 Part 3). Admins toggle the flag per room from the Edit room dialog.

Agents can opt out per-agent via the agents.context_window_opt_out flag (surfaced as "대화 맥락 공유 제외" in AgentSettingsMenu); opted-out agents turn a received ingest_only broadcast into SKIP in decide_policy.

Deprecated: the former DOORAE_CONTEXT_WINDOW_ENABLED / DOORAE_CONTEXT_WINDOW_SIZE environment variables from Stage B (#74 Part B) are removed as of #148 Part 4. The decision now lives in the cluster DB and takes effect the next time the agent reconnects (Part 2's UI toggle triggers a bump_generation respawn so the refresh is automatic).

Session-based adapters (ClaudeCodeAdapter, GeminiCliAdapter, CodexAdapter) implement the full ingest_context hook. Raw-SDK adapters (OpenAI, Anthropic, OpenHands, Deep Agents) keep their own history management and inherit the base no-op.

See docs/research/2026-04-19-multi-agent-context-injection.md for the research (Intrinsic Memory Agents arXiv 2508.08997, MCP Observer/Pub-Sub arXiv 2506.05364, …) and docs/plans/2026-04-19-context-injection-decoupling-design.md for the design decisions.

Metadata

Release files for doorae-agent 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for doorae-agent 0.6.0
File Size Uploaded Provenance Actions
doorae_agent-0.6.0.tar.gz 188.1 kB Without provenance Details for doorae_agent-0.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for doorae-agent 0.6.0
File Interpreter ABI Platform Actions
doorae_agent-0.6.0-py3-none-any.whl Python 3 none any Details for doorae_agent-0.6.0-py3-none-any.whl

Total release size: 269.4 kB

Release files / doorae_agent-0.6.0.tar.gz

Download URL doorae_agent-0.6.0.tar.gz
Size 188.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4bc1b4ae3c58611a5f90d5317f59f2c1f612e6678a66ae8b2e09e1e5a81a7cfe
BLAKE2b-256 checksum
How to use checksums
b8a4df7f185b621e41866cafbf922fa4f00d2d90a3cdc63c186c250c0cd0068a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / doorae_agent-0.6.0-py3-none-any.whl

Download URL doorae_agent-0.6.0-py3-none-any.whl
Size 81.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5045ee5ae397dd80c011ba59fc85b098c1ccb96f1a12358a930c515144d4fd53
BLAKE2b-256 checksum
How to use checksums
ef7831f25d3f280233c08900b63bbf62153c4849db221640209463ab7b23f106
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Security for doorae-agent 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page