One of the big selling points of AI agents like OpenClaw is the ability to connect it to popular communication tools like Slack, Discord, Mattermost, Telegram. But this shouldn't need to be reimplemented. A single tool can provide this interface for all of them.
That's what Pantalk does. It's a local daemon that maintains persistent connections to chat platforms, and any agent (regardless of language, framework, or runtime) talks through plain CLI commands or a Unix domain socket with a JSON protocol.
Your agent doesn't import a library. It calls a command. That means it works with Claude, Codex, Copilot and Gemini, local models, custom frameworks, a bash script or anything that can exec a process or write to a socket.
It outputs JSON when stdout isn't a terminal, and ships with "skill" definitions that teach agents what commands are available (kind of like man pages for LLMs).
Some things that might be interesting to this crowd:
* IPC is JSON over Unix domain socket. The CLI is just a thin client. You can write your own in any language.
* Everything is local. Message history and notifications are persisted in SQLite. No cloud, no external DB.
* Multi-bot. One daemon can manage multiple bots across different platforms simultaneously.
* Hot reload. Change your config and run pantalk reload - no restart needed.
It supports Slack (Socket Mode), Discord (Gateway), Mattermost (WebSocket), and Telegram (Bot API).
Written in Go, single binary, MIT licensed.
GitHub: https://github.com/pantalk/pantalk
Website: https://pantalk.dev
I'd love feedback on the protocol design and what other platforms people would want to see. Happy to answer questions!