← Browse

@jerry609/web

A

AI-powered research workflow: paper discovery → LLM analysis → scholar tracking → Paper2Code → multi-agent studio

mcp_servermcp

Install

agr install @jerry609/web --target claude

This artifact does not publish files for Claude.

Document

{ "name": "web", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "eslint", "test": "vitest run", "test:coverage": "vitest run --coverage", "test:e2e": "node ./scripts/run-playwright-e2e.mjs", "test:e2e:ui": "node ./scripts/run-playwright-e2e.mjs --ui", "test:e2e:headed": "node ./scripts/run-playwright-e2e.mjs --headed", "test:e2e:report": "npx playwright show-report" }, "dependencies": { "@ai-sdk/anthropic": "^2.0.56", "@ai-sdk/google": "^2.0.51", "@ai-sdk/openai": "^2.0.88", "@ai-sdk/react": "^2.0.118", "@modelcontextprotocol/sdk": "^1.25.1", "@monaco-editor/react": "^4.7.0", "@radix-ui/react-alert-dialog": "^1.1.15", "@radix-ui/react-avatar": "^1.1.11", "@radix-ui/react-checkbox": "^1.3.3", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-label": "^2.1.8", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-progress": "^1.1.8", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.8", "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-tooltip": "^1.2.8", "@xyflow/react": "^12.10.0", "ai": "^5.0.116", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "framer-motion": "^12.23.26", "lightningcss": "^1.32.0", "lucide-react": "^0.562.0", "next": "16.1.0", "next-auth": "5.0.0-beta.30", "next-themes": "^0.4.6", "radix-ui": "^1.4.3", "react": "19.2.3", "react-dom": "19.2.3", "react-markdown": "^10.1.0", "react-resizable-panels": "^4.0.11", "recharts": "^3.6.0", "remark-gfm": "^4.0.1", "tailwind-merge": "^3.4.0", "undici": "^6.23.0", "xterm": "^5.3.0", "xterm-addon-fit": "^0.8.0", "zustand": "^5.0.9" }, "devDependencies": { "@playwright/test": "^1.58.2", "@tailwindcss/postcss": "^4", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", "@vitest/coverage-v8": "^2.1.4", "babel-plugin-react-compiler": "1.0.0", "eslint": "^9", "eslint-config-next": "16.1.0", "jsdom": "^28.1.0", "tailwindcss": "^4", "tw-animate-css": "^1.4.0", "typescript": "^5", "vitest": "^2.1.4" } }

Repository README

Describes jerry609/PaperBot as a whole, which may contain artifacts other than this one. Where this artifact had no useful description of its own, its summary was taken from here.


About

"Oh, God! My idea comes true." is an end-to-end research assistant that automates the paper discovery → analysis → reproduction pipeline. It combines multi-source search, LLM-powered evaluation, scholar tracking, and code generation into a unified workflow with Web, CLI, and API interfaces.

Backend Python + FastAPI (SSE streaming) · Frontend Next.js + Ink CLI · Sources arXiv / Semantic Scholar / OpenAlex / HuggingFace Daily Papers / papers.cool

Screenshots

Current dashboard layout focused on the active research question, the workflow console, and decision-critical alerts.

Dashboard

Research WorkspaceAgentSwarm Studio
ResearchStudio
LLM-as-Judge RadarEmail Push
JudgeEmail

CLI

Features

Discovery & Analysis

  • Multi-source search — Aggregate arXiv, Semantic Scholar, OpenAlex, HF Daily Papers, papers.cool with cross-query dedup and scoring
  • DailyPaper — Automated daily report generation with SSE streaming, LLM enrichment (summary / trends / insight), and multi-channel push (Email / Slack / DingTalk / Telegram / Discord / WeCom / Feishu)
  • LLM-as-Judge — 5-dimensional scoring (Relevance / Novelty / Rigor / Impact / Clarity) with multi-round calibration, automatic filtering of low-quality papers
  • Deadline Radar — Conference deadline tracking with CCF ranking and research track matching

Knowledge Management

  • Paper Library — Save, organize, and export papers (BibTeX / RIS / Markdown / CSL-JSON / Zotero sync)
  • Structured Cards — LLM-extracted method / dataset / conclusion / limitations with DB caching
  • Related Work — Draft generation from saved papers with [AuthorYear] citation format
  • Memory System — Research memory with FTS5 + BM25 search, context engine for personalized recommendations
  • MemoryBench Suite — Retrieval / context / isolation / injection / performance / ROI / effectiveness benchmarks for the memory and Paper2Code stack

Reproduction & Studio

  • Paper2Code — Paper → code skeleton (Planning → Analysis → Generation → Verification) with self-healing debugging
  • AgentSwarm — Multi-agent orchestration platform with Claude Code integration, Runbook file management, Diff/Snapshot, and sandbox execution (Docker / E2B)
  • Scholar Tracking — Multi-agent monitoring with PIS influence scoring (citation velocity, trend momentum)
  • Deep Review — Simulated peer review (screening → critique → decision)

Getting Started

Install

# Use python3 for macOS/Linux
python -m venv .venv && source .venv/bin/activate
pip install -e .

Configure

cp env.example .env
# Set at least one LLM key: OPENAI_API_KEY=sk-...

Multiple LLM backends supported via ModelRouter:

Task TypeRouteExample Models
default / extraction / summarydefaultgpt-4o-mini / MiniMax M2.1
analysis / reasoning / judgereasoningDeepSeek R1 / GLM 4.7
codecodegpt-4o

DailyPaper supports Email / Slack / DingTalk / Telegram / Discord / WeCom / Feishu push.

Web UI — Configure in the Topic Workflow settings panel (recommended).

Environment variables:

