← Back to PRs

#22260: feat(extensions/deltachat): add Delta.Chat channel extension

by alanz open 2026-02-20 23:17 View on GitHub →
docs cli size: XL
## Summary Adds a full [Delta.Chat](https://delta.chat/) channel extension to OpenClaw, enabling the assistant to send and receive messages over the Delta.Chat protocol (email-based end-to-end encrypted messaging via JSON-RPC). - self contained, except for updates to the global README.md, and some test files. ## Change Type (select all) - [ ] Bug fix - [X] Feature - [ ] Refactor - [ ] Docs - [ ] Security hardening - [ ] Chore/infra ## Scope (select all touched areas) - [ ] Gateway / orchestration - [ ] Skills / tool execution - [ ] Auth / tokens - [ ] Memory / storage - [X] Integrations - [ ] API / contracts - [ ] UI / DX - [ ] CI/CD / infra ## Linked Issue/PR - Closes # - Related # ## User-visible / Behavior Changes Adds a new channel, for [delta.chat](https://delta.chat/). Config is in docs/channels/deltachat.md ## Security Impact (required) - New permissions/capabilities? (`No`) - Secrets/tokens handling changed? (`No`) - New/changed network calls? (`Yes/No`) Unsure what this means - Command/tool execution surface changed? (`No`) - Data access scope changed? (`Yes/No`) unsure what this means - If any `Yes`, explain risk + mitigation: ## Repro + Verification ### Environment - OS: Developed on Mac Mini - Runtime/container: - Model/provider: - Integration/channel (if any): - Relevant config (redacted): ## Human Verification (required) What you personally verified (not just CI), and how: - Verified scenarios: - Initial onboarding - bot creation and QR code pairing - messaging and response, 1:1 and group, from different accounts - Edge cases checked: - What you did **not** verify: ## Compatibility / Migration - Backward compatible? (`Yes`) - Config/env changes? (`Yes/No`) Only if you choose to enable it - Migration needed? (`No`) - If yes, exact upgrade steps: ## Failure Recovery (if this breaks) - How to disable/revert this change quickly: Disable the plugin - Files/config to restore: - Known bad symptoms reviewers should watch for: ## Risks and Mitigations List only real risks for this PR. Add/remove entries as needed. If none, write `None`. None <!-- greptile_comment --> <h3>Greptile Summary</h3> This PR adds comprehensive Delta.Chat channel support to OpenClaw, implementing end-to-end encrypted messaging via the Delta.Chat protocol (email-based messaging over JSON-RPC). The implementation follows OpenClaw's channel plugin architecture and integrates cleanly with existing systems. **Key additions:** - Full channel plugin with `channel.ts`, `monitor.ts` implementing message handling, security policies (DM pairing/allowlist, group policies), and typing indicators via reaction emojis - RPC server lifecycle management with retry logic, graceful shutdown, and test mode mocking - Pairing QR code generation with storage/retrieval mechanism - Comprehensive test coverage (7 test files covering monitor, RPC server, send, reactions, error handling) - Integration with core routing, pairing CLI, and plugin adapter types - Documentation in `docs/channels/deltachat.md` and extension README **Architecture highlights:** - Uses singleton RPC server manager to prevent duplicate processes - Message deduplication for rapid IMAP events - Group conversation history tracking - Proper session isolation with configurable `dmScope` - Reaction-based liveness indicators (since Delta.Chat lacks native typing) The extension is self-contained within `extensions/deltachat/` with minimal core changes (pairing CLI enhancements, routing test coverage, adapter type exports). <h3>Confidence Score: 4/5</h3> - This PR is largely safe to merge with only minor risks around subprocess lifecycle management - The implementation is well-structured with comprehensive test coverage, proper error handling, and follows OpenClaw conventions. Security policies are correctly implemented with pairing, allowlists, and group access controls. The RPC server lifecycle management includes retry logic and graceful shutdown. Deducting one point for: (1) subprocess management complexity with the Delta.Chat core process that could fail in edge cases, (2) reliance on signal handlers which are skipped in test mode but could cause issues in production if multiple instances run, and (3) file system operations (avatar copying, data directory creation) that could fail silently. - Pay close attention to `extensions/deltachat/src/rpc-server.ts` for subprocess lifecycle management and `extensions/deltachat/src/monitor.ts` for the complex message handling flow <sub>Last reviewed commit: 20534ef</sub> <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> <!-- /greptile_comment -->

Most Similar PRs