mirror of
https://github.com/thegeneralist01/archivr
synced 2026-10-09 21:03:17 +02:00
Add YouTube subtitles, local transcription, self-updating yt-dlp/Deno, X Article and thread titles
- Capture YouTube subtitles by default (opt-out in UI, API, CLI --no-subtitles) - Summarize YouTube videos from subtitles; fetch on demand, then local transcription, then error - Local transcription fallback: Whisper, Parakeet, Phonon-2 (English only) - Runtime-resolved, self-updating yt-dlp and Deno JS runtime (fixes YouTube 403s) - Settings > Instance > yt-dlp: status and in-app update without restart - X Article titles from article.title, with idempotent startup backfill - Thread title generation (single and bulk) with per-provider cheap models - Per-provider title model settings in Settings > Instance - Docs, mental model, AGENTS.md and transcription spec updated
This commit is contained in:
parent
4f3b2968b6
commit
253f779216
35 changed files with 11377 additions and 583 deletions
|
|
@ -112,6 +112,25 @@ async fn main() -> Result<()> {
|
|||
}
|
||||
}
|
||||
|
||||
// Repair legacy bare-link titles on X Article tweets (idempotent; no-op once fixed).
|
||||
for archive in ®istry.archives {
|
||||
let Ok(paths) = archivr_core::archive::read_archive_paths(&archive.archive_path) else {
|
||||
continue;
|
||||
};
|
||||
match archivr_core::capture::backfill_x_article_titles(&paths) {
|
||||
Ok(0) => {}
|
||||
Ok(n) => eprintln!(
|
||||
"info: retitled {n} X Article entr{} in '{}'",
|
||||
if n == 1 { "y" } else { "ies" },
|
||||
archive.id
|
||||
),
|
||||
Err(e) => eprintln!(
|
||||
"warn: X Article title backfill failed for '{}': {e:#}",
|
||||
archive.id
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
// Prune staged upload dirs older than 24 h. cleanup_stale_sentinels=true
|
||||
// because no uploads are in flight before the server starts listening.
|
||||
let prune_cutoff = std::time::SystemTime::now()
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue