Enhance arXiv digest with plain-language Top3 summaries

This commit is contained in:
Chen Gu
2026-08-13 17:00:21 +08:00
parent 84ad40d00a
commit 5333d2bcd3
3 changed files with 50 additions and 10 deletions
@@ -105,6 +105,18 @@ def one_liner(p):
return f"{t}{p['primary']}"
def plain_summary(p):
s = p.get('summary', '')
s = re.sub(r'\s+', ' ', s).strip()
if not s:
return '这篇主要在提出一个新方法,并用实验验证它是否更好。'
# take first sentence-like chunk
chunk = re.split(r'(?<=[\.!?])\s+', s)[0]
if len(chunk) > 120:
chunk = chunk[:117] + '...'
return f"它在做的事:{chunk}"
def build_digest(papers):
# limit scoring set for speed/stability
recent_pool = sorted(papers, key=lambda x: x['published'], reverse=True)[:40]
@@ -125,6 +137,12 @@ def to_md(hot, latest):
lines = []
lines.append(f"# ArXiv Daily Brief - {today}")
lines.append('')
lines.append('## 🧠 今日 Top 3(普通人版概述)')
for i, p in enumerate(hot[:3], 1):
lines.append(f"{i}. **{p['title']}**")
lines.append(f" - 一句话看懂: {plain_summary(p)}")
lines.append(f" - 你可能会关心: {one_liner(p)}")
lines.append('')
lines.append('## 🔥 今日热度 Top 5(新鲜度+关键词+HN提及+代码线索)')
for i, p in enumerate(hot, 1):
lines.append(f"{i}. **{p['title']}**")