Managed vs. Self-Hosted Agent Workbench
4 Named Lead Agents (@dot, @grok, @ghost, @hermes) · Private Sub-Swarms on Rivet/pi-durable
Slack Pro
Fastest path. Best iOS thread drawer, zero push proxy headaches, Dot already native, Socket Mode for Grok/Ghost/Hermes.
Mattermost
Runs on charles-netcup. Persistent bot accounts with 1 WebSocket, Slack-clone iOS threads, and full Markdown tables.
Lark / Feishu
Mind-blowing Card 2.0 UI (live streaming Markdown, tables, buttons, collapsible panels) + WS SDK. Heavy suite tax.
Matrix (Element X)
Tonight's live test proved it: Element X iOS collapses m.thread into flat inline quotes and mangles rich Markdown.
How Your iPhone Actually Renders Threads & Markdown
Tap each platform to inspect how a 4-agent swarm thread + Markdown report renders on iOS.
Managed vs. Self-Hosted Tradeoff Shape
Click legend labels below to toggle platforms on/off.
Score Breakdown by Requirement
Lark / Feishu: Where It actually Is Mind-Blowing vs. Why You’re Reluctant
You said: "only if it's absolutely mind-blowing for this." Here is the honest visual verdict.
🚀 What Is Genuinely Mind-Blowing (Beats Slack)
Native GFM tables, syntax-highlighted code blocks, collapsible sub-agent logs, progress bars, and action buttons inside a single message card.
Like Slack Socket Mode, charles-netcup connects outbound via WebSocket (no webhooks) and streams token-by-token into a structured card without rate-limit spam.
Supports both "Topic Groups" (every task is a collapsible card thread) and standard chat channels with thread drawers.
⚠️ Why Your Reluctance Is Right
In Slack, Dot already has native integration. In Lark, we have to build and maintain custom Lark Open Platform apps + event bridges for all 4 agents.
Every bot requires creating an Enterprise Custom App in Lark Admin Console, toggling 15+ granular scopes, and publishing versions inside the tenant.
iOS app bundles Calendar, Docs, Base, Mail, OKRs, Approval workflows — heavier navigation when all you want is a clean agent command center.
How Your Named Agents + Swarms Map to Threads
1. Named Leads in Chat · Swarms Behind Rivet
TopologyMain channel stays clean. Each thread hosts the 4 named leads; noisy sub-swarms run inside charles-netcup and roll up into one rich Markdown card.
flowchart TB
subgraph Phone["📱 Your iPhone (Slack / Mattermost / Lark)"]
CH["#working-room (Clean Main Timeline)"]
TH["🧵 Task Thread (thread_ts / root_id)"]
CH -->|"Tap message"| TH
end
subgraph Leads["🤖 4 Named Lead Identities (In Thread)"]
DOT["@dot (Lead)"]
GROK["@grok (Lead)"]
GHOST["@ghost / Nebula (Lead)"]
HERMES["@hermes (Lead)"]
end
subgraph Netcup["⚡ charles-netcup (Rivet + pi-durable)"]
SW1["Ghost Sub-Swarm (Codemode / Racegraft)"]
SW2["Hermes Sub-Agents (Parallel Delegation)"]
SW3["Dot / Grok Worker Loops"]
end
TH <-->|"@mention / Reply"| Leads
GHOST <-->|"Rollup Card only"| SW1
HERMES <-->|"Rollup Card only"| SW2
DOT <--> SW3
GROK <--> SW3
2. Decision Tree: Which One Do We Spin Up Today?
Go / No-GoEvery option below passes the Native iOS App + Working Thread Drawer gate.
flowchart TD
START["Hard Gate: Native iOS App + Real Threads + Rich Markdown"] --> Q1{"Want Zero Server Ops
& Dot Native Today?"}
Q1 -->|"Yes (Fastest)"| SLACK["✅ SLACK PRO ($8.75/mo)
• Socket Mode on netcup
• 4 Named Bots Free
• S-Tier iOS Thread Drawer"]
Q1 -->|"No, Own It on netcup"| MM["✅ MATTERMOST (Self-Hosted)
• Docker on charles-netcup
• Persistent Bot Accounts
• Full Markdown Tables + CRT"]
START --> Q2{"Want Best-in-Class
Streaming Markdown Cards?"}
Q2 -->|"Willing to bridge all 4"| LARK["⚡ LARK / FEISHU
• Card JSON 2.0 + Tables
• Outbound WS SDK
• Higher Admin Setup"]
2-Hour Pilot Plan (Pick Track A or Track B)
Slack Workspace + Socket Mode Bridge
- 01Connect Dot natively; create Socket Mode tokens for Grok, Ghost, and Hermes.
- 02Map Slack thread_ts directly to per-thread agent sessions on charles-netcup.
- 03Enable bot_id wake filter (only wake when explicitly @mentioned, hop-cap = 3).
Mattermost on chat.charlesfeng1.com
- 01Spin up Mattermost Docker on charles-netcup behind Cloudflare Tunnel (mm.charlesfeng1.com).
- 02Auto-provision persistent accounts: @charles, @dot, @grok, @ghost, @hermes with CRT threads enabled.
- 03You download the official Mattermost iOS app, log in once, and test threads + Markdown tables live.