Skip to content

asmltr

One channel-agnostic AI-assistant backend behind every chat surface — with a live insights dashboard.

Run one assistant and let people reach it from Discord, Telegram, an MCP client, GitHub issues, or any OpenAI-compatible client — all through the same brain, with shared memory, a unified trust/permission model, moderation, and per-secret output redaction. Its thinking runs on a swappable engine — Claude Code (on your subscription, the default), Gemini, Codex, or a self-hosted model — and whichever you pick drives every channel. A collector + dashboard give you one pane of glass over everything the assistant is doing, and a CLI lets any session watch, steer, and coordinate with the others.

The default engine uses your Claude subscription — no metered API key

The Claude engine executes through the local Agent SDK on your Claude subscription — there is no ANTHROPIC_API_KEY execution path. Other engines (Gemini/Codex/self-hosted) use their own login or a vault-stored API key. See Reasoning engines · Architecture.

  • Get started

    What asmltr is, how to install it, and a quick first channel.

  • Architecture

    Adapter → envelope → core (SDK) → redact → outbound, plus the collector & dashboard.

  • Reasoning engines

    Run on Claude, Gemini, Codex, or a self-hosted model — one choice drives every channel.

  • Connectors

    Discord, Telegram, MCP, GitHub, an OpenAI-compatible API, and interactive CLI sessions.

  • The CLI

    asmltr ls / map / who / send / announce / watch / attach / claude — observe, coordinate, take over.

  • The dashboard

    Live sessions, conversation-details + takeover, per-channel toggles, and content search.

  • Security

    Default-deny trust, moderation, output redaction, and a pluggable secret provider.

Reach the assistant from anywhere

flowchart LR
  D[Discord]:::ch --> CONN
  T[Telegram]:::ch --> CONN
  M[MCP client]:::ch --> CONN
  G[GitHub]:::ch --> CONN
  O[OpenAI client]:::ch --> CONN
  C["claude (CLI)"]:::ch --> CONN
  CONN[connectors] --> CORE[asmltr-core<br/>local Agent SDK]
  CORE -. event stream .-> COL[collector]
  COL --> UI[dashboard / CLI]
  classDef ch fill:#8B5CF6,stroke:#EC4899,color:#fff;

Coordinate across sessions

asmltr is a self-reflecting orchestrator: every session can see the others and work with them.

  • Steer & take over a live session — stop a turn, inject a message, or attach it.
  • Cross-channel send — answer on Discord, deliver the file to Telegram.
  • Announcements — push a timestamped note into every session's next turn.
  • Awarenessasmltr map / who <path> show where each session is working, so two of them don't collide.

asmltr is open source at github.com/jarethmt/asmltr.