| name | link-archiver |
| description | Telegram Link Archiver - Automatically summarize, tag, and save links shared via Telegram. |
| homepage | https://github.com/fanani/radit-link-archiver |
| metadata | {"emoji":"🔗","requires":{"bins":["python3","ollama"],"python_packages":["requests"]},"install":[{"id":"setup","kind":"script","command":"python3 automation/link-archiver.py --init","label":"Initialize link archiver config"}]} |
🔗 Link Archiver
Auto-archive links from Telegram with AI summaries and smart tagging.
Forward any link to the Telegram bot and it will:
- ✅ Extract and fetch the page content
- 📝 Generate AI summary (local Ollama or cheap API)
- 🏷️ Auto-tag by category (tech, business, engineering, etc.)
- 💾 Save to structured Markdown storage
- 📱 Confirm back with summary + tags
🚀 Quick Start
python3 automation/link-archiver.py --init
python3 automation/link-archiver.py --test
python3 automation/link-archiver.py "https://example.com/article"
🎯 Features
Automatic URL Extraction
- Extracts URLs from any Telegram message
- Handles multiple URLs in one message
- Cleans and validates URLs
AI-Powered Summarization
- Primary: Local Ollama (phi3:mini) - FREE, private
- Fallback: OpenRouter API (cheap models)
- Generates 2-3 sentence summaries
Smart Auto-Tagging
Automatically tags content based on:
- Keyword analysis
- Domain detection
- Content category matching
Available Tags:
tech, ai-ml, programming, engineering
business, startup, finance, marketing
science, health, research
tutorial, news, opinion
design, productivity, entertainment
Structured Storage
- Markdown format for easy reading
- Organized by date
- Metadata included (URL, tags, timestamp)
- Stored in
memory/link-archiver/articles/
Telegram Integration
- Instant confirmation messages
- Formatted with emojis
- Summary preview
- Tag display
📋 Configuration
Edit config/link-archiver.json:
{
"telegram": {
"bot_token": "YOUR_BOT_TOKEN",
"chat_id": "YOUR_CHAT_ID"
},
"ollama": {
"enabled": true,
"model": "phi3:mini",
"host": "http://localhost:11434"
},
"openrouter": {
"enabled": false,
"api_key_env": "OPENROUTER_API_KEY",
"model": "google/gemini-3-flash-preview:free"
},
"storage": {
"type": "local",
"path": "memory/link-archiver/articles"
},
"tags": {
"categories": ["tech", "business", "engineering", ...]
}
}
🔧 Usage
Via Telegram Bot
- Forward any message with a link to
@RaditClaw_bot
- Bot processes automatically
- Receive confirmation with summary + tags
Command Line
python3 automation/link-archiver.py "https://news.ycombinator.com/item?id=123"
python3 automation/link-archiver.py "Check this out: https://example.com/article cool stuff"
python3 automation/link-archiver.py --test
python3 automation/link-archiver.py --init
Python Import
from automation.link_archiver import process_message, load_config
config = load_config()
result = process_message("https://example.com", config)
print(result['summary'])
print(result['tags'])
📁 Output Format
Saved articles as Markdown:
# Article Title
**URL:** [link](url)
**Archived:** 2026-03-13T10:30:00
**Tags:** #tech #ai-ml #programming
## Summary
AI-generated summary of the article content...
## Original Content
First 500 chars of original article...
---
*Auto-archived by Radit Link Archiver*
🔄 Integration with Radit Bot
The link archiver integrates with the existing Radit Telegram bot:
- Message Handler:
skills/link-archiver/scripts/telegram-handler.py
- Webhook/Pooling: Works with existing bot infrastructure
- Command:
/archive to manually trigger archiving
🛠️ Requirements
- Python 3.8+
- Ollama (for local AI):
curl -fsSL https://ollama.com/install.sh | sh
- At least one Ollama model:
ollama pull phi3:mini
requests library: pip3 install requests
summarize CLI (optional, for better extraction): brew install steipete/tap/summarize
📊 Storage Structure
memory/link-archiver/
├── articles/
│ ├── 2026-03-13-how-to-build-ai-apps.md
│ ├── 2026-03-13-startup-funding-news.md
│ └── ...
└── index.json (article registry)
🔍 How It Works
Telegram Message
↓
Extract URLs
↓
Fetch Page Content (summarize CLI → fallback to requests)
↓
Generate Summary (Ollama → OpenRouter fallback)
↓
Auto-Tag (keyword + domain analysis)
↓
Save to Markdown
↓
Send Telegram Confirmation
🐛 Troubleshooting
No summary generated?
- Check Ollama:
ollama list
- Test Ollama:
ollama run phi3:mini "Summarize this"
- Check OpenRouter API key if using fallback
Page not fetching?
- Some sites block bots (use summarize CLI with Firecrawl)
- Check URL is accessible:
curl -I <url>
Telegram not sending?
- Verify bot token: Test with curl
- Check chat_id is correct
- Ensure bot has permission to send messages
📝 TODO
🙏 Credits
- Summarization: Ollama (local) / OpenRouter (API)
- Content extraction: summarize.sh CLI
- Part of Radit Assistant ecosystem