all repos — llm_aggregator @ 7b6943f1a3f252697b0e16d94c9635a5e064090b

A CLI tool to aggregate RSS feeds and summarise them with LLMs

CHANGELOG.md (view raw)

 1# Changelog
 2
 3All notable changes to this project will be documented in this file.
 4
 5The format is based on [Keep a
 6Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
 7[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 8
 9## [Unreleased]
10
11## [0.1.0] - 2026-04-21
12
13### Added
14
15- Complete translation from Python prototype to Go implementation
16- RSS/Atom feed parsing using `gofeed` library
17- DeepSeek API integration via `openai-go` client, configured for `/chat/completions` endpoint
18- Content filtering and processing with keyword‑based include/exclude, date filtering, and sorting
19- Command‑line interface using `go‑arg` with automatic help and version flags
20- Multiple output formats: plain text, GitHub‑flavoured markdown, and JSON
21- Terminal user interface (TUI) built with `bubbletea` featuring:
22  - Animated progress bar with gradient colours (`#FF7CCB` to `#FDFF8C`)
23  - Live article counters (aggregated/processed)
24  - Elapsed time display
25  - Coloured status indicators using `lipgloss` styling
26  - Keyboard controls (q/Ctrl+C to quit)
27- Web content extraction fallback using `goquery` when feed descriptions are minimal
28- Configurable limits: articles per feed, maximum age, total articles
29- Token estimation and API usage logging
30- Environment variable support (`DEEPSEEK_API_KEY`) for authentication
31- Example feeds file with technology, programming, and free software sources
32
33### Changed
34
35- Program structure organised into standard Go layout: `cmd/`, `internal/`, `pkg/`
36- English spelling conventions maintained throughout (colour, initialise, summarise)
37- Error handling improved with specific messages for common API failures (invalid key, rate limits, etc.)
38- Progress reporting unified through a `ProgressContext` interface for both TUI and CLI modes
39
40### Fixed
41
42- Initial API endpoint mismatch (using `/responses` instead of `/chat/completions`)
43- Nil pointer dereferences when handling optional feed metadata (author, dates)
44- String repetition syntax errors in Go (replaced `"="*80` with `strings.Repeat`)
45- CLI help/version flag handling to show information without requiring other arguments
46- Type compatibility issues with `openai-go` v3 API (message parameters, token usage fields)