mirror of
https://github.com/MODSetter/SurfSense.git
synced 2025-09-02 02:29:08 +00:00
removed changes from readme
This commit is contained in:
parent
9d5dd56306
commit
445e02b71b
1 changed files with 67 additions and 71 deletions
138
README.md
138
README.md
|
@ -1,13 +1,17 @@
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
# SurfSense
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# SurfSense
|
||||||
While tools like NotebookLM and Perplexity are impressive and highly effective for conducting research on any topic/query, SurfSense elevates this capability by integrating with your personal knowledge base. It is a highly customizable AI research agent, connected to external sources such as search engines (Tavily, LinkUp), Slack, Linear, Notion, YouTube, GitHub and more to come.
|
While tools like NotebookLM and Perplexity are impressive and highly effective for conducting research on any topic/query, SurfSense elevates this capability by integrating with your personal knowledge base. It is a highly customizable AI research agent, connected to external sources such as search engines (Tavily, LinkUp), Slack, Linear, Notion, YouTube, GitHub and more to come.
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<a href="https://trendshift.io/repositories/13606" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13606" alt="MODSetter%2FSurfSense | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
<a href="https://trendshift.io/repositories/13606" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13606" alt="MODSetter%2FSurfSense | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
# Video
|
# Video
|
||||||
|
|
||||||
https://github.com/user-attachments/assets/48142909-6391-4084-b7e8-81da388bb1fc
|
https://github.com/user-attachments/assets/48142909-6391-4084-b7e8-81da388bb1fc
|
||||||
|
@ -20,46 +24,31 @@ https://github.com/user-attachments/assets/d516982f-de00-4c41-9e4c-632a7d942f41
|
||||||
|
|
||||||
https://github.com/user-attachments/assets/bf64a6ca-934b-47ac-9e1b-edac5fe972ec
|
https://github.com/user-attachments/assets/bf64a6ca-934b-47ac-9e1b-edac5fe972ec
|
||||||
|
|
||||||
## Key Features
|
|
||||||
|
|
||||||
|
|
||||||
|
## Key Features
|
||||||
### 1. Latest
|
### 1. Latest
|
||||||
|
|
||||||
#### 💡 **Idea**:
|
#### 💡 **Idea**:
|
||||||
|
|
||||||
Have your own highly customizable private NotebookLM and Perplexity integrated with external sources.
|
Have your own highly customizable private NotebookLM and Perplexity integrated with external sources.
|
||||||
|
|
||||||
#### 📁 **Multiple File Format Uploading Support**
|
#### 📁 **Multiple File Format Uploading Support**
|
||||||
|
Save content from your own personal files *(Documents, images and supports **27 file extensions**)* to your own personal knowledge base .
|
||||||
Save content from your own personal files _(Documents, images and supports **27 file extensions**)_ to your own personal knowledge base .
|
|
||||||
|
|
||||||
#### 🔍 **Powerful Search**
|
#### 🔍 **Powerful Search**
|
||||||
|
|
||||||
Quickly research or find anything in your saved content .
|
Quickly research or find anything in your saved content .
|
||||||
|
|
||||||
#### 💬 **Chat with your Saved Content**
|
#### 💬 **Chat with your Saved Content**
|
||||||
|
Interact in Natural Language and get cited answers.
|
||||||
Interact in Natural Language and get cited answers.
|
|
||||||
|
|
||||||
#### 📄 **Cited Answers**
|
#### 📄 **Cited Answers**
|
||||||
|
|
||||||
Get Cited answers just like Perplexity.
|
Get Cited answers just like Perplexity.
|
||||||
|
|
||||||
#### 🔔 **Privacy & Local LLM Support**
|
#### 🔔 **Privacy & Local LLM Support**
|
||||||
|
|
||||||
Works Flawlessly with Ollama local LLMs.
|
Works Flawlessly with Ollama local LLMs.
|
||||||
|
|
||||||
#### 🏠 **Self Hostable**
|
#### 🏠 **Self Hostable**
|
||||||
|
|
||||||
Open source and easy to deploy locally.
|
Open source and easy to deploy locally.
|
||||||
|
#### 🎙️ Podcasts
|
||||||
#### 🎙️ Podcasts
|
|
||||||
|
|
||||||
- Blazingly fast podcast generation agent. (Creates a 3-minute podcast in under 20 seconds.)
|
- Blazingly fast podcast generation agent. (Creates a 3-minute podcast in under 20 seconds.)
|
||||||
- Convert your chat conversations into engaging audio content
|
- Convert your chat conversations into engaging audio content
|
||||||
- Support for multiple TTS providers (OpenAI, Azure, Google Vertex AI)
|
- Support for multiple TTS providers (OpenAI, Azure, Google Vertex AI)
|
||||||
|
|
||||||
#### 📊 **Advanced RAG Techniques**
|
#### 📊 **Advanced RAG Techniques**
|
||||||
|
|
||||||
- Supports 150+ LLM's
|
- Supports 150+ LLM's
|
||||||
- Supports 6000+ Embedding Models.
|
- Supports 6000+ Embedding Models.
|
||||||
- Supports all major Rerankers (Pinecode, Cohere, Flashrank etc)
|
- Supports all major Rerankers (Pinecode, Cohere, Flashrank etc)
|
||||||
|
@ -68,7 +57,6 @@ Open source and easy to deploy locally.
|
||||||
- RAG as a Service API Backend.
|
- RAG as a Service API Backend.
|
||||||
|
|
||||||
#### ℹ️ **External Sources**
|
#### ℹ️ **External Sources**
|
||||||
|
|
||||||
- Search Engines (Tavily, LinkUp)
|
- Search Engines (Tavily, LinkUp)
|
||||||
- Slack
|
- Slack
|
||||||
- Linear
|
- Linear
|
||||||
|
@ -78,16 +66,19 @@ Open source and easy to deploy locally.
|
||||||
- and more to come.....
|
- and more to come.....
|
||||||
|
|
||||||
#### 🔖 Cross Browser Extension
|
#### 🔖 Cross Browser Extension
|
||||||
|
|
||||||
- The SurfSense extension can be used to save any webpage you like.
|
- The SurfSense extension can be used to save any webpage you like.
|
||||||
- Its main usecase is to save any webpages protected beyond authentication.
|
- Its main usecase is to save any webpages protected beyond authentication.
|
||||||
|
|
||||||
|
|
||||||
## FEATURE REQUESTS AND FUTURE
|
## FEATURE REQUESTS AND FUTURE
|
||||||
|
|
||||||
|
|
||||||
**SurfSense is actively being developed.** While it's not yet production-ready, you can help us speed up the process.
|
**SurfSense is actively being developed.** While it's not yet production-ready, you can help us speed up the process.
|
||||||
|
|
||||||
Join the [SurfSense Discord](https://discord.gg/ejRNvftDp9) and help shape the future of SurfSense!
|
Join the [SurfSense Discord](https://discord.gg/ejRNvftDp9) and help shape the future of SurfSense!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## How to get started?
|
## How to get started?
|
||||||
|
|
||||||
### Installation Options
|
### Installation Options
|
||||||
|
@ -95,7 +86,6 @@ Join the [SurfSense Discord](https://discord.gg/ejRNvftDp9) and help shape the f
|
||||||
SurfSense provides two installation methods:
|
SurfSense provides two installation methods:
|
||||||
|
|
||||||
1. **[Docker Installation](https://www.surfsense.net/docs/docker-installation)** - The easiest way to get SurfSense up and running with all dependencies containerized.
|
1. **[Docker Installation](https://www.surfsense.net/docs/docker-installation)** - The easiest way to get SurfSense up and running with all dependencies containerized.
|
||||||
|
|
||||||
- Includes pgAdmin for database management through a web UI
|
- Includes pgAdmin for database management through a web UI
|
||||||
- Supports environment variable customization via `.env` file
|
- Supports environment variable customization via `.env` file
|
||||||
- See [Docker Setup Guide](DOCKER_SETUP.md) for detailed instructions
|
- See [Docker Setup Guide](DOCKER_SETUP.md) for detailed instructions
|
||||||
|
@ -105,7 +95,6 @@ SurfSense provides two installation methods:
|
||||||
Both installation guides include detailed OS-specific instructions for Windows, macOS, and Linux.
|
Both installation guides include detailed OS-specific instructions for Windows, macOS, and Linux.
|
||||||
|
|
||||||
Before installation, make sure to complete the [prerequisite setup steps](https://www.surfsense.net/docs/) including:
|
Before installation, make sure to complete the [prerequisite setup steps](https://www.surfsense.net/docs/) including:
|
||||||
|
|
||||||
- PGVector setup
|
- PGVector setup
|
||||||
- Google OAuth configuration
|
- Google OAuth configuration
|
||||||
- Unstructured.io API key
|
- Unstructured.io API key
|
||||||
|
@ -113,21 +102,22 @@ Before installation, make sure to complete the [prerequisite setup steps](https:
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
**Search Spaces**
|
**Search Spaces**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
**Manage Documents**
|
**Manage Documents**
|
||||||

|

|
||||||
|
|
||||||
**Research Agent**
|
**Research Agent**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
**Podcast Agent**
|
**Podcast Agent**
|
||||||

|

|
||||||
|
|
||||||
**Agent Chat**
|
|
||||||
|
**Agent Chat**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@ -137,86 +127,89 @@ Before installation, make sure to complete the [prerequisite setup steps](https:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
## Tech Stack
|
## Tech Stack
|
||||||
|
|
||||||
### **BackEnd**
|
|
||||||
|
|
||||||
- **FastAPI**: Modern, fast web framework for building APIs with Python
|
### **BackEnd**
|
||||||
|
|
||||||
- **PostgreSQL with pgvector**: Database with vector search capabilities for similarity searches
|
- **FastAPI**: Modern, fast web framework for building APIs with Python
|
||||||
|
|
||||||
|
- **PostgreSQL with pgvector**: Database with vector search capabilities for similarity searches
|
||||||
|
|
||||||
- **SQLAlchemy**: SQL toolkit and ORM (Object-Relational Mapping) for database interactions
|
- **SQLAlchemy**: SQL toolkit and ORM (Object-Relational Mapping) for database interactions
|
||||||
|
|
||||||
- **Alembic**: A database migrations tool for SQLAlchemy.
|
- **Alembic**: A database migrations tool for SQLAlchemy.
|
||||||
|
|
||||||
- **FastAPI Users**: Authentication and user management with JWT and OAuth support
|
- **FastAPI Users**: Authentication and user management with JWT and OAuth support
|
||||||
|
|
||||||
- **LangGraph**: Framework for developing AI-agents.
|
- **LangGraph**: Framework for developing AI-agents.
|
||||||
|
|
||||||
|
- **LangChain**: Framework for developing AI-powered applications.
|
||||||
|
|
||||||
- **LangChain**: Framework for developing AI-powered applications.
|
- **LLM Integration**: Integration with LLM models through LiteLLM
|
||||||
|
|
||||||
- **LLM Integration**: Integration with LLM models through LiteLLM
|
- **Rerankers**: Advanced result ranking for improved search relevance
|
||||||
|
|
||||||
- **Rerankers**: Advanced result ranking for improved search relevance
|
- **Hybrid Search**: Combines vector similarity and full-text search for optimal results using Reciprocal Rank Fusion (RRF)
|
||||||
|
|
||||||
- **Hybrid Search**: Combines vector similarity and full-text search for optimal results using Reciprocal Rank Fusion (RRF)
|
- **Vector Embeddings**: Document and text embeddings for semantic search
|
||||||
|
|
||||||
- **Vector Embeddings**: Document and text embeddings for semantic search
|
- **pgvector**: PostgreSQL extension for efficient vector similarity operations
|
||||||
|
|
||||||
- **pgvector**: PostgreSQL extension for efficient vector similarity operations
|
- **Chonkie**: Advanced document chunking and embedding library
|
||||||
|
- Uses `AutoEmbeddings` for flexible embedding model selection
|
||||||
|
- `LateChunker` for optimized document chunking based on embedding model's max sequence length
|
||||||
|
|
||||||
- **Chonkie**: Advanced document chunking and embedding library
|
|
||||||
- Uses `AutoEmbeddings` for flexible embedding model selection
|
|
||||||
- `LateChunker` for optimized document chunking based on embedding model's max sequence length
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
### **FrontEnd**
|
||||||
|
|
||||||
### **FrontEnd**
|
- **Next.js 15.2.3**: React framework featuring App Router, server components, automatic code-splitting, and optimized rendering.
|
||||||
|
|
||||||
- **Next.js 15.2.3**: React framework featuring App Router, server components, automatic code-splitting, and optimized rendering.
|
- **React 19.0.0**: JavaScript library for building user interfaces.
|
||||||
|
|
||||||
- **React 19.0.0**: JavaScript library for building user interfaces.
|
- **TypeScript**: Static type-checking for JavaScript, enhancing code quality and developer experience.
|
||||||
|
|
||||||
- **TypeScript**: Static type-checking for JavaScript, enhancing code quality and developer experience.
|
|
||||||
- **Vercel AI SDK Kit UI Stream Protocol**: To create scalable chat UI.
|
- **Vercel AI SDK Kit UI Stream Protocol**: To create scalable chat UI.
|
||||||
|
|
||||||
- **Tailwind CSS 4.x**: Utility-first CSS framework for building custom UI designs.
|
- **Tailwind CSS 4.x**: Utility-first CSS framework for building custom UI designs.
|
||||||
|
|
||||||
- **Shadcn**: Headless components library.
|
- **Shadcn**: Headless components library.
|
||||||
|
|
||||||
- **Lucide React**: Icon set implemented as React components.
|
- **Lucide React**: Icon set implemented as React components.
|
||||||
|
|
||||||
- **Framer Motion**: Animation library for React.
|
- **Framer Motion**: Animation library for React.
|
||||||
|
|
||||||
- **Sonner**: Toast notification library.
|
- **Sonner**: Toast notification library.
|
||||||
|
|
||||||
- **Geist**: Font family from Vercel.
|
- **Geist**: Font family from Vercel.
|
||||||
|
|
||||||
- **React Hook Form**: Form state management and validation.
|
- **React Hook Form**: Form state management and validation.
|
||||||
|
|
||||||
- **Zod**: TypeScript-first schema validation with static type inference.
|
- **Zod**: TypeScript-first schema validation with static type inference.
|
||||||
|
|
||||||
- **@hookform/resolvers**: Resolvers for using validation libraries with React Hook Form.
|
- **@hookform/resolvers**: Resolvers for using validation libraries with React Hook Form.
|
||||||
|
|
||||||
- **@tanstack/react-table**: Headless UI for building powerful tables & datagrids.
|
- **@tanstack/react-table**: Headless UI for building powerful tables & datagrids.
|
||||||
|
|
||||||
### **DevOps**
|
|
||||||
|
|
||||||
- **Docker**: Container platform for consistent deployment across environments
|
### **DevOps**
|
||||||
|
|
||||||
- **Docker Compose**: Tool for defining and running multi-container Docker applications
|
- **Docker**: Container platform for consistent deployment across environments
|
||||||
|
|
||||||
|
- **Docker Compose**: Tool for defining and running multi-container Docker applications
|
||||||
|
|
||||||
- **pgAdmin**: Web-based PostgreSQL administration tool included in Docker setup
|
- **pgAdmin**: Web-based PostgreSQL administration tool included in Docker setup
|
||||||
|
|
||||||
### **Extension**
|
|
||||||
|
|
||||||
Manifest v3 on Plasmo
|
### **Extension**
|
||||||
|
Manifest v3 on Plasmo
|
||||||
|
|
||||||
## Future Work
|
## Future Work
|
||||||
|
|
||||||
- Add More Connectors.
|
- Add More Connectors.
|
||||||
- Patch minor bugs.
|
- Patch minor bugs.
|
||||||
- Implement Canvas.
|
- Implement Canvas.
|
||||||
- Complete Hybrid Search. **[Done]**
|
- Complete Hybrid Search. **[Done]**
|
||||||
- Add support for file uploads QA. **[Done]**
|
- Add support for file uploads QA. **[Done]**
|
||||||
- Shift to WebSockets for Streaming responses. **[Deprecated in favor of AI SDK Stream Protocol]**
|
- Shift to WebSockets for Streaming responses. **[Deprecated in favor of AI SDK Stream Protocol]**
|
||||||
|
@ -227,7 +220,9 @@ Manifest v3 on Plasmo
|
||||||
- Basic keyword search page for saved sessions **[Done]**
|
- Basic keyword search page for saved sessions **[Done]**
|
||||||
- Multi & Single Document Chat **[Done]**
|
- Multi & Single Document Chat **[Done]**
|
||||||
|
|
||||||
## Contribute
|
|
||||||
|
|
||||||
|
## Contribute
|
||||||
|
|
||||||
Contributions are very welcome! A contribution can be as small as a ⭐ or even finding and creating issues.
|
Contributions are very welcome! A contribution can be as small as a ⭐ or even finding and creating issues.
|
||||||
Fine-tuning the Backend is always desired.
|
Fine-tuning the Backend is always desired.
|
||||||
|
@ -241,3 +236,4 @@ Fine-tuning the Backend is always desired.
|
||||||
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=MODSetter/SurfSense&type=Date" />
|
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=MODSetter/SurfSense&type=Date" />
|
||||||
</picture>
|
</picture>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue