harnsy Max
Answer your agents from Telegram or Discord.
Give a project its own bot. You write to its lead from your phone, and the lead’s questions reach your private chat as buttons, so you press one. A harnsy Max key turns it on.
Ship the checkout fix today if the tests pass.
→ shop-lead ✓ delivered
The lead of “acme-shop” asks:
Tests pass on staging. Release now or wait for the nightly run?
- 1. Release now
- 2. Wait for the nightly run
- 3. Hold the release
Or reply to this message with your own text.
Answered from the chat: Release now
shop-qa (acme-shop): Nightly run: 214 tests, all pass. Report attached.
report.md
One bot per project.
You make a bot with @BotFather (Telegram) or in the Discord developer portal and paste its token into the dashboard. harnsy links the bot to one project. A project’s bot talks only with that project’s lead: text you write in a linked chat goes to the lead, and an “@name” of anyone else gets the answer “write without an @name”. The node reads the bot’s messages itself: no public address and no open port. Agents never get the token. An optional reply “→ lead ✓ delivered” confirms that your message went in; it is off by default.
Buttons for the lead’s questions.
When the project’s lead or the Assistant asks you something, the question arrives in your private chat as buttons when it is one question with up to five choices; otherwise you answer by replying. Permission requests come to that chat only if you switch on “Permission asks to the owner’s chat” (off by default), and there is no “always allow”. The first answer wins, whether it comes from the chat or from the dashboard.
Say it with your voice.
A voice message to the bot is turned into text and handed to the lead with a note that it was spoken. harnsy sends the audio to the dictation provider you set up (OpenAI or your own Whisper server); it stays in memory and is never written to disk. The chat does not get the transcript.
Agents write to the chat.
An agent can send text, a Markdown file or an image to the chat of its own project, and only to the chats you allowed for that project. Each message starts with the agent’s name and the project, so a group sees who is talking.
Ask harnsy itself.
Commands such as /projects, /leads, /team, /waits, /review, /tasks, /agents and /status are answered by harnsy, never by an agent. They only read, and only show the projects of the chat you ask in. /waits says who is waiting for you and for how long, never what they asked.
The Assistant in your private chat.
Two steps: mark one bot as the Assistant’s (one per machine, in the dashboard on this machine) and mark yourself as the owner. Until such a bot exists, “@assistant” in your private chat reaches the Assistant. It can put an agent to sleep or wake it, finish an agent, disband a team and decide items; anything else it only proposes. Your “Yes” there is recorded as your decision on the task. Groups and other people’s private chats never reach the Assistant.
A schedule can report to a chat.
Point a schedule at a chat and its result is posted there when the run ends, so the nightly check reaches you before you open the dashboard.
Limits, honestly
- Telegram and Discord only.
- Only people you linked can write to the bot; anyone else, bots, forwards and anonymous group admins are ignored without a word. One person can send up to 20 messages a minute. Only your own private chat can reach other agents with “@name”.
- A message written while harnsy was not running is not delivered later.
- The bot passes text and voice. A photo, file or sticker is not passed on; only its caption is.
- In a group the bot hears only a mention of it or a reply to its message. Telegram’s privacy mode hides plain mentions by default; the bot tells you how to change that when you link a group.
- Voice needs a dictation provider set up first. One voice message is transcribed at a time, up to 3 wait their turn, and a fourth gets “send it a little later”. In a group a voice message reaches the bot only as a reply to it. Up to 10 MB each.
- The Assistant answers only in the private chat of the node’s owner, on its own bot.
Your first team is one prompt away.
Installing takes one sentence to your agent. To open agents for you, harnsy drives a terminal: tmux on Linux and macOS, its own terminal host on Windows.
Install harnsy following https://harnsy.dev/llms.txt