ๅคๆบ่ฝไฝๅญฆๆฏๆ็ฎๆบ่ฝๆฃ็ดขไธๅๆ็ณป็ป
MARS is an automated academic literature search and deep analysis system built on a multi-agent architecture. It leverages cutting-edge Chinese LLMs and the CrewAI framework to orchestrate specialized AI agents that collaborate to deliver comprehensive research intelligenceโfrom journal recommendations and paper retrieval to deep analysis, relationship mapping, and literature review generation.
MARS ้็จๅๅฑๅๅฑๆถๆ๏ผไป็จๆทๆฅๅฃๅฐๅบๅฑๅทฅๅ ทๅๅไพ่ต๏ผๆธ ๆฐ่งฃ่ฆ๏ผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ็จๆทๆฅๅฃๅฑ (Interface Layer) โ
โ โ
โ CLI (Typer + Rich) REST API (FastAPI + Uvicorn) โ
โ mars search/analyze/... /search /analyze /full-researchโ
โ python main.py Swagger UI: /docs โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ่ฐ็จๅทฅไฝๆตๅ
ฅๅฃๅฝๆฐ run_*()
โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅทฅไฝๆต็ผๆๅฑ (Crew / Orchestration Layer) โ
โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SearchCrew โ โ AnalysisCrew โ โ FullResearchCrew โ โ
โ โ 4 Tasks โ โ 2 Tasks โ โ 8 Tasks โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Sequential Process (CrewAI) โ
โ โโโโโโโโโโโโโโโโโโ โ
โ โ ConnectionCrew โ ไปปๅกๅฎไน้ไธญไบ mars/tasks/task_definitionsโ
โ โ 3 Tasks โ โ
โ โโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅ้
Agent + Task
โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆบ่ฝไฝๅฑ (Agent Layer) โ
โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ Researcher โ โ Searcher โ โ Analyzer โ โ
โ โ (Qwen) โ โ (Qwen) โ โ (Qwen) โ โ
โ โ ้ขๅๅๆ โ โ ่ฎบๆๆฃ็ดข โ โ ๆทฑๅบฆ่งฃๆ โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ Connector โ โ Summarizer โ โ Evaluator โ โ
โ โ (Qwen) โ โ (Qwen) โ โ (Kimi) โ โ
โ โ ๅ
ณ่ๅๆ โ โ ๅ่ฏญ็ปผ่ฟฐ โ โ ่ดจ้่ฏไผฐ โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ LLM ็ฝๅ
ณ llm_gateway.py ็ปไธ็ฎก็ไพๅบๅไธ้็บง โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ่ฐ็จๅทฅๅ
ท
โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅทฅๅ
ทไธๆๅกๅฑ (Tools / Services Layer) โ
โ โ
โ ๅญฆๆฏๆฐๆฎๆบ PDF & ๆๆฌๅค็ โ
โ โโ DBLP API โโ PDF Parser (PyMuPDF/PyPDF2) โ
โ โโ Semantic Scholar API โโ Keyword Expander (LLM) โ
โ โโ arXiv API โ
โ โโ CCF Database (ๅ
็ฝฎ) ็ฝ็ปๅๆ & ๅญๅจ โ
โ โโ Citation Network (NetworkX) โ
โ LLM ไพๅบๅ๏ผ้่ฟ LiteLLM๏ผ โโ File Manager โ
โ โโ Qwen (DashScope) โโ SQLite Database โ
โ โโ DeepSeek โ
โ โโ Kimi (Moonshot) โ
โ โโ GLM (Zhipu) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| ๅณ็ญ | ๅๅ |
|---|---|
| ไฝฟ็จ CrewAI ไฝไธบ Multi-Agent ๆกๆถ | ๅ ็ฝฎ Agent/Task/Crew ๆฝ่ฑกใๅทฅๅ ท่ฐ็จใ่ฏฆ็ปๆง่กๆฅๅฟ๏ผๅฟซ้ๆญๅปบๅฏ่งๆต็ๅคๆบ่ฝไฝๆต็จ |
| ๅ จ้จไฝฟ็จ OpenAI ๅ ผๅฎน API | ้่ฟ LiteLLM ็ปไธๆฅๅ ฅ 4 ไธชๅฝๅ LLM๏ผๆฐๅขไพๅบๅๅช้ไธ่ก้ ็ฝฎ |
| ้กบๅบๆง่ก๏ผSequential Process๏ผ | ๅญฆๆฏ็ ็ฉถๅๆญฅ้ชคๅญๅจไพ่ตๅ ณ็ณป๏ผๆฃ็ดขโๅๆโ็ปผ่ฟฐ๏ผ๏ผ้กบๅบๆง่กไฟ่ฏไธไธๆๅฎๆดไผ ้ |
| ๆฏๆฌก่ฟ่ก็ฌ็ซๆถ้ดๆณ็ฎๅฝ | ้ฟๅ ๅคๆฌก่ฟ่กไบ็ธ่ฆ็๏ผๅฎๆดไฟๅญๆฏๆฌก็ ็ฉถ่ฟ็จ๏ผไพฟไบๅค็ฐๅๅฏนๆฏ |
| Pydantic Settings ็ฎก็้ ็ฝฎ | ็ฑปๅๅฎๅ
จใ่ชๅจไป .env ๅ ่ฝฝใๅผ็ฎฑๅณ็จ็ๅญๆฎตๆ ก้ช |
| Agent | Role | LLM | Key Tools |
|---|---|---|---|
| Researcher | ้ขๅๅๆๅธ โ identifies research domain, recommends CCF-ranked venues | Qwen (qwen3.5-flash) | ccf_database_query, keyword_expander |
| Searcher | ่ฎบๆๆฃ็ดขๅธ โ queries academic databases and ranks results | Qwen (qwen3.5-flash) | dblp_search, semantic_scholar_search, arxiv_search, keyword_expander, file_writer |
| Analyzer | ๆทฑๅบฆๅๆๅธ โ downloads PDFs, extracts contributions & experiments | Qwen (qwen3.5-flash) | arxiv_search, pdf_parser, semantic_scholar_search, file_writer |
| Connector | ๅ ณ่ๅๆๅธ โ builds citation networks, identifies clusters & trends | Qwen (qwen3.5-flash) | citation_network_builder, semantic_scholar_search, file_writer |
| Summarizer | ็ปผ่ฟฐ็ๆๅธ โ generates bilingual (EN + ZH) literature reviews | Qwen (qwen3.5-flash) | file_writer |
| Evaluator | ่ดจ้่ฏไผฐๅธ โ scores papers on novelty, depth, validity, writing | Kimi (kimi-k2.5) | semantic_scholar_search, file_writer |
User topic โ Researcher (domain analysis) โ Searcher (50 papers)
โ Summarizer (English review โฅ 3000 words โ Chinese translation)
โ Output: paper_search.json + review_en.md + review_zh.md
Paper list โ Analyzer (top 20 papers) โ Evaluator โ Analysis report + Quality scores
Multiple papers โ Connector (citation network) โ Summarizer
โ Network analysis + Bilingual review (EN + ZH)
User topic
โ Researcher (domain analysis)
โ Searcher (50 papers)
โ Analyzer (top 20) + Connector (all 50) + Evaluator (top 20)
โ Summarizer (English review โฅ 3000 words โ Chinese translation)
โ Summarizer (full synthesis report)
โ Output: 8+ files including bilingual comprehensive review + synthesis report
MARS ็่ฎพ่ฎก้ตๅพชไปฅไธๆ ธๅฟๅๅ๏ผ
MARS ๆๅผ"ไธ่ฝๅไธ่ฐ็จ"ๆ่ทฏ๏ผ่ฝฌ่้็จ"ๅๅทฅๆ็กฎใๅๅธๅ ถ่"็ๅคๆบ่ฝไฝๅไฝๆจกๅผ๏ผ6 ไธชไธไธๆบ่ฝไฝๅๅซ่ด่ดฃ้ขๅๅๆใๆ็ฎๆฃ็ดขใๆทฑๅบฆ่งฃๆใๅ ณ่ๅๆใ็ปผ่ฟฐ็ๆๅ่ดจ้่ฏไผฐใๆฏไธช Agent ่ขซ่ตไบ็ฒพๅ็่ง่ฒๅฎไนใๅทฅๅ ทๆ้ๅ่พๅบๆ ผๅผ่ฆๆฑ๏ผ็ธไบๅไฝๅฎๆๅฎๆด็ๅญฆๆฏ็ ็ฉถๆต็จ๏ผไธ็ๅฎ็ ็ฉถๅข้็ๅไฝๆนๅผ้ซๅบฆๅปๅใ
ไธบ้ฟๅ
ๅไธไพๅบๅไพ่ต๏ผMARS ้่ฟ็ปไธ็ LLM ็ฝๅ
ณ๏ผllm_gateway.py๏ผๆฏๆ 4 ไธชๅฝๅ
ไธปๆตๅคงๆจกๅ๏ผQwenใDeepSeekใKimiใGLM๏ผ๏ผๅนถๆไปปๅก็นๆงๆบ่ฝๅน้
ๆๅ้็ๆจกๅใๅฝๆไธชไพๅบๅ้ๅฐ้ๆตๆไธๅฏ็จๆถ๏ผ็ณป็ป่ชๅจไปฅๆๆฐ้้ฟ็ญ็ฅ้่ฏ๏ผๅนถ่ชๅจๅๆขๅฐๅค็จไพๅบๅ๏ผไฟ้็ณป็ปๆ็ปญๅฏ็จใ
ไปฃ็ ๅบๆ่่ดฃๅๅไธบๆธ ๆฐ็ๅๅฑๆถๆ๏ผๅๅฑ้ดๅๅไพ่ต๏ผไบไธ่ฆๅ๏ผ
| ๅฑๆฌก | ่่ดฃ | ๅ ณ้ฎๆจกๅ |
|---|---|---|
| ๅทฅๅ ทๅฑ๏ผTools๏ผ | ๆ ็ถๆ็ๅค้จ API ๅฐ่ฃ ๏ผๆฏไธชๅทฅๅ ทๅชๅไธไปถไบ | mars/tools/ |
| ๆบ่ฝไฝๅฑ๏ผAgents๏ผ | ๅ ทๅค่ง่ฒๅฎไนไธๅทฅๅ ทๆ้็ LLM ๅฎไฝ | mars/agents/ |
| ไปปๅกๅฑ๏ผTasks๏ผ | ๆ่ฟฐ้่ฆๅฎๆ็ๅ ทไฝๅทฅไฝๅๆๆ่พๅบ | mars/tasks/ |
| ๅทฅไฝๆตๅฑ๏ผCrews๏ผ | ็ปๅ Agent ไธ Task๏ผ็ผๆๅฎๆดๆต็จ | mars/crews/ |
่ฟไธ่ฎพ่ฎกไฝฟๅพๆทปๅ ๆฐๅทฅๅ
ทๅช้ๅฎ็ฐไธไธชๅธฆๆ _run() ๆนๆณ็็ฑป๏ผๆทปๅ ๆฐๅทฅไฝๆตๅช้ๅฎไนไปปๅกๅนถ็ป่ฃ
Crew๏ผๆฉๅฑๆๆฌๆไฝใ
ๆฏๆฌก่ฟ่ก่ชๅจๅๅปบๅธฆๆถ้ดๆณ็็ฌ็ซ่พๅบ็ฎๅฝ๏ผoutput/<workflow>_<timestamp>/๏ผ๏ผๅ
ถไธญๅ
ๅซ๏ผๅๅง่พๅ
ฅ๏ผprompt.txt๏ผใๅฎๆด่ฟ่กๆฅๅฟ๏ผrun.log๏ผใๆๆไธญ้ดไธๆ็ป่พๅบๆไปถใไปปไฝไธๆฌก็ ็ฉถ่ฟ็จ้ฝๅฏๅฎๆด่ฟฝๆบฏๅๅค็ฐ๏ผๆ ้ๆๅจ้ๅฎๅๆฅๅฟใ
ๅ ณ้ฎไพ่ตๅ่ฎพๆๅ้ๆบๅถ๏ผPDF ่งฃๆไผๅ ไฝฟ็จ PyMuPDF๏ผๅคฑ่ดฅๅ่ชๅจๅ้ๅฐ PyPDF2๏ผLLM ไพๅบๅๅจ้ๆตๆถ่ชๅจๅๆข๏ผๅญฆๆฏๆ็ดขๅทฅๅ ทๅจๅไธ API ไธๅฏ็จๆถไปๅฏ้่ฟๅ ถไปๆฐๆฎๆบ่ฟๅ็ปๆใ็ณป็ปๅจ้จๅ็ปไปถ็ผบๅคฑ็ๆ ๅตไธไพ็ถ่ฝๅคๅฎๆๆ ธๅฟๅ่ฝใ
ๆๆ LLM ไพๅบๅๅ้่ฟ OpenAI ๅ ผๅฎนๆฅๅฃ๏ผvia LiteLLM๏ผ็ปไธๆฅๅ ฅ๏ผไฝฟๅพๆชๆฅๆฅๅ ฅๆฐไพๅบๅๅช้ๆทปๅ ไธ็ป้ ็ฝฎ๏ผๆ ้ไฟฎๆนไธๅก้ป่พไปฃ็ ใ
- Multi-agent Framework: CrewAI
- LLMs: Qwen (Alibaba Cloud) ยท DeepSeek ยท Kimi (Moonshot AI) ยท GLM (Zhipu AI)
- LLM Routing: LiteLLM (provider fallback & OpenAI-compatible proxy)
- Academic APIs: DBLP ยท Semantic Scholar ยท arXiv
- PDF Processing: PyMuPDF (fitz) / PyPDF2
- Network Analysis: NetworkX + PyVis
- CLI: Typer + Rich
- Language: Python 3.10+
# Clone the repository
git clone https://github.com/igeng/MARS.git
cd MARS
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Or install as a package
pip install -e .cp .env.example .envEdit .env and fill in your API keys:
# Required: at least one LLM provider
DASHSCOPE_API_KEY=sk-xxxxxxxx # Qwen (Alibaba Cloud)
DEEPSEEK_API_KEY=sk-xxxxxxxx # DeepSeek
MOONSHOT_API_KEY=sk-xxxxxxxx # Kimi (Moonshot AI)
ZHIPU_API_KEY=xxxxxxxx.xxxxxxxx # GLM (Zhipu AI)
# Optional: increases Semantic Scholar rate limits
SEMANTIC_SCHOLAR_API_KEY=xxxxxxxx
# Customize defaults
DEFAULT_LLM_PROVIDER=qwen # qwen | deepseek | kimi | glm
MAX_PAPERS_PER_SEARCH=50
MAX_PAPERS_FOR_ANALYSIS=20
# Optional: enable CrewAI memory (requires an OpenAI-compatible embedding key)
ENABLE_MEMORY=false# Basic search (outputs paper_search.json + bilingual reviews to output/<run>/)
mars search "federated learning with differential privacy"
# Deep analysis (provide paper titles/info)
mars analyze "Federated Learning: Challenges, Methods, and Future Directions | Communication-Efficient Learning of Deep Networks"
# Connection analysis
mars connect "paper1 | paper2 | paper3" --topic "federated learning"
# Full research workflow
mars full "่้ฆๅญฆไน ้็งไฟๆคๆๆฏ"
# Validate configuration (check API keys & provider availability)
mars checkfrom mars.crews.search_crew import run_search
from mars.crews.analysis_crew import run_analysis
from mars.crews.connection_crew import run_connection
from mars.crews.full_research_crew import run_full_research
# Basic search
result = run_search("graph neural network for recommendation")
# Full research
result = run_full_research("knowledge graph embedding methods")
print(result)MARS/
โโโ main.py # Entry point
โโโ requirements.txt # Dependencies
โโโ pyproject.toml # Build config
โโโ .env.example # Environment variable template
โ
โโโ mars/
โ โโโ config/
โ โ โโโ settings.py # Configuration from environment variables
โ โ
โ โโโ agents/
โ โ โโโ researcher.py # Researcher Agent (domain analysis)
โ โ โโโ searcher.py # Searcher Agent (paper retrieval)
โ โ โโโ analyzer.py # Analyzer Agent (deep analysis)
โ โ โโโ connector.py # Connector Agent (relationship analysis)
โ โ โโโ summarizer.py # Summarizer Agent (bilingual review)
โ โ โโโ evaluator.py # Evaluator Agent (quality assessment)
โ โ
โ โโโ tools/
โ โ โโโ ccf_database.py # CCF ranking database
โ โ โโโ dblp_search.py # DBLP API search
โ โ โโโ semantic_scholar.py # Semantic Scholar API
โ โ โโโ arxiv_api.py # arXiv API
โ โ โโโ pdf_parser.py # PDF download & text extraction
โ โ โโโ keyword_expander.py # LLM-powered keyword expansion
โ โ โโโ citation_network.py # Citation network builder
โ โ โโโ file_manager.py # File I/O utilities
โ โ
โ โโโ tasks/
โ โ โโโ task_definitions.py # 8 task factory functions
โ โ
โ โโโ crews/
โ โ โโโ search_crew.py # Workflow 1: Basic search (4 tasks)
โ โ โโโ analysis_crew.py # Workflow 2: Deep analysis
โ โ โโโ connection_crew.py # Workflow 3: Connection analysis
โ โ โโโ full_research_crew.py # Workflow 4: Full research (8 tasks)
โ โ
โ โโโ database/
โ โ โโโ models.py # SQLAlchemy models (CCFVenue, Paper)
โ โ
โ โโโ services/
โ โ โโโ llm_gateway.py # LLM gateway (4 providers + fallback)
โ โ
โ โโโ utils/
โ โ โโโ llm_factory.py # LLM instance factory (compatibility layer)
โ โ โโโ logging_config.py # Centralised logging setup
โ โ โโโ retry.py # Retry decorator with exponential back-off
โ โ
โ โโโ api/
โ โ โโโ main.py # FastAPI application
โ โ
โ โโโ cli.py # CLI commands (Typer)
โ
โโโ tests/
โโโ conftest.py # Shared fixtures & mocks
โโโ test_basic.py # Basic component tests
โโโ test_new_components.py # Settings, LLM gateway, DB, API tests
โโโ test_usage_features.py # End-to-end usage feature tests
pip install -e ".[dev]"
pytest tests/ -v
# 114 tests total across 4 test files (all pass without API keys)| Provider | Models | API |
|---|---|---|
| Alibaba Cloud (Qwen) | qwen3.5-flash, qwen-max, qwen-plus | DashScope (OpenAI-compatible) |
| DeepSeek | deepseek-chat, deepseek-coder | DeepSeek Open API (OpenAI-compatible) |
| Moonshot AI (Kimi) | kimi-k2.5, moonshot-v1-8k | Moonshot API (OpenAI-compatible) |
| Zhipu AI (GLM) | glm-4.7-flash, glm-4-plus, glm-4-air | Zhipu Open Platform (OpenAI-compatible) |
All providers are accessed via OpenAI-compatible APIs, making it easy to switch between them or add new providers.
| Document | Description |
|---|---|
| ๆๆฏๅผๅๆๆกฃ | ็ณป็ปๆถๆใๆจกๅ่ฎพ่ฎกใAPI ๅ่ใๆฉๅฑๆๅ๏ผไธญๆ๏ผ |
| Technical Development Guide | System architecture, module design, API reference, extension guide (English) |
| ไฝฟ็จๆๅ | ้จ็ฝฒ๏ผWindows 10 & Ubuntu๏ผใCLI/API ไฝฟ็จใๆ ้ๆ้ค๏ผไธญๆ๏ผ |
| User Manual | Deployment (Windows 10 & Ubuntu), CLI/API usage, troubleshooting (English) |
MIT License. See LICENSE for details.