Terminal-based AI curator that turns information noise into meaningful signal
Project description
AI Signal
Turn information noise into meaningful signal with AI-powered content curation.
AI Signal helps you regain control over your information diet. While platforms and algorithms decide what content reaches you, AI Signal empowers you to define your own curation strategy. You set the categories, quality thresholds, and filtering criteria—ensuring the content you consume aligns with your interests and goals.
Think of it as your personal content curator, running locally on your machine, surfacing valuable information while filtering out noise.
Features
- AI-Powered Analysis - Smart categorization and ranking using OpenAI
- Custom Filters - Define categories, quality thresholds, and filtering criteria
- Multiple Sources - Support for RSS feeds, YouTube, Medium, Reddit, Hacker News
- Export & Share - Send to Obsidian vault or social media platforms
- Keyboard-Driven - Fully accessible terminal interface powered by Textual
- Cost Tracking - Monitor AI token usage and costs in real-time
Why AI Signal?
Built with a clean, event-driven architecture featuring:
- Interface-based design (ABC) for all core services
- Dependency injection with automated service resolution
- Real-time UI updates via pub/sub event bus
- 94% test coverage across core services
- Thread-safe operations ready for future multi-UI support
See Architecture Documentation for technical details.
Getting Started
Installation
# Install with pip
pip install ai-signal
# Or with pipx (recommended for global installation)
pipx install ai-signal
# Or with poetry
poetry add ai-signal
Quick Start
# Initialize configuration
aisignal init
# Edit ~/.config/aisignal/config.yaml with your:
# - OpenAI API key
# - Jina AI API key
# - Content sources
# - Categories of interest
# Run the application
aisignal run
See the Configuration Guide for detailed setup instructions.
Usage
Keyboard Shortcuts
Global: q Quit • c Config • s Sync • f Filters • u Usage stats
Navigation: ↑↓ Move • Enter Details • o Open browser
Actions: e Export to Obsidian • t Share Twitter • l Share LinkedIn
Project Status & Roadmap
Current Version: 0.11.0 • Status: Active Development
AI Signal is production-ready with all core features functional. The architecture migration is complete with 94% test coverage.
Currently: Finishing RSS/Atom feed integration (88% complete) to reduce API costs by 50-80%.
See STATUS.md for detailed project status, roadmap, and what's in development.
Contributing
We welcome contributions! Whether it's bug reports, feature requests, or code contributions, your help makes AI Signal better.
Development 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
poetry shell
aisignal run
See CONTRIBUTING.md for detailed contribution guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Documentation
- STATUS.md - Current project status and roadmap
- VISION.md - Product vision and strategic direction
- Configuration Guide - Setup and configuration
- Architecture - Technical architecture and design
- Contributing Guide - How to contribute
Acknowledgments
Author
Guglielmo Celata
- GitHub: @guglielmo
- Mastodon: @guille@mastodon.uno
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_signal-0.11.0.tar.gz.
File metadata
- Download URL: ai_signal-0.11.0.tar.gz
- Upload date:
- Size: 58.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.9.25 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d04dd110769c7dc75bef706994f77a68df15a454be8e4443ebd1d9bfab56e13
|
|
| MD5 |
2f99f21be2ab0b5ef32f84534306f77f
|
|
| BLAKE2b-256 |
04df6115a09dfba4b2035269564475ebbd3d0ac232f22853548e8938c5abf546
|
File details
Details for the file ai_signal-0.11.0-py3-none-any.whl.
File metadata
- Download URL: ai_signal-0.11.0-py3-none-any.whl
- Upload date:
- Size: 74.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.9.25 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2148a4d62435a34dc3ff764beb0ac88fcb27e93ebc1322c827bea94dc137607f
|
|
| MD5 |
d3a696195637aa3c9775d2b7f7d16e5a
|
|
| BLAKE2b-256 |
4f0da7a1ca0ca837108ae331957b281eaa627b6f4be738ac756a11a52a9c2fe5
|