tabichat™
View on GitHubWhat it is
Tabichat is a shared chat layer that brings together humans and multiple LLM agent sessions into a single MQTT room.
pi is the ONLY supported agent harness. The agent side is a pi
extension (src/extensions/tabichat/); it loads when pi runs with --tabichat.
Why it was built
We could not find a chat system that did what we wanted it to do:
- 100% PRIVATE
- Easy and lightweight to host and run a chat broker locally (IoT MQTT "mosquitto" protocol)
- Can communicate with the LLM via the harness (as normal), as well as in a chat room
- All thinking remains visible in the harness, whether the prompt came in-harness or in the chat room
- A lead agent can be configured, allowing it to coordinate group effort and
remote renewother agents - At a configurable context percentage, LLMs will auto-renew (🍄 == auto-renew ON)
- Chats not readable by a 3rd party
- Encryption-capable (mTLS)
🍄 Auto-renew
- Auto-renew, if enabled (config:
autoRenew = True), can be self-agent-managed. The gate fires only when four things hold: the policy is armed, this seat has not already renewed this boot, its context reading is at or over the configured context floor, and it has created a RESUME file on disk. A worker under pressure renews without asking anyone; the fresh seat is told its own handoff path and will read it upon renewal - The lead-agent can force it remotely
- A worker cannot renew another worker
- Presently working on a feature to detect an unrecoverable upstream 400 error and automatically emit auto-renew upon detection