使用说明
Beeper AI聊天摘要生成器(本地MCP版)
该项目将您的本地机器转换为Beeper聊天的私人AI助手。它基于自托管AI入门套件构建,利用Beeper的本地模型上下文协议(MCP)将聊天消息安全地流式传输到本地Postgres数据库中。当用户键入 /summarizen8n自动化管道获取最近的聊天历史记录,通过本地LLM(Ollama/Llama 3.2)对其进行处理,并将格式化的摘要直接发送回聊天。
100%自托管。零云API。绝对隐私。
主要特点
- 完全隐私: 使用Beeper当地的Developer Bridge和Ollama。你的聊天记录永远不会触及OpenAI、谷歌或任何外部云。
- 按需摘要: 只需键入
/summarize在您选择的Beeper聊天中触发AI管道。 - 智能缓存: 维护持久的Postgres连接,以高效地记录消息并避免重复摘要。
- 高级网络解决方案: 包括内置的Windows网络代理和注册表调整,以解决常见的Docker到主机通信阻塞和套接字耗尽问题(
WinError 10055).
建筑
- Beeper本地MCP服务器: 通过Beeper开发者选项启用。公开本地WebSocket和HTTP API,以便直接、符合标准地访问聊天流。
- 自托管AI入门套件: Docker化基础提供我们的数据库、自动化引擎和LLM。
- Python收集器(
main.py): 在Windows上本机运行。监听Beeper-MCP-WebSocket,维护持久的Postgres连接,并通过API调用触发n8n-webhook。 - Postgres(Docker): 存储聊天记录并防止重复消息。
- n8n(Docker): 自动化引擎。抓取聊天记录,将其发送给Ollama,并将摘要发送回Beeper。
- Ollama(Docker): 运行本地LLM(
llama3.2:latest)用于情感分析和总结。
先决条件
- Windows操作系统(说明主要功能是Windows网络/PowerShell)。
- Docker 桌面版 安装并运行。
- 这 自托管AI入门套件 克隆并运行(
docker-compose up -d). - Beeper Desktop已安装 开发人员选项/本地网桥已启用 (在Beeper设置中找到您的端口和令牌)。
- 已安装Python 3.x。
步骤1:Python MCP收集器设置
Python脚本(main.py 包含在此仓库中)充当Beeper MCP服务器和初学者工具包之间的中间人。使用 websockets, psycopg2,以及 requests 倾听信息。
它特别维护了一个 持久数据库连接 以避免Windows套接字耗尽,并忽略AI自己的摘要消息(HTML标签),这样它们就不会无休止地循环。
1.安装依赖项:
pip install websockets psycopg2 requests
2.配置 main.py:
打开脚本,用您的特定凭据更新文件顶部的配置变量:
BEEPER_WS(确保端口与您的蜂鸣器设置相匹配,例如23375)BEEPER_TOKENALLOWED_CHATSIGNORED_SENDERS
3.运行脚本:
python main.py
步骤2:n8n工作流配置
您无需从头开始构建自动化,只需将包含的工作流导入您的AI Starter Kit n8n实例即可!
- 打开本地n8n实例(
http://localhost:5678). - 首选 工作流 -> 添加工作流.
- 点击 …(选项) 右上角的菜单,然后选择 从文件导入.
- 上传
workflow.json此存储库中提供的文件。 - 更新节点内Postgres和Ollama的凭据。
- 将工作流切换到 发布/激活.
关键蜂鸣器MCP HTTP请求节点注释
Beeper的本地API拒绝来自Docker容器的请求。所包含的工作流使用 Host: localhost 标题恶搞。如果您的Beeper MCP更改了端口(例如,从 23373 到 23375),请确保在最终的HTTP请求节点中更新URL。
步骤3:Windows网络和Docker修复
由于n8n在Docker内部运行,Beeper MCP服务器在Windows主机上运行,Docker需要权限才能与主机进行通信 localhost.
1.创建端口代理(以管理员身份在PowerShell中运行):
这迫使Windows将Docker流量路由到本地Beeper API。
netsh interface portproxy add v4tov4 listenport=23375 listenaddress=0.0.0.0 connectport=23375 connectaddress=127.0.0.1
2.打开防火墙:
New-NetFirewallRule -DisplayName "Allow Beeper for n8n" -Direction Inbound -LocalPort 23375 -Protocol TCP -Action Allow
步骤4:修复Windows套接字耗尽(WinError 10055)
如果您遇到网络崩溃或 WinError 10055,Windows可能已用完套接字缓冲区空间,原因是保留了与数据库和Beeper的旧连接 TIME_WAIT 国家太久了。
以管理员身份在PowerShell中运行这些注册表调整,以永久修复套接字耗尽问题:
# Reduce TIME_WAIT duration from 4 minutes to 30 seconds
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "TcpTimedWaitDelay" -Value 30 -Type DWord
# Increase the port range so Windows has more ports to work with
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "MaxUserPort" -Value 65534 -Type DWord
# Allow port reuse faster
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "StrictPortReuse" -Value 1 -Type DWord```
