feat: add postgres storage and remote sync

This commit is contained in:
2025-11-07 16:59:28 +08:00
parent c4be264ea5
commit d0ba2b188b
32 changed files with 1101 additions and 1170 deletions

View File

@@ -10,6 +10,25 @@ Funstat MCP 提供一个面向多客户端的统一接口,将 Telegram 上的
---
> ⚠️ **端口更新**:当前本地部署已改为监听 `http://127.0.0.1:8094`(原默认 8091。请在 Codex、Cursor、Claude Code 等客户端更新为 `http://127.0.0.1:8094/sse`。
## ⚙️ 新版数据流概览
- **PostgreSQL 本地存储**:所有 MCP 查询结果会自动写入本地 Postgres默认通过 `docker compose up -d postgres` 启动,端口 `5433`)。数据包含原始返回、解析后的实体,以及同步状态。
- **自动远端沉淀**:后台会周期性将去重后的最新数据打包为 JSON并通过 `sshpass` 上传到 `172.16.74.159``~/funstat_data/inbox` 目录,方便集中备份(暂不直接对外提供查询)。
- **配置模块化**`core/config.py` + `.env` 控制 Telegram API、Bot Token、数据库与同步参数。每位同事只需复制 `.env.example`,填写自己的 session / token 即可。
- **Bot 可热切换**:所有脚本与服务器都不再写死 token替换 `.env` 中的 `TELEGRAM_BOT_TOKEN` 即可切换镜像机器人。
- **默认镜像机器人**:发行包已预置最新官方镜像 `@ktqiangda_bot`Token`7321478881:AAFVmSXsfAbXI2Sfx9Sg3UW5ufAKvPsbO4U`)。如后续提供新的镜像,只需改 `.env` 即可。
### 快速启动顺序
1. `cp .env.example .env` 并根据实际环境填写(尤其是 Telegram API、Bot Token、session 路径)。
2. 启动本地 Postgres`docker compose up -d postgres`(如本机已有 5433 占用,可在 `.env` 里改为其他端口)。
3. 安装依赖:`pip3 install -r requirements.txt --user --break-system-packages`
4. 使用自己的 Telegram 账号创建 session`python3 scripts/create_session_safe.py`
5. 运行服务器:`cd core && python3 server.py``./start_sse_prod.sh`
只要 `.env` 中的远端 SSH 信息保持有效,所有数据会自动异步推送到服务器侧的归档目录,无需额外手动操作。
## 📦 包内容概览
这个打包包含了完整的 Funstat MCP 服务器实现,以及所有相关文档、配置和工具。
@@ -49,7 +68,7 @@ funstat_mcp_package/
## 🎯 核心功能
### MCP 工具列表 (9个)
### MCP 工具列表 (8个)
| 工具名 | 功能 | 对应命令 |
|--------|------|---------|
@@ -61,7 +80,6 @@ funstat_mcp_package/
| `funstat_text` | 搜索消息内容 | `/text [关键词]` |
| `funstat_human` | 搜索用户 | `/human [关键词]` |
| `funstat_user_info` | 查询用户详情 | `/user_info [username]` |
| `funstat_user_messages` | 获取用户聊天记录(自动翻页) | `/user_info [username] ➜ Messages ➜ All` |
### 协议支持