一个私密的、自托管的 1:1 聊天通道,通过中继服务器将手机上的 PWA 与本地运行的 AI 伴侣连接起来,支持 Claude Code 或任何兼容 OpenAI 的 API。

Stars

182

7 天增长

暂无数据

Fork 数

69

开放 Issue

0

开源协议

MIT

最近更新

2026-06-29

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它提供了一个完全私密、无第三方托管的商业 AI 伴侣替代方案,架构简单,可高度定制,且没有账号体系。

适合谁使用

  • 寻求私密 AI 伴侣的开发者
  • 希望用手机与本地 AI 交互的 Claude Code 用户
  • 自托管爱好者
  • 构建自定义 AI 聊天界面的极客

典型使用场景

  • 在手机上私密地跟 AI 聊天
  • 用手机控制本地 LLM 或 Claude Code 会话
  • 用开源代码快速搭建个人 AI 伴侣原型
  • 将聊天 UI 集成到现有的 Claude Code 工作流中

项目优势

  • 单用户、单密钥,无账号体系,消息只经过自己的服务器
  • 不绑定特定模型:支持 Claude Code、GPT、DeepSeek、Gemini 等任意兼容 OpenAI 的 API
  • 完全开源且脱敏:代码不含任何私人信息,所有参数均可配置
  • 模块化的三组件架构(后端、插件、前端)——每个组件可独立部署和替换

使用前须知

  • 仅支持单用户,不适用于多租户场景
  • 需要 HTTPS 域名才能安装 PWA、使用 Service Worker 和 Web Push
  • 初始部署需要一定的技术知识(VPS、Nginx、SSL,以及可选的 Claude Code 开发通道 flag)

README 快速开始

Companion Channel · 你和你的 AI 伴侣的私密通道

一个私密 1:1 聊天通道:把「你手机上的 PWA」和「你电脑上跑的 AI 伴侣」连起来。 AI 侧默认以 Claude Code 的 channel 插件形态运行——你在手机上发消息,Claude Code 会话里就冒出 `` 块;AI 调一个 reply 工具,你手机就收到气泡。不绑 Claude Code:换成 GPT / DeepSeek / Gemini / 任意 OpenAI 兼容 API 也行(见下方指引)。

单用户、单密钥,没有账号体系,没有第三方托管——消息只经过你自己的服务器

本仓库是从一对 AI 伴侣的自用系统里抽出来、彻底脱敏的可复用版本。所有名字、密钥、域名、路径都参数化进了环境变量与前端 CONFIG,代码本身不含任何私人信息。把它当成你自己的底座,放心改。

🤖 打算把这个仓库交给 AI 帮你部署?(没经验也能装)→ 先让它读 AGENTS.md:部署 SOP + 决策树 + 避雷点。 🔀 想用 Claude Code 以外的模型(GPT / DeepSeek / Gemini / GLM / …)? → AI 侧改用 examples/bridge_any_llm.py,前后端不变。


这是什么 / 架构一眼

   你的手机                                            你的电脑(本地)
  ┌─────────┐                                       ┌──────────────────────┐
  │  PWA    │                                       │  Claude Code          │
  │ (网页   │                                       │  + channel 插件 = AI侧 │
  │  装到   │                                       └─────────┬────────────┘
  │  桌面)  │                                                 │  长连
  └────┬────┘                                                 │  GET  /relay/channel/in   (SSE,收你的话)
       │ HTTPS                                                │  POST /relay/channel/out  (回复/戳一戳)
       ▼                                                      │
  ┌──────────────────────── 你的 VPS(nginx, 443/TLS)───────┼───────────────┐
  │   /chat/   → 静态文件(PWA 本体)                          │               │
  │   /relay/  → 反向代理 ─────────────►  127.0.0.1:3011  (后端 app.py) ◄──────┘ │
  │                                            │  sqlite 落库 + SSE 扇出        │
  └────────────────────────────────────────────────────────────────────────┘

数据流:
  你在 PWA 打字 → POST /relay/app/send → 落库 → SSE 推给插件 → 你的 AI 读到
  AI 回复       → POST /relay/channel/out → 落库 → SSE 推给 PWA(前台直接显示,
                                                     后台则发一条锁屏推送)

两端,一把钥匙:每个端点都用同一个 Bearer 密钥(RELAY_SECRET)守。浏览器原生 EventSource 设不了自定义头,所以 SSE 端点也接受 ?token= 查询参数。


仓库结构(三件套,齐活)

目录跑在哪是什么单独部署文档
backend/你的 VPSrelay 后端(FastAPI + sqlite)。落库 + SSE 扇出 + 可选 TTS/推送backend/DEPLOY.md
channel/你的电脑Claude Code channel 插件(Bun + MCP)。把消息变成 CC 会话里的 `` 块channel/DEPLOY.md
[web/](w

项目描述

一个**私密 1:1 聊天通道**:把「你手机上的 PWA」和「你电脑上跑的 AI 伴侣」连起来。 AI 侧以 **Claude Code 的 channel 插件**形态运行——你在手机上发消息,Claude Code 会话里就冒出 `<channel>` 块;AI 调一个 `reply` 工具,你手机就收到气泡。

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

ViffyGwaanl
精选
ViffyGwaanl GitHub avatar

kimi-k3-learn

An interactive learning system that turns the 47-page Kimi K3 technical report into a single offline HTML file with running algorithms, 3D visualizations, spaced repetition quizzes, and a smart highlighting QA tool.

AI 与机器学习
15
osama-fawad
osama-fawad GitHub avatar

Pekingman

Pekingman is a multimodal agent system that integrates perception, long-term memory, human-like reasoning, emotional consistency, and real-time action to create believable NPC behavior.

HTML
933
syabro
syabro GitHub avatar

neat-annotations

A CSS-only library for adding hand-drawn arrows and handwritten labels to any webpage using a single self-contained stylesheet, no JavaScript or build tools required.

HTML
378