Files
Gan, Jimmy c676c84bc1
Deploy Dashboard / deploy (push) Failing after 38s
feat: add chat group daily summarizer
- Telegram collector (Telethon MTProto) with checkpoint-based message fetching
- Claude API summarization via proxy (haiku model)
- Dashboard page with date picker, markdown summary, raw message drill-down
- Separate container lifecycle from dashboard for stable Telethon sessions
- Shared SQLite DB mounted read-only into dashboard
2026-02-27 02:51:52 +08:00

34 lines
1.0 KiB
Python

import aiosqlite
import os
DB_PATH = os.environ.get("DB_PATH", "/app/data/chat_summary.db")
async def init_db():
async with aiosqlite.connect(DB_PATH) as db:
await db.execute("""
CREATE TABLE IF NOT EXISTS messages (
id INTEGER PRIMARY KEY AUTOINCREMENT,
group_id INTEGER NOT NULL,
group_name TEXT,
sender_name TEXT,
text TEXT,
msg_id INTEGER,
timestamp DATETIME NOT NULL
)
""")
await db.execute("""
CREATE TABLE IF NOT EXISTS summaries (
id INTEGER PRIMARY KEY AUTOINCREMENT,
date TEXT UNIQUE NOT NULL,
content TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)
""")
await db.execute("""
CREATE TABLE IF NOT EXISTS checkpoints (
group_id INTEGER PRIMARY KEY,
last_msg_id INTEGER NOT NULL
)
""")
await db.commit()