Skip to main content

Terminal-based AI curator that turns information noise into meaningful signal

Project description

AI Signal

AI Signal Terminal

Terminal-based AI curator that turns information noise into meaningful signal.

AI Signal is a powerful tool designed to help you regain control over your information diet in today's overwhelming digital landscape. While existing platforms and algorithms decide what content reaches you, AI Signal empowers you to define and implement your own content curation strategy.

By leveraging AI capabilities and your personal preferences, it transforms the constant stream of information into meaningful, relevant insights that matter to you. You define the categories, quality thresholds, and filtering criteria, ensuring that the content you consume aligns with your interests and goals.

Think of it as your personal content curator that works tirelessly to surface valuable information while filtering out noise, all running locally on your machine. With AI Signal, you're not just consuming content – you're actively shaping how information reaches you, making conscious choices about what deserves your attention.

Features

  • 🤖 AI-powered content analysis and categorization
  • 🔍 Smart filtering based on customizable categories and quality thresholds
  • 📊 Advanced sorting by date, ranking, or combined criteria
  • 🔄 Automatic content synchronization from multiple sources
  • 🌐 Support for various content sources (YouTube, Medium, Reddit, Hacker News, RSS feeds)
  • 📱 Share curated content directly to social media
  • 📝 Export to Obsidian vault with customizable templates
  • ⌨️ Fully keyboard-driven interface
  • 🎨 Beautiful terminal UI powered by Textual

Installation

pip install ai-signal

or

pipx install ai-siganl

for global installation.

If using poetry:

poetry add ai-signal
poetry shell # enter the virtualenv

Quick Start

  1. Create a configuration file:
aisignal init

modify it, as described in the configuration guide:

  1. Run AI Signal:
aisignal run

Keyboard Shortcuts

For all views

  • q: Quit application
  • c: Toggle configuration panel
  • s: Force sync content
  • f: Toggle filters sidebar
  • u: Show usage and costs modal

Within the items list

  • /: Navigate items
  • enter: Show item details
  • o: Open in browser
  • t: Share on Twitter
  • l: Share on LinkedIn
  • e: Export to Obsidian

Screenshots

Main Interface

Main Interface

Configuration interface

Configuration Interface

Resource detail interface

Resource Detail Interface

Sidebar hidden

Sidebar hidden

Tokens usage and costs

Tokens modal

Project Status

Current Version: 0.8.1 (Alpha) Status: Active Development - RSS Integration Phase

AI Signal is a working prototype with core curation features implemented. The project is currently focused on adding native RSS/Atom feed support to reduce costs and improve performance.

What Works:

  • ✅ Content fetching and analysis with AI (Jina AI + OpenAI)
  • ✅ Customizable categories and quality thresholds
  • ✅ Dual-threshold filtering system
  • ✅ Terminal UI with keyboard-driven interface
  • ✅ Export to Obsidian
  • ✅ Token usage tracking and cost visibility

In Development:

  • 🚧 RSS/Atom feed parsing (Issues #14-21)
  • 🚧 Feed auto-discovery
  • 🚧 Comprehensive test suite

Coming Soon:

  • 📋 Resource notes and annotations
  • 📊 Statistics dashboard
  • 🤖 Multi-LLM support

As an open source initiative, contributors are welcome! See the Contributing Guide and VISION.md for strategic direction.

Development environment setup

# Clone the repository
git clone https://github.com/guglielmo/ai-signal.git
cd ai-signal

# Install dependencies
poetry install

# Run tests
poetry run pytest

# Run the application in development mode
poetry run aisignal version

or, entering the virtualenv:

poetry shell
aisignal version

Roadmap

See VISION.md for complete product vision and strategic direction.

Current Focus: RSS Integration (Q4 2025)

Native RSS/Atom feed support to dramatically reduce costs and improve performance:

  • RSS Feed Parsing - Direct parsing of RSS/Atom feeds (no API costs)
  • Auto-Discovery - Automatically find feeds from blog URLs
  • Feed Metadata - Track feed type, entry count, last update
  • Hybrid Approach - RSS for feeds, Jina AI fallback for HTML pages
  • Comprehensive Testing - Unit and integration tests with real feeds

Why RSS First: Reduces content fetching costs by 50-80% and improves performance 10-100×, enabling affordable AI features downstream.

Status: Milestone defined with 9 issues (#14-21). Estimated 16 hours implementation. See detailed plan →

Phase 2: Core UX Improvements (Q1 2026)

  • Resource Notes - Add personal notes and annotations to saved items
  • Statistics Dashboard - Which sources and categories are most valuable?
  • Better Sorting - Enhanced sort options (recency, category, source)
  • UI Polish - Refinements based on real usage patterns

Phase 3: AI Intelligence Features (Q2 2026)

  • Content Summarization - Generate summaries and key takeaways
  • Wisdom Extraction - Pull out actionable insights from content
  • Multi-LLM Support - Choose from OpenAI, Claude, Gemini, or local models
  • Batch Optimization - Efficient grouping of source analysis

Phase 4: Learning & Personalization (Q3 2026+)

  • Feedback Loop - Learn from your reading patterns and choices
  • Category Suggestions - Discover new interests based on behavior
  • Source Recommendations - Find relevant blogs and feeds
  • YouTube Videos - Transcribe and analyze video content
  • Content Archiving - Read/unread status, filtering, search

Future Considerations

  • Multi-user and team features
  • Public curations and sharing
  • Podcast and audio content support
  • Browser extension for saving pages
  • Mobile companion app

Note: The roadmap is intentionally sequenced - RSS integration enables cost-effective AI features, which in turn make learning features viable. See technical analysis for detailed rationale.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Documentation

Acknowledgments

  • Built with Textual
  • AI powered by OpenAI and Jina AI
  • Inspired by Daniel Miessler's Fabric

Author

Guglielmo Celata

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_signal-0.9.0.tar.gz (51.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_signal-0.9.0-py3-none-any.whl (64.3 kB view details)

Uploaded Python 3

File details

Details for the file ai_signal-0.9.0.tar.gz.

File metadata

  • Download URL: ai_signal-0.9.0.tar.gz
  • Upload date:
  • Size: 51.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.9.23 Linux/6.11.0-1018-azure

File hashes

Hashes for ai_signal-0.9.0.tar.gz
Algorithm Hash digest
SHA256 426a3d6413e1bb169e1753fe6f07ee72b8d581bbebd5dcde7a1d2390d2471f61
MD5 245c0332a9957297f18381630f01169f
BLAKE2b-256 efcd65c9daf216b7b93a11e1c4d06c133daf61a19256849e8b90366429b064b6

See more details on using hashes here.

File details

Details for the file ai_signal-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: ai_signal-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 64.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.9.23 Linux/6.11.0-1018-azure

File hashes

Hashes for ai_signal-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e7505569e61f5f7580e6e706142f8a06d4cb5f18ed19268d33f3b29ef9a76c58
MD5 78445a0b7195e213a21a015150f05520
BLAKE2b-256 4584e5154a0676b1fc630d66155bd27de03ed3fef07f8476ab77120558669530

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page