Skip to content
Steven Enamakel edited this page Jul 5, 2026 · 2 revisions

TinyChannels Wiki

TinyChannels is a Rust channel and messaging contract library for OpenHuman. It owns the portable channel types, provider adapters, relay contracts, delivery queue policy, controller metadata, and host boundary that let OpenHuman connect external messaging surfaces to its harness without pulling application internals into each provider.

The repository README.md is the short product overview. This wiki is the implementation-oriented companion: what each surface owns, how to set up the crate, how providers fit together, and where OpenHuman plugs in.

Why TinyChannels Exists

OpenHuman talks to people and agents through many channel surfaces: Discord, Slack, email, iMessage, Lark, DingTalk, IRC, Signal, WhatsApp, QQ, Yuanbao, and future relay-backed platforms. Each surface has different auth, addressing, threading, formatting, delivery, and lifecycle rules.

TinyChannels keeps those differences behind typed contracts:

  • inbound messages become ChannelInboundEnvelope
  • outbound sends become ChannelOutboundIntent
  • provider sends return normalized MessageReceipt values
  • durable delivery is negotiated before retrying or downgrading
  • rich providers call back into OpenHuman through ChannelHost
  • external connectors speak the relay frame and descriptor contracts

The Main Surfaces

  1. Channel Contracts (src/channel/, src/traits.rs)
    • normalized inbound envelopes, outbound intents, receipts, provider capability flags, and the legacy Channel trait.
  2. Providers (src/providers/)
    • portable provider implementations for direct channel integrations.
  3. Host Boundary (src/host/, src/harness/)
    • optional host capabilities for turn dispatch, speech, approvals, conversation history, events, lifecycle hooks, and telemetry.
  4. Relay (src/relay/)
    • connector descriptor, auth, frame, transport, and action contracts for Hermes/OpenClaw-style platform relays.
  5. Delivery (src/delivery/)
    • durable outbound delivery queue policy, retry state, unknown-send reconciliation, and capability negotiation.
  6. Controller API (src/controllers/, src/backend.rs)
    • UI-facing channel definitions and the ChannelBackend delegation layer that OpenHuman implements.

Page Index

Getting started

Concepts

Modules

  • Providers - built-in provider modules and their role.
  • Relay - connector handshakes, frames, auth, and transport.
  • Delivery - durable delivery queue behavior.
  • Controller API - setup/status/send backend contracts.

Contributing

  • Development - local checks, docs rules, and extension notes.

Repository Links

TinyChannels

Channel and messaging contracts for OpenHuman.

Getting started

Concepts

Modules

Contributing


Clone this wiki locally