Repolode
anhe2021212-spec

anhe2021212-spec/Tidal_Echo

Self-hosted private 1:1 chat channel linking a phone PWA to your AI companion, running via Claude Code or any OpenAI-compatible LLM.

Stars
326
Forks
164
Open issues
2
Last commit
last month

What is it?

Companion Channel is a single-user chat relay that connects a installable phone web app (PWA) to an AI companion running on your own computer or server. Messages you type on the phone are stored in a SQLite database on your VPS and pushed over Server-Sent Events to a Claude Code channel plugin, which surfaces them as channel blocks in a session. The AI replies through a reply tool, and the reply appears as a bubble on the phone.

The default AI side is a Claude Code channel plugin built on Bun and MCP. An alternative bridge script, examples/bridge_any_llm.py, lets any OpenAI-compatible model (GPT, DeepSeek, Gemini and others) take the place of Claude Code while the front end and backend stay the same. A server-side API loop is also included, adding multi-step MCP tool calls, image and file attachments, and a persona file that reloads without restart.

All endpoints are guarded by one Bearer secret, RELAY_SECRET, and there are no accounts or third-party hosting. The backend is FastAPI with nginx in front and requires an HTTPS domain for PWA installation and Web Push. Voice (MiniMax TTS) and push notifications are optional and disable cleanly when unconfigured.

Key features

  • 01Relays messages between a phone PWA and an AI session over SSE and HTTP.
  • 02Integrates with Claude Code through a channel plugin built on Bun and MCP.
  • 03Supports any OpenAI-compatible model via a bridge script or the server-side API loop.
  • 04Stores chat history in SQLite on your own server with Bearer-token authentication.
  • 05Handles images and file attachments, with MCP tool calls shown as expandable cards.
  • 06Optional MiniMax text-to-speech and Web Push lock-screen notifications.

Use cases

  • Keeping a private one-on-one chat with a Claude Code-powered AI companion from your phone.
  • Connecting a self-hosted phone chat UI to a non-Claude LLM such as GPT or DeepSeek.
  • Using a reusable PWA shell as the front end for your own message backend.
  • Running a server-side AI assistant that calls MCP tools and handles file attachments.

Topics

FAQ

What is Tidal_Echo?
Self-hosted private 1:1 chat channel linking a phone PWA to your AI companion, running via Claude Code or any OpenAI-compatible LLM. Companion Channel is a single-user chat relay that connects a installable phone web app (PWA) to an AI companion running on your own computer or server. Messages you type on the phone are stored in a SQLite database on your VPS and pushed over Server-Sent Events to a Claude Code channel plugin, which surfaces them as channel blocks in a session. The AI replies through a reply tool, and the reply appears as a bubble on the phone.
Is Tidal_Echo free to use? What license does it have?
Tidal_Echo is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is Tidal_Echo still maintained?
Updated within 6 months. The last commit to Tidal_Echo was on Sep 22, 2026.
What can I use Tidal_Echo for?
Keeping a private one-on-one chat with a Claude Code-powered AI companion from your phone. Connecting a self-hosted phone chat UI to a non-Claude LLM such as GPT or DeepSeek. Using a reusable PWA shell as the front end for your own message backend. Running a server-side AI assistant that calls MCP tools and handles file attachments.
Where can I get Tidal_Echo?
The source code and installation instructions are on GitHub: https://github.com/anhe2021212-spec/Tidal_Echo

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects