Crew is one Gateway with many ways to reach it. Work from the Mac app, web dashboard, or CLI, then continue the same conversation through Slack, Discord, Telegram, Teams, Webex, WeCom, or WeChat (Weixin). Every session shares the same memory, skills, lessons, and cron jobs.
| Interface | Best for | Notes |
|---|---|---|
| Mac app | Simplest local experience. Bundled Gateway, multi-tab connections to local or remote Gateways. | macOS primary; Linux AppImage also available |
| Web dashboard | Parallel conversations, files, approvals, memory, schedules, apps, settings, and system status | Requires a browser and network to the host |
| Slack | Continue work from DMs and threads with streaming replies, approvals, and session links | Setup guide → |
| Telegram | Reach your agent from private DMs on phone or laptop | Setup guide → |
| Discord | DMs with streaming replies and approvals delivered as message buttons | Setup guide → |
| Teams | Reach your agent from Microsoft Teams chats | Setup guide → |
| Webex | Work from Webex direct messages | Setup guide → |
| WeCom | Outbound-connected WeCom AI bot | Setup guide → |
| WeChat (Weixin) | Reach your agent from WeChat | Setup guide → |
| CLI | Quick one-shots, scripting, headless environments, security commands | CLI reference → |
All surfaces connect to the same Gateway. A dashboard tab and a Slack thread are independent sessions with independent context — but they share memory across the board. Messaging channels connect outbound from the Gateway, so you don't need to expose the dashboard port publicly.
The dashboard is a React SPA served from the gateway at http://localhost:5476. It's the primary interface — most features (artifact library, memory graph, MCP panel, app store, task runner UI) live only here.
kirocrew gateway # starts the server # open http://localhost:5476 in your browser
For remote access, mint a token and follow the printed link:
kirocrew token --ttl 2h
Every request requires a valid token — cookie or minted link. Three deliberate exceptions serve no secrets: liveness probes, SPA static assets, and loopback-only bootstrap endpoints. See Security for the auth model.
Two features connect the surfaces:
Every dashboard chat tab has a 💬 button. Click it to link the current session to a Slack thread:
Useful for handing off a conversation you started on your laptop to Slack so you can continue on mobile.
Both surfaces expose a sessions command that lists recent sessions with ▶️ Resume buttons. Resume from any surface — the session picks up where it left off.
| Port | What it is | Configurable |
|---|---|---|
5476 | Dashboard + API | KIROCREW_PORT env var, or --port <n> |
The dashboard binds loopback only by default (localhost:5476). For LAN or remote access:
dashboard.url to the DNS name where the dashboard will be reached from
Interfaces