PAPERBOT_NOTIFY_ENABLED=true
PAPERBOT_NOTIFY_CHANNELS=email,slack
PAPERBOT_NOTIFY_SMTP_HOST=smtp.qq.com
PAPERBOT_NOTIFY_SMTP_PORT=587
PAPERBOT_NOTIFY_SMTP_USERNAME=your@qq.com
PAPERBOT_NOTIFY_SMTP_PASSWORD=your-auth-code
PAPERBOT_NOTIFY_EMAIL_FROM=your@qq.com
PAPERBOT_NOTIFY_EMAIL_TO=recipient@example.com

Run

# Database migration (first time)
alembic upgrade head

# API server
# Use python3 for macOS/Linux
python -m uvicorn src.paperbot.api.main:app --reload --port 8000

# Web dashboard (separate terminal)
cd web && npm install && npm run dev

# Background jobs (optional)
arq paperbot.infrastructure.queue.arq_worker.WorkerSettings

CLI Usage

# Daily paper with LLM + Judge + push
python -m paperbot.presentation.cli.main daily-paper \
  -q "LLM reasoning" -q "code generation" \
  --with-llm --with-judge --save --notify

# Topic search
python -m paperbot.presentation.cli.main topic-search \
  -q "ICL compression" --source arxiv_api --source hf_daily

# Scholar tracking
python main.py track --summary

# Paper2Code
python main.py gen-code --title "..." --abstract "..." --output-dir ./output

# Deep review
python main.py review --title "..." --abstract "..."

Architecture

Architecture

Editable source: Excalidraw · draw.io

Module Status

Full maturity matrix and progress: Roadmap #232

StatusModules
ProductionTopic Search · DailyPaper · LLM-as-Judge · Push/Notify · Model Provider · Deadline Radar · Paper Library
UsableScholar Tracking · Deep Review · Paper2Code · Memory · Context Engine · Discovery · AgentSwarm · Harvest · Import/Sync
PlannedDB Modernization #231 · Obsidian Integration #159

MemoryBench Evaluation

Aligned with LongMemEval (ICLR 2025), LoCoMo (ACL 2024), Mem0, Letta. Full methodology: evals/memory/README.md · Epic #283

MetricTargetResult
Recall@5≥ 0.800.873:white_check_mark:
MRR@10≥ 0.650.731:white_check_mark:
nDCG@10≥ 0.700.747:white_check_mark:
Hit@101.000

Breakdown by LoCoMo question type:

TypeRecall@5MRR@10
single-hop (24)0.9310.770
multi-hop (6)0.7080.583
temporal (2)1.0000.417
acronym (4)0.7080.875
CheckResult
Cross-user leak rate0 (zero tolerance)
Cross-scope leak rate0 (zero tolerance)
CRUD Update (old content gone)PASS
CRUD Delete (soft-delete enforced)PASS
CRUD Dedup (exact duplicate skipped)PASS
TestResult
Layer completeness (L0 profile → L3 paper)8/8 PASS
Graceful degradation (missing paper / empty user)3/3 PASS
Context precision (query → relevant memories)100% (3/3)
Token budget guard (300 token cap)215 tokens
TrackRouter accuracy (query → correct track)100% (5/5)
MetricTargetResult
Pollution rate (missed malicious)≤ 2%0.0% (6/6 caught)
False positive rate (benign flagged)0.0% (0/6 flagged)

Covers: instruction override, tag escape, special token injection, role hijack, Unicode bypass, privilege escalation.

# Run full MemoryBench suite (~6s, fully offline, no API keys needed)
PYTHONPATH=src pytest -q evals/memory/test_retrieval_bench.py \
  evals/memory/test_scope_isolation.py \
  evals/memory/test_context_extraction.py \
  evals/memory/test_injection_robustness.py -s

Roadmap

Roadmap #232 — Living roadmap organized by functional area, with checkbox tracking and Epic links.

Active Epics:

EpicAreaStatus
#197AgentSwarm StudioFoundation
#231DB InfrastructurePlanning
#153Memory & ContextP0-P1 done
#154Agentic ResearchDesign done
#179Daily PushComplete
#283MemoryBenchComplete
#159Obsidian CLINot started

Contributing

  1. Pick an unchecked item from the Roadmap
  2. Check the linked Epic for detailed requirements
  3. Open a PR targeting dev branch
  4. Follow Conventional Commits format
# Run tests
pytest -q

# Format
python -m black . && python -m isort .

Documentation

DocDescription
Roadmap #232Living project roadmap
docs/PLAN.mdArchitecture assessment
docs/PAPERSCOOL_WORKFLOW.mdTopic Workflow guide
docs/p2c/Paper2Context design docs
docs/benchmark/MEMORYBENCH_EPIC_283_COMPLETION.mdMemoryBench Epic completion report
docs/benchmark/MEMORYBENCH_RUNTIME_REPORT_2026-03-07.mdLive ROI + 1M memory runtime report
docs/search_eval.mdRetrieval benchmark guide
docs/document_evidence_eval.mdDocument evidence retrieval benchmark guide
docs/context_engine_eval.mdContext extraction benchmark guide
docs/memory_performance_eval.mdMemory performance benchmark guide
docs/p2c/P2C_ROI_BENCHMARK.mdROI benchmark guide
docs/memory_effectiveness_eval.mdMulti-session memory effectiveness benchmark guide
docs/memory_system.mdMemory system design
docs/anchor_system.mdAnchor author system
docs/AGENTIC_RESEARCH_EVOLUTION.mdAgentic Research evolution plan

Acknowledgements

  • Qc-TX — Crawler contributions
  • BettaFish — Multi-agent collaboration reference
  • OpenClaw — Memory architecture reference

License

MIT

Trustgrade A

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • warnType matchbest-effort: server code not analyzed

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • passLicense

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-e192386ec9522026-08-06