mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-25 00:36:31 +02:00
feat: update README files to include additional language options
This commit is contained in:
parent
65b0514947
commit
e184a7b3f3
5 changed files with 805 additions and 201 deletions
264
README.es.md
Normal file
264
README.es.md
Normal file
|
|
@ -0,0 +1,264 @@
|
|||
<a href="https://www.surfsense.com/"><img width="1584" height="396" alt="readme_banner" src="https://github.com/user-attachments/assets/9361ef58-1753-4b6e-b275-5020d8847261" /></a>
|
||||
|
||||
|
||||
|
||||
<div align="center">
|
||||
<a href="https://discord.gg/ejRNvftDp9">
|
||||
<img src="https://img.shields.io/discord/1359368468260192417" alt="Discord">
|
||||
</a>
|
||||
<a href="https://www.reddit.com/r/SurfSense/">
|
||||
<img src="https://img.shields.io/reddit/subreddit-subscribers/SurfSense?style=social" alt="Reddit">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[English](README.md) | [Español](README.es.md) | [Português](README.pt-BR.md) | [हिन्दी](README.hi.md) | [简体中文](README.zh-CN.md)
|
||||
|
||||
</div>
|
||||
|
||||
# SurfSense
|
||||
Conecta cualquier LLM a tus fuentes de conocimiento internas y chatea con él en tiempo real junto a tu equipo. Alternativa de código abierto a NotebookLM, Perplexity y Glean.
|
||||
|
||||
SurfSense es un agente de investigación de IA altamente personalizable, conectado a fuentes externas como motores de búsqueda (SearxNG, Tavily, LinkUp), Google Drive, Slack, Microsoft Teams, Linear, Jira, ClickUp, Confluence, BookStack, Gmail, Notion, YouTube, GitHub, Discord, Airtable, Google Calendar, Luma, Circleback, Elasticsearch, Obsidian y más por venir.
|
||||
|
||||
<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>
|
||||
</div>
|
||||
|
||||
|
||||
# Video
|
||||
|
||||
https://github.com/user-attachments/assets/cc0c84d3-1f2f-4f7a-b519-2ecce22310b1
|
||||
|
||||
|
||||
## Ejemplo de Podcast
|
||||
|
||||
https://github.com/user-attachments/assets/a0a16566-6967-4374-ac51-9b3e07fbecd7
|
||||
|
||||
|
||||
|
||||
|
||||
## Funcionalidades Principales
|
||||
|
||||
### 💡 **Idea**:
|
||||
- Alternativa de código abierto a NotebookLM, Perplexity y Glean. Conecta cualquier LLM a tus fuentes de conocimiento internas y colabora con tu equipo en tiempo real.
|
||||
### 📁 **Soporte de Múltiples Formatos de Archivo**
|
||||
- Guarda contenido de tus archivos personales *(Documentos, imágenes, videos y soporta **más de 50 extensiones de archivo**)* en tu propia base de conocimiento personal.
|
||||
### 🔍 **Búsqueda Potente**
|
||||
- Investiga o encuentra rápidamente cualquier cosa en tu contenido guardado.
|
||||
### 💬 **Chatea con tu Contenido Guardado**
|
||||
- Interactúa en lenguaje natural y obtén respuestas con citas.
|
||||
### 📄 **Respuestas con Citas**
|
||||
- Obtén respuestas con citas como en Perplexity.
|
||||
### 🧩 **Compatibilidad Universal**
|
||||
- Conecta virtualmente cualquier proveedor de inferencia a través de la especificación OpenAI y LiteLLM.
|
||||
### 🔔 **Privacidad y Soporte de LLM Local**
|
||||
- Funciona perfectamente con LLMs locales como vLLM y Ollama.
|
||||
### 🏠 **Auto-Hospedable**
|
||||
- Código abierto y fácil de desplegar localmente.
|
||||
### 👥 **Colaboración en Equipo con RBAC**
|
||||
- Control de acceso basado en roles para los espacios de búsqueda
|
||||
- Invita a miembros del equipo con roles personalizables (Propietario, Admin, Editor, Visor)
|
||||
- Permisos granulares para documentos, chats, conectores y configuración
|
||||
- Comparte bases de conocimiento de forma segura dentro de tu organización
|
||||
- Los chats de equipo se actualizan en tiempo real y puedes "Chatear sobre el chat" en hilos de comentarios
|
||||
### 🎙️ Podcasts
|
||||
- Agente de generación de podcasts ultrarrápido. (Crea un podcast de 3 minutos en menos de 20 segundos.)
|
||||
- Convierte tus conversaciones de chat en contenido de audio atractivo
|
||||
- Soporte para proveedores TTS locales (Kokoro TTS)
|
||||
- Soporte para múltiples proveedores TTS (OpenAI, Azure, Google Vertex AI)
|
||||
|
||||
### 🤖 **Arquitectura de Agentes Profundos**
|
||||
- Impulsado por [LangChain Deep Agents](https://docs.langchain.com/oss/python/deepagents/overview) - agentes que pueden planificar, usar subagentes y aprovechar sistemas de archivos para tareas complejas.
|
||||
|
||||
### 📊 **Técnicas Avanzadas de RAG**
|
||||
- Soporta más de 100 LLMs
|
||||
- Soporta más de 6000 modelos de embeddings
|
||||
- Soporta todos los principales rerankers (Pinecone, Cohere, Flashrank, etc.)
|
||||
- Utiliza índices jerárquicos (configuración RAG de 2 niveles)
|
||||
- Utiliza búsqueda híbrida (Semántica + Texto completo combinado con Reciprocal Rank Fusion)
|
||||
|
||||
### ℹ️ **Fuentes Externas**
|
||||
- Motores de búsqueda (Tavily, LinkUp)
|
||||
- SearxNG (instancias auto-hospedadas)
|
||||
- Google Drive
|
||||
- Slack
|
||||
- Microsoft Teams
|
||||
- Linear
|
||||
- Jira
|
||||
- ClickUp
|
||||
- Confluence
|
||||
- BookStack
|
||||
- Notion
|
||||
- Gmail
|
||||
- Videos de YouTube
|
||||
- GitHub
|
||||
- Discord
|
||||
- Airtable
|
||||
- Google Calendar
|
||||
- Luma
|
||||
- Circleback
|
||||
- Elasticsearch
|
||||
- Obsidian
|
||||
- y más por venir.....
|
||||
|
||||
## 📄 **Extensiones de Archivo Soportadas**
|
||||
|
||||
| Servicio ETL | Formatos | Notas |
|
||||
|--------------|----------|-------|
|
||||
| **LlamaCloud** | 50+ formatos | Documentos, presentaciones, hojas de cálculo, imágenes |
|
||||
| **Unstructured** | 34+ formatos | Formatos principales + soporte de email |
|
||||
| **Docling** | Formatos principales | Procesamiento local, no requiere clave API |
|
||||
|
||||
**Audio/Video** (vía servicio STT): `.mp3`, `.wav`, `.mp4`, `.webm`, etc.
|
||||
|
||||
### 🔖 Extensión Multi-Navegador
|
||||
- La extensión de SurfSense se puede usar para guardar cualquier página web que desees.
|
||||
- Su principal uso es guardar páginas web protegidas por autenticación.
|
||||
|
||||
|
||||
|
||||
## SOLICITUDES DE FUNCIONES Y FUTURO
|
||||
|
||||
|
||||
**SurfSense está en desarrollo activo.** Aunque aún no está listo para producción, puedes ayudarnos a acelerar el proceso.
|
||||
|
||||
¡Únete al [Discord de SurfSense](https://discord.gg/ejRNvftDp9) y ayuda a dar forma al futuro de SurfSense!
|
||||
|
||||
## 🚀 Hoja de Ruta
|
||||
|
||||
¡Mantente al día con nuestro progreso de desarrollo y próximas funcionalidades!
|
||||
Consulta nuestra hoja de ruta pública y contribuye con tus ideas o comentarios:
|
||||
|
||||
**📋 Discusión de la Hoja de Ruta:** [SurfSense 2025-2026 Roadmap: Deep Agents, Real-Time Collaboration & MCP Servers](https://github.com/MODSetter/SurfSense/discussions/565)
|
||||
|
||||
**📊 Tablero Kanban:** [SurfSense Project Board](https://github.com/users/MODSetter/projects/3)
|
||||
|
||||
|
||||
## ¿Cómo empezar?
|
||||
|
||||
### Inicio Rápido con Docker 🐳
|
||||
|
||||
> [!TIP]
|
||||
> Para despliegues en producción, usa la configuración completa de [Docker Compose](https://www.surfsense.com/docs/docker-installation) que ofrece más control y escalabilidad.
|
||||
|
||||
**Linux/macOS:**
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 \
|
||||
-v surfsense-data:/data \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
**Windows (PowerShell):**
|
||||
|
||||
```powershell
|
||||
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 `
|
||||
-v surfsense-data:/data `
|
||||
--name surfsense `
|
||||
--restart unless-stopped `
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
**Con Configuración Personalizada:**
|
||||
|
||||
Puedes pasar cualquier variable de entorno usando flags `-e`:
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 \
|
||||
-v surfsense-data:/data \
|
||||
-e EMBEDDING_MODEL=openai://text-embedding-ada-002 \
|
||||
-e OPENAI_API_KEY=your_openai_api_key \
|
||||
-e AUTH_TYPE=GOOGLE \
|
||||
-e GOOGLE_OAUTH_CLIENT_ID=your_google_client_id \
|
||||
-e GOOGLE_OAUTH_CLIENT_SECRET=your_google_client_secret \
|
||||
-e ETL_SERVICE=LLAMACLOUD \
|
||||
-e LLAMA_CLOUD_API_KEY=your_llama_cloud_key \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> - Si despliegas detrás de un proxy inverso con HTTPS, agrega `-e BACKEND_URL=https://api.yourdomain.com`
|
||||
|
||||
Después de iniciar, accede a SurfSense en:
|
||||
- **Frontend**: [http://localhost:3000](http://localhost:3000)
|
||||
- **API Backend**: [http://localhost:8000](http://localhost:8000)
|
||||
- **Documentación API**: [http://localhost:8000/docs](http://localhost:8000/docs)
|
||||
- **Electric-SQL**: [http://localhost:5133](http://localhost:5133)
|
||||
|
||||
**Comandos Útiles:**
|
||||
|
||||
```bash
|
||||
docker logs -f surfsense # Ver logs
|
||||
docker stop surfsense # Detener
|
||||
docker start surfsense # Iniciar
|
||||
docker rm surfsense # Eliminar (datos preservados en el volumen)
|
||||
```
|
||||
|
||||
### Opciones de Instalación
|
||||
|
||||
SurfSense ofrece múltiples opciones para empezar:
|
||||
|
||||
1. **[SurfSense Cloud](https://www.surfsense.com/login)** - La forma más fácil de probar SurfSense sin ninguna configuración.
|
||||
- No requiere instalación
|
||||
- Acceso instantáneo a todas las funcionalidades
|
||||
- Perfecto para empezar rápidamente
|
||||
|
||||
2. **Inicio Rápido Docker (Arriba)** - Un solo comando para tener SurfSense funcionando localmente.
|
||||
- Imagen todo-en-uno con PostgreSQL, Redis y todos los servicios incluidos
|
||||
- Perfecto para evaluación, desarrollo y despliegues pequeños
|
||||
- Datos persistidos vía volumen Docker
|
||||
|
||||
3. **[Docker Compose (Producción)](https://www.surfsense.com/docs/docker-installation)** - Despliegue de stack completo con servicios separados.
|
||||
- Incluye pgAdmin para gestión de base de datos a través de interfaz web
|
||||
- Soporta personalización de variables de entorno vía archivo `.env`
|
||||
- Opciones de despliegue flexibles (stack completo o solo servicios principales)
|
||||
- Mejor para producción con escalado independiente de servicios
|
||||
|
||||
4. **[Instalación Manual](https://www.surfsense.com/docs/manual-installation)** - Para usuarios que prefieren más control sobre su configuración o necesitan personalizar su despliegue.
|
||||
|
||||
Las guías de Docker e instalación manual incluyen instrucciones detalladas específicas para Windows, macOS y Linux.
|
||||
|
||||
Antes de la instalación auto-hospedada, asegúrate de completar los [pasos de configuración previos](https://www.surfsense.com/docs/) incluyendo:
|
||||
- Configuración de autenticación (opcional - por defecto usa autenticación LOCAL)
|
||||
- **Servicio ETL de Procesamiento de Archivos** (opcional - por defecto usa Docling):
|
||||
- Docling (por defecto, procesamiento local, no requiere clave API, soporta PDF, documentos Office, imágenes, HTML, CSV)
|
||||
- Clave API de Unstructured.io (soporta 34+ formatos)
|
||||
- Clave API de LlamaIndex (análisis mejorado, soporta 50+ formatos)
|
||||
- Otras claves API según sea necesario para tu caso de uso
|
||||
|
||||
|
||||
## Contribuir
|
||||
|
||||
¡Las contribuciones son muy bienvenidas! Una contribución puede ser tan pequeña como una ⭐ o incluso encontrar y crear issues.
|
||||
El ajuste fino del Backend siempre es deseado.
|
||||
|
||||
Para guías detalladas de contribución, consulta nuestro archivo [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||
|
||||
## Historial de Stars
|
||||
|
||||
<a href="https://www.star-history.com/#MODSetter/SurfSense&Date">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=MODSetter/SurfSense&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="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>
|
||||
</a>
|
||||
|
||||
---
|
||||
---
|
||||
<p align="center">
|
||||
<img
|
||||
src="https://github.com/user-attachments/assets/329c9bc2-6005-4aed-a629-700b5ae296b4"
|
||||
alt="Catalyst Project"
|
||||
width="200"
|
||||
/>
|
||||
</p>
|
||||
|
||||
---
|
||||
---
|
||||
264
README.hi.md
Normal file
264
README.hi.md
Normal file
|
|
@ -0,0 +1,264 @@
|
|||
<a href="https://www.surfsense.com/"><img width="1584" height="396" alt="readme_banner" src="https://github.com/user-attachments/assets/9361ef58-1753-4b6e-b275-5020d8847261" /></a>
|
||||
|
||||
|
||||
|
||||
<div align="center">
|
||||
<a href="https://discord.gg/ejRNvftDp9">
|
||||
<img src="https://img.shields.io/discord/1359368468260192417" alt="Discord">
|
||||
</a>
|
||||
<a href="https://www.reddit.com/r/SurfSense/">
|
||||
<img src="https://img.shields.io/reddit/subreddit-subscribers/SurfSense?style=social" alt="Reddit">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[English](README.md) | [Español](README.es.md) | [Português](README.pt-BR.md) | [हिन्दी](README.hi.md) | [简体中文](README.zh-CN.md)
|
||||
|
||||
</div>
|
||||
|
||||
# SurfSense
|
||||
किसी भी LLM को अपने आंतरिक ज्ञान स्रोतों से जोड़ें और अपनी टीम के साथ रीयल-टाइम में चैट करें। NotebookLM, Perplexity और Glean का ओपन सोर्स विकल्प।
|
||||
|
||||
SurfSense एक अत्यधिक अनुकूलन योग्य AI शोध एजेंट है, जो बाहरी स्रोतों से जुड़ा है जैसे सर्च इंजन (SearxNG, Tavily, LinkUp), Google Drive, Slack, Microsoft Teams, Linear, Jira, ClickUp, Confluence, BookStack, Gmail, Notion, YouTube, GitHub, Discord, Airtable, Google Calendar, Luma, Circleback, Elasticsearch, Obsidian और भी बहुत कुछ आने वाला है।
|
||||
|
||||
<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>
|
||||
</div>
|
||||
|
||||
|
||||
# वीडियो
|
||||
|
||||
https://github.com/user-attachments/assets/cc0c84d3-1f2f-4f7a-b519-2ecce22310b1
|
||||
|
||||
|
||||
## पॉडकास्ट नमूना
|
||||
|
||||
https://github.com/user-attachments/assets/a0a16566-6967-4374-ac51-9b3e07fbecd7
|
||||
|
||||
|
||||
|
||||
|
||||
## प्रमुख विशेषताएं
|
||||
|
||||
### 💡 **विचार**:
|
||||
- NotebookLM, Perplexity और Glean का ओपन सोर्स विकल्प। किसी भी LLM को अपने आंतरिक ज्ञान स्रोतों से जोड़ें और अपनी टीम के साथ रीयल-टाइम में सहयोग करें।
|
||||
### 📁 **कई फ़ाइल फ़ॉर्मेट अपलोड सपोर्ट**
|
||||
- अपनी व्यक्तिगत फ़ाइलों *(दस्तावेज़, चित्र, वीडियो और **50+ फ़ाइल एक्सटेंशन** का समर्थन)* से सामग्री को अपने व्यक्तिगत ज्ञान आधार में सहेजें।
|
||||
### 🔍 **शक्तिशाली खोज**
|
||||
- अपनी सहेजी गई सामग्री में कुछ भी तुरंत खोजें या शोध करें।
|
||||
### 💬 **अपनी सहेजी गई सामग्री के साथ चैट करें**
|
||||
- प्राकृतिक भाषा में बातचीत करें और उद्धृत उत्तर प्राप्त करें।
|
||||
### 📄 **उद्धृत उत्तर**
|
||||
- Perplexity की तरह उद्धृत उत्तर प्राप्त करें।
|
||||
### 🧩 **सार्वभौमिक अनुकूलता**
|
||||
- OpenAI स्पेक और LiteLLM के माध्यम से लगभग किसी भी इंफ्रेंस प्रदाता को कनेक्ट करें।
|
||||
### 🔔 **गोपनीयता और स्थानीय LLM सपोर्ट**
|
||||
- vLLM और Ollama जैसे स्थानीय LLMs के साथ बेहतरीन काम करता है।
|
||||
### 🏠 **सेल्फ-होस्ट करने योग्य**
|
||||
- ओपन सोर्स और स्थानीय रूप से तैनात करना आसान।
|
||||
### 👥 **RBAC के साथ टीम सहयोग**
|
||||
- सर्च स्पेस के लिए भूमिका-आधारित एक्सेस नियंत्रण
|
||||
- अनुकूलन योग्य भूमिकाओं (मालिक, एडमिन, संपादक, दर्शक) के साथ टीम सदस्यों को आमंत्रित करें
|
||||
- दस्तावेज़ों, चैट, कनेक्टर और सेटिंग्स के लिए विस्तृत अनुमतियां
|
||||
- अपने संगठन के भीतर सुरक्षित रूप से ज्ञान आधार साझा करें
|
||||
- टीम चैट रीयल-टाइम में अपडेट होते हैं और कमेंट थ्रेड में "चैट के बारे में चैट" करें
|
||||
### 🎙️ पॉडकास्ट
|
||||
- अत्यंत तेज़ पॉडकास्ट जनरेशन एजेंट। (20 सेकंड से कम में 3 मिनट का पॉडकास्ट बनाता है।)
|
||||
- अपनी चैट बातचीत को आकर्षक ऑडियो सामग्री में बदलें
|
||||
- स्थानीय TTS प्रदाताओं का समर्थन (Kokoro TTS)
|
||||
- कई TTS प्रदाताओं का समर्थन (OpenAI, Azure, Google Vertex AI)
|
||||
|
||||
### 🤖 **डीप एजेंट आर्किटेक्चर**
|
||||
- [LangChain Deep Agents](https://docs.langchain.com/oss/python/deepagents/overview) द्वारा संचालित - ऐसे एजेंट जो योजना बना सकते हैं, सब-एजेंट का उपयोग कर सकते हैं, और जटिल कार्यों के लिए फ़ाइल सिस्टम का लाभ उठा सकते हैं।
|
||||
|
||||
### 📊 **उन्नत RAG तकनीकें**
|
||||
- 100+ LLMs का समर्थन
|
||||
- 6000+ एम्बेडिंग मॉडल का समर्थन
|
||||
- सभी प्रमुख रीरैंकर्स का समर्थन (Pinecone, Cohere, Flashrank आदि)
|
||||
- हायरार्किकल इंडाइसेस का उपयोग (2 स्तरीय RAG सेटअप)
|
||||
- हाइब्रिड सर्च का उपयोग (सिमैंटिक + फुल टेक्स्ट सर्च, Reciprocal Rank Fusion के साथ)
|
||||
|
||||
### ℹ️ **बाहरी स्रोत**
|
||||
- सर्च इंजन (Tavily, LinkUp)
|
||||
- SearxNG (सेल्फ-होस्टेड इंस्टेंस)
|
||||
- Google Drive
|
||||
- Slack
|
||||
- Microsoft Teams
|
||||
- Linear
|
||||
- Jira
|
||||
- ClickUp
|
||||
- Confluence
|
||||
- BookStack
|
||||
- Notion
|
||||
- Gmail
|
||||
- YouTube वीडियो
|
||||
- GitHub
|
||||
- Discord
|
||||
- Airtable
|
||||
- Google Calendar
|
||||
- Luma
|
||||
- Circleback
|
||||
- Elasticsearch
|
||||
- Obsidian
|
||||
- और भी बहुत कुछ आने वाला है.....
|
||||
|
||||
## 📄 **समर्थित फ़ाइल एक्सटेंशन**
|
||||
|
||||
| ETL सेवा | फ़ॉर्मेट | नोट्स |
|
||||
|-----------|----------|-------|
|
||||
| **LlamaCloud** | 50+ फ़ॉर्मेट | दस्तावेज़, प्रस्तुतियां, स्प्रेडशीट, चित्र |
|
||||
| **Unstructured** | 34+ फ़ॉर्मेट | मुख्य फ़ॉर्मेट + ईमेल समर्थन |
|
||||
| **Docling** | मुख्य फ़ॉर्मेट | स्थानीय प्रोसेसिंग, API कुंजी की आवश्यकता नहीं |
|
||||
|
||||
**ऑडियो/वीडियो** (STT सेवा के माध्यम से): `.mp3`, `.wav`, `.mp4`, `.webm`, आदि।
|
||||
|
||||
### 🔖 क्रॉस-ब्राउज़र एक्सटेंशन
|
||||
- SurfSense एक्सटेंशन का उपयोग किसी भी वेबपेज को सहेजने के लिए किया जा सकता है।
|
||||
- इसका मुख्य उपयोग प्रमाणीकरण द्वारा संरक्षित वेबपेजों को सहेजना है।
|
||||
|
||||
|
||||
|
||||
## फ़ीचर अनुरोध और भविष्य
|
||||
|
||||
|
||||
**SurfSense सक्रिय रूप से विकसित किया जा रहा है।** हालांकि यह अभी प्रोडक्शन-रेडी नहीं है, आप प्रक्रिया को तेज़ करने में हमारी मदद कर सकते हैं।
|
||||
|
||||
[SurfSense Discord](https://discord.gg/ejRNvftDp9) में शामिल हों और SurfSense के भविष्य को आकार देने में मदद करें!
|
||||
|
||||
## 🚀 रोडमैप
|
||||
|
||||
हमारे विकास की प्रगति और आने वाली सुविधाओं से अपडेट रहें!
|
||||
हमारा सार्वजनिक रोडमैप देखें और अपने विचार या फ़ीडबैक दें:
|
||||
|
||||
**📋 रोडमैप चर्चा:** [SurfSense 2025-2026 Roadmap: Deep Agents, Real-Time Collaboration & MCP Servers](https://github.com/MODSetter/SurfSense/discussions/565)
|
||||
|
||||
**📊 कानबन बोर्ड:** [SurfSense Project Board](https://github.com/users/MODSetter/projects/3)
|
||||
|
||||
|
||||
## कैसे शुरू करें?
|
||||
|
||||
### Docker के साथ त्वरित शुरुआत 🐳
|
||||
|
||||
> [!TIP]
|
||||
> प्रोडक्शन डिप्लॉयमेंट के लिए, पूर्ण [Docker Compose सेटअप](https://www.surfsense.com/docs/docker-installation) का उपयोग करें जो अधिक नियंत्रण और स्केलेबिलिटी प्रदान करता है।
|
||||
|
||||
**Linux/macOS:**
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 \
|
||||
-v surfsense-data:/data \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
**Windows (PowerShell):**
|
||||
|
||||
```powershell
|
||||
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 `
|
||||
-v surfsense-data:/data `
|
||||
--name surfsense `
|
||||
--restart unless-stopped `
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
**कस्टम कॉन्फ़िगरेशन के साथ:**
|
||||
|
||||
आप `-e` फ़्लैग का उपयोग करके कोई भी एन्वायरनमेंट वेरिएबल पास कर सकते हैं:
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 \
|
||||
-v surfsense-data:/data \
|
||||
-e EMBEDDING_MODEL=openai://text-embedding-ada-002 \
|
||||
-e OPENAI_API_KEY=your_openai_api_key \
|
||||
-e AUTH_TYPE=GOOGLE \
|
||||
-e GOOGLE_OAUTH_CLIENT_ID=your_google_client_id \
|
||||
-e GOOGLE_OAUTH_CLIENT_SECRET=your_google_client_secret \
|
||||
-e ETL_SERVICE=LLAMACLOUD \
|
||||
-e LLAMA_CLOUD_API_KEY=your_llama_cloud_key \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> - यदि HTTPS के साथ रिवर्स प्रॉक्सी के पीछे डिप्लॉय कर रहे हैं, तो `-e BACKEND_URL=https://api.yourdomain.com` जोड़ें
|
||||
|
||||
शुरू करने के बाद, SurfSense तक पहुंचें:
|
||||
- **फ्रंटएंड**: [http://localhost:3000](http://localhost:3000)
|
||||
- **बैकएंड API**: [http://localhost:8000](http://localhost:8000)
|
||||
- **API डॉक्स**: [http://localhost:8000/docs](http://localhost:8000/docs)
|
||||
- **Electric-SQL**: [http://localhost:5133](http://localhost:5133)
|
||||
|
||||
**उपयोगी कमांड:**
|
||||
|
||||
```bash
|
||||
docker logs -f surfsense # लॉग देखें
|
||||
docker stop surfsense # रोकें
|
||||
docker start surfsense # शुरू करें
|
||||
docker rm surfsense # हटाएं (डेटा वॉल्यूम में सुरक्षित रहता है)
|
||||
```
|
||||
|
||||
### इंस्टॉलेशन विकल्प
|
||||
|
||||
SurfSense शुरू करने के लिए कई विकल्प प्रदान करता है:
|
||||
|
||||
1. **[SurfSense Cloud](https://www.surfsense.com/login)** - बिना किसी सेटअप के SurfSense आज़माने का सबसे आसान तरीका।
|
||||
- इंस्टॉलेशन की आवश्यकता नहीं
|
||||
- सभी सुविधाओं तक तत्काल पहुंच
|
||||
- जल्दी शुरू करने के लिए बिल्कुल सही
|
||||
|
||||
2. **Docker त्वरित शुरुआत (ऊपर)** - एक ही कमांड से SurfSense को स्थानीय रूप से चलाएं।
|
||||
- PostgreSQL, Redis और सभी सेवाओं के साथ ऑल-इन-वन इमेज
|
||||
- मूल्यांकन, विकास और छोटे डिप्लॉयमेंट के लिए बिल्कुल सही
|
||||
- Docker वॉल्यूम के माध्यम से डेटा पर्सिस्ट
|
||||
|
||||
3. **[Docker Compose (प्रोडक्शन)](https://www.surfsense.com/docs/docker-installation)** - अलग-अलग सेवाओं के साथ पूर्ण स्टैक डिप्लॉयमेंट।
|
||||
- वेब UI के माध्यम से डेटाबेस प्रबंधन के लिए pgAdmin शामिल
|
||||
- `.env` फ़ाइल के माध्यम से एन्वायरनमेंट वेरिएबल कस्टमाइज़ेशन का समर्थन
|
||||
- लचीले डिप्लॉयमेंट विकल्प (पूर्ण स्टैक या केवल मुख्य सेवाएं)
|
||||
- सेवाओं के स्वतंत्र स्केलिंग के साथ प्रोडक्शन के लिए बेहतर
|
||||
|
||||
4. **[मैनुअल इंस्टॉलेशन](https://www.surfsense.com/docs/manual-installation)** - उन उपयोगकर्ताओं के लिए जो अपने सेटअप पर अधिक नियंत्रण चाहते हैं या अपने डिप्लॉयमेंट को कस्टमाइज़ करना चाहते हैं।
|
||||
|
||||
Docker और मैनुअल इंस्टॉलेशन गाइड में Windows, macOS और Linux के लिए विस्तृत OS-विशिष्ट निर्देश शामिल हैं।
|
||||
|
||||
सेल्फ-होस्टिंग इंस्टॉलेशन से पहले, [पूर्वापेक्षा सेटअप चरण](https://www.surfsense.com/docs/) पूरा करना सुनिश्चित करें, जिसमें शामिल हैं:
|
||||
- प्रमाणीकरण सेटअप (वैकल्पिक - डिफ़ॉल्ट LOCAL प्रमाणीकरण)
|
||||
- **फ़ाइल प्रोसेसिंग ETL सेवा** (वैकल्पिक - डिफ़ॉल्ट Docling):
|
||||
- Docling (डिफ़ॉल्ट, स्थानीय प्रोसेसिंग, API कुंजी की आवश्यकता नहीं, PDF, Office दस्तावेज़, चित्र, HTML, CSV का समर्थन)
|
||||
- Unstructured.io API कुंजी (34+ फ़ॉर्मेट का समर्थन)
|
||||
- LlamaIndex API कुंजी (उन्नत पार्सिंग, 50+ फ़ॉर्मेट का समर्थन)
|
||||
- आपके उपयोग के अनुसार अन्य API कुंजियां
|
||||
|
||||
|
||||
## योगदान करें
|
||||
|
||||
योगदान का बहुत स्वागत है! योगदान एक ⭐ जितना छोटा हो सकता है या issues खोजना और बनाना भी।
|
||||
बैकएंड की फ़ाइन-ट्यूनिंग हमेशा वांछित है।
|
||||
|
||||
विस्तृत योगदान दिशानिर्देशों के लिए, कृपया हमारी [CONTRIBUTING.md](CONTRIBUTING.md) फ़ाइल देखें।
|
||||
|
||||
## Star इतिहास
|
||||
|
||||
<a href="https://www.star-history.com/#MODSetter/SurfSense&Date">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=MODSetter/SurfSense&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="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>
|
||||
</a>
|
||||
|
||||
---
|
||||
---
|
||||
<p align="center">
|
||||
<img
|
||||
src="https://github.com/user-attachments/assets/329c9bc2-6005-4aed-a629-700b5ae296b4"
|
||||
alt="Catalyst Project"
|
||||
width="200"
|
||||
/>
|
||||
</p>
|
||||
|
||||
---
|
||||
---
|
||||
94
README.md
94
README.md
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
<div align="center">
|
||||
|
||||
[English](README.md) | [简体中文](README.zh-CN.md)
|
||||
[English](README.md) | [Español](README.es.md) | [Português](README.pt-BR.md) | [हिन्दी](README.hi.md) | [简体中文](README.zh-CN.md)
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -233,103 +233,11 @@ Before self-hosting installation, make sure to complete the [prerequisite setup
|
|||
- Other API keys as needed for your use case
|
||||
|
||||
|
||||
|
||||
## Tech Stack
|
||||
|
||||
|
||||
### **BackEnd**
|
||||
|
||||
- **LiteLLM**: Universal LLM integration supporting 100+ models (OpenAI, Anthropic, Ollama, etc.)
|
||||
|
||||
- **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
|
||||
|
||||
- **Alembic**: A database migrations tool for SQLAlchemy.
|
||||
|
||||
- **FastAPI Users**: Authentication and user management with JWT and OAuth support
|
||||
|
||||
- **Deep Agents**: Custom agent framework built on LangGraph for reasoning and acting AI agents with configurable tools
|
||||
|
||||
- **LangGraph**: Framework for developing stateful AI agents with conversation persistence
|
||||
|
||||
- **LangChain**: Framework for developing AI-powered applications.
|
||||
|
||||
- **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)
|
||||
|
||||
- **Vector Embeddings**: Document and text embeddings for semantic search
|
||||
|
||||
- **pgvector**: PostgreSQL extension for efficient vector similarity operations
|
||||
|
||||
- **Redis**: In-memory data structure store used as message broker and result backend for Celery
|
||||
|
||||
- **Celery**: Distributed task queue for handling asynchronous background jobs (document processing, podcast generation, etc.)
|
||||
|
||||
- **Flower**: Real-time monitoring and administration tool for Celery task queues
|
||||
|
||||
- **Chonkie**: Advanced document chunking and embedding library
|
||||
|
||||
|
||||
---
|
||||
### **FrontEnd**
|
||||
|
||||
- **Next.js**: React framework featuring App Router, server components, automatic code-splitting, and optimized rendering.
|
||||
|
||||
- **React**: JavaScript library for building user interfaces.
|
||||
|
||||
- **TypeScript**: Static type-checking for JavaScript, enhancing code quality and developer experience.
|
||||
|
||||
- **Vercel AI SDK Kit UI Stream Protocol**: To create scalable chat UI.
|
||||
|
||||
- **Tailwind CSS**: Utility-first CSS framework for building custom UI designs.
|
||||
|
||||
- **Shadcn**: Headless components library.
|
||||
|
||||
- **Motion (Framer Motion)**: Animation library for React.
|
||||
|
||||
|
||||
|
||||
### **DevOps**
|
||||
|
||||
- **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
|
||||
|
||||
|
||||
### **Extension**
|
||||
Manifest v3 on Plasmo
|
||||
|
||||
|
||||
## Contribute
|
||||
|
||||
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.
|
||||
|
||||
### Adding New Agent Tools
|
||||
|
||||
Want to add a new tool to the SurfSense agent? It's easy:
|
||||
|
||||
1. Create your tool file in `surfsense_backend/app/agents/new_chat/tools/my_tool.py`
|
||||
2. Register it in `registry.py`:
|
||||
|
||||
```python
|
||||
ToolDefinition(
|
||||
name="my_tool",
|
||||
description="What my tool does",
|
||||
factory=lambda deps: create_my_tool(
|
||||
search_space_id=deps["search_space_id"],
|
||||
db_session=deps["db_session"],
|
||||
),
|
||||
requires=["search_space_id", "db_session"],
|
||||
),
|
||||
```
|
||||
|
||||
For detailed contribution guidelines, please see our [CONTRIBUTING.md](CONTRIBUTING.md) file.
|
||||
|
||||
## Star History
|
||||
|
|
|
|||
264
README.pt-BR.md
Normal file
264
README.pt-BR.md
Normal file
|
|
@ -0,0 +1,264 @@
|
|||
<a href="https://www.surfsense.com/"><img width="1584" height="396" alt="readme_banner" src="https://github.com/user-attachments/assets/9361ef58-1753-4b6e-b275-5020d8847261" /></a>
|
||||
|
||||
|
||||
|
||||
<div align="center">
|
||||
<a href="https://discord.gg/ejRNvftDp9">
|
||||
<img src="https://img.shields.io/discord/1359368468260192417" alt="Discord">
|
||||
</a>
|
||||
<a href="https://www.reddit.com/r/SurfSense/">
|
||||
<img src="https://img.shields.io/reddit/subreddit-subscribers/SurfSense?style=social" alt="Reddit">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
|
||||
[English](README.md) | [Español](README.es.md) | [Português](README.pt-BR.md) | [हिन्दी](README.hi.md) | [简体中文](README.zh-CN.md)
|
||||
|
||||
</div>
|
||||
|
||||
# SurfSense
|
||||
Conecte qualquer LLM às suas fontes de conhecimento internas e converse com ele em tempo real junto com sua equipe. Alternativa de código aberto ao NotebookLM, Perplexity e Glean.
|
||||
|
||||
SurfSense é um agente de pesquisa de IA altamente personalizável, conectado a fontes externas como mecanismos de busca (SearxNG, Tavily, LinkUp), Google Drive, Slack, Microsoft Teams, Linear, Jira, ClickUp, Confluence, BookStack, Gmail, Notion, YouTube, GitHub, Discord, Airtable, Google Calendar, Luma, Circleback, Elasticsearch, Obsidian e mais por vir.
|
||||
|
||||
<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>
|
||||
</div>
|
||||
|
||||
|
||||
# Vídeo
|
||||
|
||||
https://github.com/user-attachments/assets/cc0c84d3-1f2f-4f7a-b519-2ecce22310b1
|
||||
|
||||
|
||||
## Exemplo de Podcast
|
||||
|
||||
https://github.com/user-attachments/assets/a0a16566-6967-4374-ac51-9b3e07fbecd7
|
||||
|
||||
|
||||
|
||||
|
||||
## Funcionalidades Principais
|
||||
|
||||
### 💡 **Ideia**:
|
||||
- Alternativa de código aberto ao NotebookLM, Perplexity e Glean. Conecte qualquer LLM às suas fontes de conhecimento internas e colabore com sua equipe em tempo real.
|
||||
### 📁 **Suporte a Múltiplos Formatos de Arquivo**
|
||||
- Salve conteúdo dos seus arquivos pessoais *(Documentos, imagens, vídeos e suporta **mais de 50 extensões de arquivo**)* na sua própria base de conhecimento pessoal.
|
||||
### 🔍 **Pesquisa Poderosa**
|
||||
- Pesquise ou encontre rapidamente qualquer coisa no seu conteúdo salvo.
|
||||
### 💬 **Converse com seu Conteúdo Salvo**
|
||||
- Interaja em linguagem natural e obtenha respostas com citações.
|
||||
### 📄 **Respostas com Citações**
|
||||
- Obtenha respostas com citações como no Perplexity.
|
||||
### 🧩 **Compatibilidade Universal**
|
||||
- Conecte virtualmente qualquer provedor de inferência via especificação OpenAI e LiteLLM.
|
||||
### 🔔 **Privacidade e Suporte a LLM Local**
|
||||
- Funciona perfeitamente com LLMs locais como vLLM e Ollama.
|
||||
### 🏠 **Auto-Hospedável**
|
||||
- Código aberto e fácil de implantar localmente.
|
||||
### 👥 **Colaboração em Equipe com RBAC**
|
||||
- Controle de acesso baseado em funções para Espaços de Pesquisa
|
||||
- Convide membros da equipe com funções personalizáveis (Proprietário, Admin, Editor, Visualizador)
|
||||
- Permissões granulares para documentos, chats, conectores e configurações
|
||||
- Compartilhe bases de conhecimento com segurança dentro da sua organização
|
||||
- Chats de equipe atualizam em tempo real e "Converse sobre o chat" em threads de comentários
|
||||
### 🎙️ Podcasts
|
||||
- Agente de geração de podcasts ultrarrápido. (Cria um podcast de 3 minutos em menos de 20 segundos.)
|
||||
- Converta suas conversas de chat em conteúdo de áudio envolvente
|
||||
- Suporte para provedores TTS locais (Kokoro TTS)
|
||||
- Suporte para múltiplos provedores TTS (OpenAI, Azure, Google Vertex AI)
|
||||
|
||||
### 🤖 **Arquitetura de Agentes Profundos**
|
||||
- Alimentado por [LangChain Deep Agents](https://docs.langchain.com/oss/python/deepagents/overview) - agentes que podem planejar, usar subagentes e aproveitar sistemas de arquivos para tarefas complexas.
|
||||
|
||||
### 📊 **Técnicas Avançadas de RAG**
|
||||
- Suporta mais de 100 LLMs
|
||||
- Suporta mais de 6000 modelos de embeddings
|
||||
- Suporta todos os principais rerankers (Pinecone, Cohere, Flashrank, etc.)
|
||||
- Utiliza índices hierárquicos (configuração RAG de 2 níveis)
|
||||
- Utiliza busca híbrida (Semântica + Texto completo combinado com Reciprocal Rank Fusion)
|
||||
|
||||
### ℹ️ **Fontes Externas**
|
||||
- Mecanismos de busca (Tavily, LinkUp)
|
||||
- SearxNG (instâncias auto-hospedadas)
|
||||
- Google Drive
|
||||
- Slack
|
||||
- Microsoft Teams
|
||||
- Linear
|
||||
- Jira
|
||||
- ClickUp
|
||||
- Confluence
|
||||
- BookStack
|
||||
- Notion
|
||||
- Gmail
|
||||
- Vídeos do YouTube
|
||||
- GitHub
|
||||
- Discord
|
||||
- Airtable
|
||||
- Google Calendar
|
||||
- Luma
|
||||
- Circleback
|
||||
- Elasticsearch
|
||||
- Obsidian
|
||||
- e mais por vir.....
|
||||
|
||||
## 📄 **Extensões de Arquivo Suportadas**
|
||||
|
||||
| Serviço ETL | Formatos | Notas |
|
||||
|-------------|----------|-------|
|
||||
| **LlamaCloud** | 50+ formatos | Documentos, apresentações, planilhas, imagens |
|
||||
| **Unstructured** | 34+ formatos | Formatos principais + suporte a e-mail |
|
||||
| **Docling** | Formatos principais | Processamento local, sem necessidade de chave API |
|
||||
|
||||
**Áudio/Vídeo** (via serviço STT): `.mp3`, `.wav`, `.mp4`, `.webm`, etc.
|
||||
|
||||
### 🔖 Extensão Multi-Navegador
|
||||
- A extensão do SurfSense pode ser usada para salvar qualquer página web que você desejar.
|
||||
- Seu principal uso é salvar páginas web protegidas por autenticação.
|
||||
|
||||
|
||||
|
||||
## SOLICITAÇÕES DE FUNCIONALIDADES E FUTURO
|
||||
|
||||
|
||||
**O SurfSense está em desenvolvimento ativo.** Embora ainda não esteja pronto para produção, você pode nos ajudar a acelerar o processo.
|
||||
|
||||
Junte-se ao [Discord do SurfSense](https://discord.gg/ejRNvftDp9) e ajude a moldar o futuro do SurfSense!
|
||||
|
||||
## 🚀 Roadmap
|
||||
|
||||
Fique atualizado com nosso progresso de desenvolvimento e próximas funcionalidades!
|
||||
Confira nosso roadmap público e contribua com suas ideias ou feedback:
|
||||
|
||||
**📋 Discussão do Roadmap:** [SurfSense 2025-2026 Roadmap: Deep Agents, Real-Time Collaboration & MCP Servers](https://github.com/MODSetter/SurfSense/discussions/565)
|
||||
|
||||
**📊 Quadro Kanban:** [SurfSense Project Board](https://github.com/users/MODSetter/projects/3)
|
||||
|
||||
|
||||
## Como começar?
|
||||
|
||||
### Início Rápido com Docker 🐳
|
||||
|
||||
> [!TIP]
|
||||
> Para implantações em produção, use a configuração completa do [Docker Compose](https://www.surfsense.com/docs/docker-installation) que oferece mais controle e escalabilidade.
|
||||
|
||||
**Linux/macOS:**
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 \
|
||||
-v surfsense-data:/data \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
**Windows (PowerShell):**
|
||||
|
||||
```powershell
|
||||
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 `
|
||||
-v surfsense-data:/data `
|
||||
--name surfsense `
|
||||
--restart unless-stopped `
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
**Com Configuração Personalizada:**
|
||||
|
||||
Você pode passar qualquer variável de ambiente usando flags `-e`:
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 -p 5133:5133 \
|
||||
-v surfsense-data:/data \
|
||||
-e EMBEDDING_MODEL=openai://text-embedding-ada-002 \
|
||||
-e OPENAI_API_KEY=your_openai_api_key \
|
||||
-e AUTH_TYPE=GOOGLE \
|
||||
-e GOOGLE_OAUTH_CLIENT_ID=your_google_client_id \
|
||||
-e GOOGLE_OAUTH_CLIENT_SECRET=your_google_client_secret \
|
||||
-e ETL_SERVICE=LLAMACLOUD \
|
||||
-e LLAMA_CLOUD_API_KEY=your_llama_cloud_key \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> - Se estiver implantando atrás de um proxy reverso com HTTPS, adicione `-e BACKEND_URL=https://api.yourdomain.com`
|
||||
|
||||
Após iniciar, acesse o SurfSense em:
|
||||
- **Frontend**: [http://localhost:3000](http://localhost:3000)
|
||||
- **API Backend**: [http://localhost:8000](http://localhost:8000)
|
||||
- **Documentação da API**: [http://localhost:8000/docs](http://localhost:8000/docs)
|
||||
- **Electric-SQL**: [http://localhost:5133](http://localhost:5133)
|
||||
|
||||
**Comandos Úteis:**
|
||||
|
||||
```bash
|
||||
docker logs -f surfsense # Ver logs
|
||||
docker stop surfsense # Parar
|
||||
docker start surfsense # Iniciar
|
||||
docker rm surfsense # Remover (dados preservados no volume)
|
||||
```
|
||||
|
||||
### Opções de Instalação
|
||||
|
||||
O SurfSense oferece múltiplas opções para começar:
|
||||
|
||||
1. **[SurfSense Cloud](https://www.surfsense.com/login)** - A forma mais fácil de experimentar o SurfSense sem nenhuma configuração.
|
||||
- Sem necessidade de instalação
|
||||
- Acesso instantâneo a todas as funcionalidades
|
||||
- Perfeito para começar rapidamente
|
||||
|
||||
2. **Início Rápido Docker (Acima)** - Um único comando para ter o SurfSense rodando localmente.
|
||||
- Imagem tudo-em-um com PostgreSQL, Redis e todos os serviços incluídos
|
||||
- Perfeito para avaliação, desenvolvimento e implantações pequenas
|
||||
- Dados persistidos via volume Docker
|
||||
|
||||
3. **[Docker Compose (Produção)](https://www.surfsense.com/docs/docker-installation)** - Implantação de stack completo com serviços separados.
|
||||
- Inclui pgAdmin para gerenciamento de banco de dados via interface web
|
||||
- Suporta personalização de variáveis de ambiente via arquivo `.env`
|
||||
- Opções de implantação flexíveis (stack completo ou apenas serviços principais)
|
||||
- Melhor para produção com escalamento independente de serviços
|
||||
|
||||
4. **[Instalação Manual](https://www.surfsense.com/docs/manual-installation)** - Para usuários que preferem mais controle sobre sua configuração ou precisam personalizar sua implantação.
|
||||
|
||||
Os guias de Docker e instalação manual incluem instruções detalhadas específicas para Windows, macOS e Linux.
|
||||
|
||||
Antes da instalação auto-hospedada, certifique-se de completar os [passos de configuração prévia](https://www.surfsense.com/docs/) incluindo:
|
||||
- Configuração de autenticação (opcional - padrão é autenticação LOCAL)
|
||||
- **Serviço ETL de Processamento de Arquivos** (opcional - padrão é Docling):
|
||||
- Docling (padrão, processamento local, sem necessidade de chave API, suporta PDF, documentos Office, imagens, HTML, CSV)
|
||||
- Chave API do Unstructured.io (suporta 34+ formatos)
|
||||
- Chave API do LlamaIndex (análise aprimorada, suporta 50+ formatos)
|
||||
- Outras chaves API conforme necessário para seu caso de uso
|
||||
|
||||
|
||||
## Contribuir
|
||||
|
||||
Contribuições são muito bem-vindas! Uma contribuição pode ser tão pequena quanto uma ⭐ ou até mesmo encontrar e criar issues.
|
||||
O ajuste fino do Backend é sempre desejado.
|
||||
|
||||
Para diretrizes detalhadas de contribuição, consulte nosso arquivo [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||
|
||||
## Histórico de Stars
|
||||
|
||||
<a href="https://www.star-history.com/#MODSetter/SurfSense&Date">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=MODSetter/SurfSense&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="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>
|
||||
</a>
|
||||
|
||||
---
|
||||
---
|
||||
<p align="center">
|
||||
<img
|
||||
src="https://github.com/user-attachments/assets/329c9bc2-6005-4aed-a629-700b5ae296b4"
|
||||
alt="Catalyst Project"
|
||||
width="200"
|
||||
/>
|
||||
</p>
|
||||
|
||||
---
|
||||
---
|
||||
120
README.zh-CN.md
120
README.zh-CN.md
|
|
@ -1,5 +1,5 @@
|
|||
<a href="https://www.surfsense.com/"><img width="1584" height="396" alt="readme_banner" src="https://github.com/user-attachments/assets/9361ef58-1753-4b6e-b275-5020d8847261" /></a>
|
||||
|
||||

|
||||
|
||||
|
||||
<div align="center">
|
||||
|
|
@ -13,12 +13,11 @@
|
|||
|
||||
<div align="center">
|
||||
|
||||
[English](README.md) | [简体中文](README.zh-CN.md)
|
||||
[English](README.md) | [Español](README.es.md) | [Português](README.pt-BR.md) | [हिन्दी](README.hi.md) | [简体中文](README.zh-CN.md)
|
||||
|
||||
</div>
|
||||
|
||||
# SurfSense
|
||||
|
||||
将任何 LLM 连接到您的内部知识源,并与团队成员实时聊天。NotebookLM、Perplexity 和 Glean 的开源替代方案。
|
||||
|
||||
SurfSense 是一个高度可定制的 AI 研究助手,可以连接外部数据源,如搜索引擎(SearxNG、Tavily、LinkUp)、Google Drive、Slack、Microsoft Teams、Linear、Jira、ClickUp、Confluence、BookStack、Gmail、Notion、YouTube、GitHub、Discord、Airtable、Google Calendar、Luma、Circleback、Elasticsearch、Obsidian 等,未来还会支持更多。
|
||||
|
|
@ -30,7 +29,7 @@ SurfSense 是一个高度可定制的 AI 研究助手,可以连接外部数据
|
|||
|
||||
# 视频演示
|
||||
|
||||
https://github.com/user-attachments/assets/42a29ea1-d4d8-4213-9c69-972b5b806d58
|
||||
https://github.com/user-attachments/assets/cc0c84d3-1f2f-4f7a-b519-2ecce22310b1
|
||||
|
||||
|
||||
## 播客示例
|
||||
|
|
@ -44,32 +43,27 @@ https://github.com/user-attachments/assets/a0a16566-6967-4374-ac51-9b3e07fbecd7
|
|||
|
||||
### 💡 **理念**:
|
||||
- NotebookLM、Perplexity 和 Glean 的开源替代方案。将任何 LLM 连接到您的内部知识源,并与团队实时协作。
|
||||
|
||||
### 📁 **支持多种文件格式上传**
|
||||
- 将您个人文件中的内容(文档、图像、视频,支持 **50+ 种文件扩展名**)保存到您自己的个人知识库。
|
||||
|
||||
### 🔍 **强大的搜索功能**
|
||||
- 快速研究或查找已保存内容中的任何信息。
|
||||
|
||||
### 💬 **与已保存内容对话**
|
||||
- 使用自然语言交互并获得引用答案。
|
||||
|
||||
### 📄 **引用答案**
|
||||
- 像 Perplexity 一样获得带引用的答案。
|
||||
|
||||
### 🧩 **通用兼容性**
|
||||
- 通过 OpenAI 规范和 LiteLLM 连接几乎任何推理提供商。
|
||||
### 🔔 **隐私保护与本地 LLM 支持**
|
||||
- 完美支持 Ollama 本地大语言模型。
|
||||
|
||||
- 完美支持 vLLM 和 Ollama 等本地大语言模型。
|
||||
### 🏠 **可自托管**
|
||||
- 开源且易于本地部署。
|
||||
|
||||
### 👥 **团队协作与 RBAC**
|
||||
- 搜索空间的基于角色的访问控制
|
||||
- 使用可自定义的角色(所有者、管理员、编辑者、查看者)邀请团队成员
|
||||
- 对文档、聊天、连接器和设置的细粒度权限控制
|
||||
- 在组织内安全共享知识库
|
||||
|
||||
### 🎙️ **播客功能**
|
||||
- 团队聊天实时更新,支持评论线程中的"关于聊天的讨论"
|
||||
### 🎙️ 播客功能
|
||||
- 超快速播客生成代理(在 20 秒内创建 3 分钟播客)
|
||||
- 将聊天对话转换为引人入胜的音频内容
|
||||
- 支持本地 TTS 提供商(Kokoro TTS)
|
||||
|
|
@ -119,14 +113,15 @@ https://github.com/user-attachments/assets/a0a16566-6967-4374-ac51-9b3e07fbecd7
|
|||
|
||||
**音频/视频**(通过 STT 服务):`.mp3`、`.wav`、`.mp4`、`.webm` 等
|
||||
|
||||
### 🔖 **跨浏览器扩展**
|
||||
- SurfSense 扩展可用于保存您喜欢的任何网页
|
||||
- 主要用途是保存需要身份验证的受保护网页
|
||||
### 🔖 跨浏览器扩展
|
||||
- SurfSense 扩展可用于保存您喜欢的任何网页。
|
||||
- 主要用途是保存需要身份验证的受保护网页。
|
||||
|
||||
|
||||
|
||||
## 功能请求与未来规划
|
||||
|
||||
|
||||
**SurfSense 正在积极开发中。** 虽然它还未达到生产就绪状态,但您可以帮助我们加快进度。
|
||||
|
||||
加入 [SurfSense Discord](https://discord.gg/ejRNvftDp9) 一起塑造 SurfSense 的未来!
|
||||
|
|
@ -238,102 +233,11 @@ Docker 和手动安装指南都包含适用于 Windows、macOS 和 Linux 的详
|
|||
- 其他根据用例需要的 API 密钥
|
||||
|
||||
|
||||
|
||||
## 技术栈
|
||||
|
||||
|
||||
### **后端**
|
||||
|
||||
- **FastAPI**:现代、快速的 Python Web 框架,用于构建 API
|
||||
|
||||
- **PostgreSQL with pgvector**:具有向量搜索功能的数据库,用于相似性搜索
|
||||
|
||||
- **SQLAlchemy**:SQL 工具包和 ORM(对象关系映射),用于数据库交互
|
||||
|
||||
- **Alembic**:SQLAlchemy 的数据库迁移工具
|
||||
|
||||
- **FastAPI Users**:使用 JWT 和 OAuth 支持的身份验证和用户管理
|
||||
|
||||
- **深度代理**:基于 LangGraph 构建的自定义代理框架,用于推理和行动的 AI 代理,支持可配置工具
|
||||
|
||||
- **LangGraph**:用于开发具有对话持久性的有状态 AI 代理的框架
|
||||
|
||||
- **LangChain**:用于开发 AI 驱动应用程序的框架
|
||||
|
||||
- **LiteLLM**:通用 LLM 集成,支持 100+ 种模型(OpenAI、Anthropic、Ollama 等)
|
||||
|
||||
- **Rerankers**:先进的结果排序,提高搜索相关性
|
||||
|
||||
- **混合搜索**:结合向量相似性和全文搜索,使用倒数排名融合 (RRF) 获得最佳结果
|
||||
|
||||
- **向量嵌入**:文档和文本嵌入,用于语义搜索
|
||||
|
||||
- **pgvector**:PostgreSQL 扩展,用于高效的向量相似性操作
|
||||
|
||||
- **Redis**:内存数据结构存储,用作 Celery 的消息代理和结果后端
|
||||
|
||||
- **Celery**:分布式任务队列,用于处理异步后台任务(文档处理、播客生成等)
|
||||
|
||||
- **Flower**:Celery 任务队列的实时监控和管理工具
|
||||
|
||||
- **Chonkie**:先进的文档分块和嵌入库
|
||||
|
||||
|
||||
---
|
||||
### **前端**
|
||||
|
||||
- **Next.js**:React 框架,具有应用路由器、服务器组件、自动代码拆分和优化渲染功能
|
||||
|
||||
- **React**:用于构建用户界面的 JavaScript 库
|
||||
|
||||
- **TypeScript**:JavaScript 的静态类型检查,提升代码质量和开发体验
|
||||
|
||||
- **Vercel AI SDK Kit UI Stream Protocol**:创建可扩展的聊天 UI
|
||||
|
||||
- **Tailwind CSS**:实用优先的 CSS 框架,用于构建自定义 UI 设计
|
||||
|
||||
- **Shadcn**:无头组件库
|
||||
|
||||
- **Motion(Framer Motion)**:React 动画库
|
||||
|
||||
|
||||
### **DevOps**
|
||||
|
||||
- **Docker**:容器平台,用于跨环境的一致部署
|
||||
|
||||
- **Docker Compose**:用于定义和运行多容器 Docker 应用程序的工具
|
||||
|
||||
- **pgAdmin**:Docker 设置中包含的基于 Web 的 PostgreSQL 管理工具
|
||||
|
||||
|
||||
### **扩展**
|
||||
基于 Plasmo 的 Manifest v3
|
||||
|
||||
|
||||
## 贡献
|
||||
|
||||
非常欢迎贡献!贡献可以小到一个 ⭐,甚至是发现和创建问题。
|
||||
后端的微调总是受欢迎的。
|
||||
|
||||
### 添加新的代理工具
|
||||
|
||||
想要为 SurfSense 代理添加新工具?非常简单:
|
||||
|
||||
1. 在 `surfsense_backend/app/agents/new_chat/tools/my_tool.py` 中创建您的工具文件
|
||||
2. 在 `registry.py` 中注册:
|
||||
|
||||
```python
|
||||
ToolDefinition(
|
||||
name="my_tool",
|
||||
description="What my tool does",
|
||||
factory=lambda deps: create_my_tool(
|
||||
search_space_id=deps["search_space_id"],
|
||||
db_session=deps["db_session"],
|
||||
),
|
||||
requires=["search_space_id", "db_session"],
|
||||
),
|
||||
```
|
||||
|
||||
有关详细的贡献指南,请参阅我们的 [CONTRIBUTING.md](CONTRIBUTING.md) 文件。
|
||||
|
||||
## Star 历史
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue