Cybersecurity-Projects/PROJECTS/intermediate/security-news-scraper/internal
CarterPerez-dev 0a86bb8593 feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix
Add a re-runnable interactive wizard that configures an AI provider for the ideation layer: Claude, OpenAI, Gemini, or a local Ollama. Keys persist to ~/.config/nadezhda/credentials (0600, atomic temp+rename) and auto-load on every run; a shell-exported key always wins over the file. A key-name allowlist (NADEZHDA_* / *_API_KEY) blocks env-name injection into spawned subprocesses.

The Ollama path detects a running instance and auto-configures it, else writes an embedded compose file plus one docker command, else prints an install hint. Ollama's host port is remapped to a non-default 39847 (OLLAMA_HOST_PORT) to avoid colliding with an existing Ollama on 11434; the container-internal port stays 11434.

Thread a signal-cancellable root context through cobra (ExecuteContext). Default the Anthropic model to claude-sonnet-4-6.
2026-07-06 21:26:10 -04:00
..
cluster feat(nadezhda): M2 cross-source dedup + clustering 2026-07-05 15:11:29 -04:00
config feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00
cve feat(nadezhda): keyless CVE enrichment, folded into scrape, news-first ranking 2026-07-06 01:44:53 -04:00
enrich feat(nadezhda): keyless CVE enrichment, folded into scrape, news-first ranking 2026-07-06 01:44:53 -04:00
export feat(nadezhda): M4 ranking + digest + Markdown/JSON export 2026-07-05 18:42:57 -04:00
fetch feat(nadezhda): M1 ingestion core (fetch, parse, normalize, dedup) 2026-07-05 14:51:57 -04:00
ingest feat(nadezhda): M3 CVE extraction + NVD/KEV/EPSS enrichment 2026-07-05 15:54:49 -04:00
normalize feat(nadezhda): M1 ingestion core (fetch, parse, normalize, dedup) 2026-07-05 14:51:57 -04:00
parse feat(nadezhda): M1 ingestion core (fetch, parse, normalize, dedup) 2026-07-05 14:51:57 -04:00
rank feat(nadezhda): M4 ranking + digest + Markdown/JSON export 2026-07-05 18:42:57 -04:00
setup feat(nadezhda): AI setup wizard (nadezhda ai) + credential store + Ollama port fix 2026-07-06 21:26:10 -04:00
source feat(nadezhda): M0 scaffold for security news + CVE aggregator 2026-07-05 13:22:08 -04:00
store feat(nadezhda): M4 ranking + digest + Markdown/JSON export 2026-07-05 18:42:57 -04:00
tui feat(nadezhda): M5 bubbletea TUI browser (cybercore) + open-in-browser 2026-07-06 01:43:56 -04:00
version feat(nadezhda): M0 scaffold for security news + CVE aggregator 2026-07-05 13:22:08 -04:00