How rikonju/novelty-multi-agent-framework works
This is a research-prototype paper novelty-checking application: users submit a paper, then receive a traceable report built from extracted novelty points, literature research, evidence review, and report rendering. The README documents the main workflow and additional capabilities such as dynamic task fan-out, supplemental research, configurable retrieval sources, and PDF processing. The graph preserves those documented stages; unsampled implementation links are omitted rather than inferred.
Main entry points: novelty.py Novelty workflow · App.tsx Web application · workflow_service.py Workflow service · client.ts API client
Components 24
User experience
- Web application
frontend/src/app/App.tsx - Paper upload
frontend/src/features/upload/UploadView.tsx - Run progress
frontend/src/features/run-progress/useRun.ts - Report preview
frontend/src/features/report/ReportView.tsx - API client
frontend/src/api/client.ts - API contracts
frontend/src/api/contracts.ts
Application service
- FastAPI application
backend/src/novelty_agent_framework/main.py - Workflow service
backend/src/novelty_agent_framework/services/workflow_service.py - Run state store
backend/src/novelty_agent_framework/web/store.py
Novelty workflow
- Paper processing
backend/src/novelty_agent_framework/processing/paper_processor.py - Novelty workflow
backend/src/novelty_agent_framework/workflows/novelty.py - Point extraction
backend/src/novelty_agent_framework/agents/point_extractor.py - Task coordination
backend/src/novelty_agent_framework/agents/coordinator.py
Research and evidence
- Research task graph
backend/src/novelty_agent_framework/workflows/research_task.py - Task researcher
backend/src/novelty_agent_framework/agents/research.py - Search planning
backend/src/novelty_agent_framework/agents/search_planner.py - Structured retrieval
backend/src/novelty_agent_framework/tools/database_search/structured_retrieval.py - Retrieval providers
backend/src/novelty_agent_framework/tools/database_search/providers - Evidence review
backend/src/novelty_agent_framework/agents/evidence_reviewer.py
Runtime and storage
- Domain contracts
backend/src/novelty_agent_framework/schemas/domain.py - Model client
backend/env/model_client.py - Paper persistence
backend/src/novelty_agent_framework/persistence.py - Report renderer
backend/src/novelty_agent_framework/tools/renderer.py
Other components
- Paper submitter
Connections 25
- Paper submitter → Web application: submits paper
frontend/src/app/App.tsx - Web application → Paper upload: shows upload
frontend/src/app/App.tsx - Web application → Run progress: tracks run
frontend/src/app/App.tsx - Web application → Report preview: shows report
frontend/src/app/App.tsx - Web application → API client: requests data
frontend/src/app/App.tsx - API client → API contracts: validates response
frontend/src/api/client.ts - API client → FastAPI application: calls API
- FastAPI application → Workflow service: configures service
backend/src/novelty_agent_framework/main.py - Workflow service → Run state store: records run state
- Workflow service → Paper processing: processes paper
- Workflow service → Novelty workflow: runs workflow
backend/src/novelty_agent_framework/services/workflow_service.py - Paper processing → Novelty workflow: provides PaperInput
- Novelty workflow → Point extraction: extracts points
README.md - Novelty workflow → Task coordination: plans tasks
README.md - Novelty workflow → Research task graph: dispatches tasks
README.md - Research task graph → Task researcher: runs agent
README.md - Task researcher → Structured retrieval: invokes tool
README.md - Structured retrieval → Search planning: plans query
README.md - Structured retrieval → Retrieval providers: retrieves literature
README.md - Novelty workflow → Evidence review: reviews evidence
README.md - Novelty workflow → Report renderer: renders report
README.md - Novelty workflow → Paper persistence: stores artifacts
- Point extraction → Model client: calls model
- Evidence review → Model client: calls model
backend/src/novelty_agent_framework/agents/evidence_reviewer.py - Task researcher → Domain contracts: uses contracts