Guida utente ThesisAgents
Assistente di ricerca articoli guidato da parole chiave. Recupera risultati da arXiv, Semantic Scholar, OpenAlex, PubMed, ACM, IEEE Xplore, DBLP, Crossref, OpenAIRE, Springer Nature, Europe PMC, DOAJ, HAL, CORE e Google Scholar; ed esporta come presentazione PowerPoint stile tesi, cartella di lavoro Excel e file BibTeX. Tutto da una chiamata CLI o un’invocazione MCP.
Per agenti IA che pilotano questo progetto
Se sei un LLM (Claude Code, Cursor, Aider, Codex CLI, …) e leggi
questo per capire cosa fare — inizia qui. Le stesse regole sono
fissate in AGENTS.md (specchio cross-agent) e CLAUDE.md
(riferimento canonico) nella radice del repo; leggile prima di
cambiamenti non banali.
Il deliverable di default è un ``.pptx`` arricchito stile tesi per articolo, non il deck leggero solo-abstract che la CLI produce di default. Il leggero è artefatto intermedio — il tuo lavoro è elevarlo.
Albero decisionale
ANTHROPIC_API_KEYimpostata? → esegui la CLI; auto-arricchimento via API Anthropic.Senza chiave, LLM pilota → scrivi il riassunto arricchito tu. Leggi ogni PDF, redigi a mano
PaperSummarycon campi rich-tier, depositascripts/regen_<query>.py, esegui. Non dire all’utente di impostare la API key — sei tu l’LLM.Niente LLM (CI / cron) → leggero accettabile.
Flusso MCP in 6 passi
1. (facoltativo) list_sources()
2. search(keywords, sources, top_tier_only=true, ...)
3. (facoltativo) download_pdfs(papers, out_dir="./exports/...")
4. fetch_pdf_text(pdf_url=paper.pdf_url) # per articolo
5. (leggi ogni PDF e produci dict di riassunto strutturato)
6. export(papers=[{...paper, "summary": {...}}], language="it", ...)
Gli 12 strumenti MCP completi: MCP server.
Obbligatorio: verifica URL / DOI prima della consegna
I percorsi URL degli editori non si possono indovinare — AAAI usa
ID numerici (v40i5.37389), IEEE usa arnumber opaco, ACM usa
DOI opachi. Quando scrivi un Paper a mano, copia ``url`` /
``doi`` / ``arxiv_id`` letteralmente dall’xlsx prodotto da questa
ricerca — mai a memoria, mai costruito dal titolo.
L’xlsx viene scritto in exports/<run>/<slug>-<timestamp>.xlsx con
colonna 7 = DOI, colonna 8 = URL. Audita il tuo script regen al
termine:
from openpyxl import load_workbook
from scripts.regen_<run> import ALL_PAPERS
real = {sh.cell(row=r, column=2).value: sh.cell(row=r, column=8).value
for sh in [load_workbook("exports/<run>/<slug>-<ts>.xlsx")["Papers"]]
for r in range(2, sh.max_row + 1)}
for p in ALL_PAPERS:
actual = next((u for t, u in real.items() if p.title[:30] in (t or "")), None)
if actual and not (p.url == actual
or p.url.split("v")[0] == actual.split("v")[0]):
print(f"! {p.bibtex_key()} authored {p.url} vs real {actual}")
Divieti
Non dire all’utente «imposta
ANTHROPIC_API_KEY» — sei tu l’LLM.Non trattare
.pptxleggero come deliverable.Non fermarti quando
download_pdfsfinisce.Non inventare numeri, RQ, contributi, limiti.
Non fabbricare URL / DOI / ID arXiv.
Non lasciare download non pertinenti nella directory di esecuzione. La ricerca per parole chiave può portare articoli fuori tema (una query «Claude code» ha portato un articolo sul decodificatore Viterbi). Elimina
pdfs/<key>.pdfe<key>.pptxleggeri fuori tema; conserva l’xlsx / bib aggregato come registrazione onesta. Procedura completa inCLAUDE.md«Pruning irrelevant downloads».Non menzionare «Claude», «Claude Code», «AI-generated», «GPT», «Copilot» o qualsiasi nome di strumento/modello IA in commit, PR, codice o documentazione.
Esempi: scripts/regen_llm_security_batch.py (en, 8 articoli) e
scripts/regen_llm_security_batch_zh_tw.py (zh-tw).
Installazione
Richiede Python 3.12+.
git clone <repo-url>
cd ThesisAgents
python -m venv .venv
.venv\Scripts\Activate.ps1 # Windows PowerShell
# source .venv/bin/activate # Linux / macOS
pip install -e .[dev]
Extras opzionali: [mcp], [intelligence], [web], [dev].
Avvio rapido
# Cercare arXiv → deck + workbook + BibTeX
thesisagents --query "diffusion models" --source arxiv --max 10 \
--out ./exports/
# Un articolo per URL → deck + BibTeX
thesisagents --paper "https://arxiv.org/abs/1706.03762" \
--filename-stem attention --out ./exports/
# Renderizza il deck in italiano
thesisagents --paper 1706.03762 --lang it --out ./exports/
# Arricchimento via pipeline Python (richiede chiave Anthropic)
export ANTHROPIC_API_KEY=sk-ant-...
thesisagents --paper "https://arxiv.org/abs/1706.03762" \
--enrich --lang it --out ./exports/
Tabella completa dei flag CLI: CLI reference.
Dove cercare oltre
Flag CLI e variabili d’ambiente: CLI reference
12 strumenti del server MCP: MCP server
Toolkit di editing PPTX: PPTX editing & layout
Il file
readmes/README.it.mdnella radice del repo contiene l’elenco completo delle funzionalità.Il riferimento tecnico approfondito (architettura dei plugin, policy di sicurezza, Definition of Done, regole SonarQube, …) è consolidato nella guida inglese: ThesisAgents User Guide.