ZhiDao's primary feature is its powerful research engine that helps users find, analyze, and understand academic research through natural language interactions:
- Natural Language Queries: Ask research questions in plain language
- Academic Paper Search: Searches multiple academic databases simultaneously
- AI-Powered Analysis: Analyzes and synthesizes information from multiple sources
- Citation Management: Automatically tracks and displays sources for all information
- Bilingual Support: Full support for both English and Chinese languages
As a complementary feature, ZhiDao offers personalized research subscriptions:
- Topic Subscriptions: Subscribe to research topics of interest
- Daily Digests: Receive daily updates on new research in your field
- Personalized Recommendations: Get paper recommendations based on your interests
This project was developed during MoonShot 48 hackathon and received 2nd place in the competition! ZhiDao is an AI-powered research assistant that helps users find, analyze, and understand academic research through natural language interactions.
Note: This is the frontend repository for ZhiDao. The backend repository containing the proprietary algorithms is private and currently being maintained by Zigao Wang.
This frontend communicates with the backend API through the following endpoints:
GET /question - Process a research question
Process a question through the research pipeline.
Query Parameters:
query
(string): The user question to be processed
Response:
200 OK
: Returns the result object with the answer and metadata400 Bad Request
: Missing query parameter500 Internal Server Error
: Error processing the request
GET /stream-question - Process a question with streaming
Process a question with streaming updates.
Query Parameters:
query
(string): The user question to be processed
Response:
200 OK
: Returns streaming updates and the final result object with the answer and metadata400 Bad Request
: Missing query parameter500 Internal Server Error
: Error processing the request
GET /stream-daily-digest - Get personalized research updates
Get personalized daily research digests based on subscribed topics.
Query Parameters:
topics
(string): The topics to receive research updates about
Response:
200 OK
: Returns the personalized research digest400 Bad Request
: Missing topics parameter500 Internal Server Error
: Error generating the digest
GET /api/daily-article - Get daily article
Get a daily article based on topics.
Query Parameters:
topics
(string): The topics to receive articles aboutuserId
(string, optional): User identifier for personalization
Response:
200 OK
: Returns the article400 Bad Request
: Missing topics parameter500 Internal Server Error
: Error retrieving the article
- Node.js (v14 or higher)
- npm (v6 or higher)
-
Clone this repository
git clone https://github.com/ZigaoWang/zhidao-frontend.git cd zhidao-frontend
-
Install dependencies
npm install
-
Configure environment variables
- Copy the
.env.example
file to.env
- Update the
BACKEND_API_URL
to point to your backend server
- Copy the
-
Start the server
npm start
-
Open your browser and navigate to
http://localhost:3001
- The frontend server is implemented in
server.js
- Static HTML/CSS/JS files are in the
public
directory - The server proxies API requests to the backend
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.