mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-06-06 20:15:17 +02:00
Merge pull request #620 from MODSetter/dev
feat: updated version to 0.0.9
This commit is contained in:
commit
e6392ffa00
4 changed files with 55 additions and 51 deletions
100
README.md
100
README.md
|
|
@ -24,8 +24,8 @@ While tools like NotebookLM and Perplexity are impressive and highly effective f
|
||||||
|
|
||||||
# Video
|
# Video
|
||||||
|
|
||||||
|
https://github.com/user-attachments/assets/42a29ea1-d4d8-4213-9c69-972b5b806d58
|
||||||
|
|
||||||
https://github.com/user-attachments/assets/d9221908-e0de-4b2f-ac3a-691cf4b202da
|
|
||||||
|
|
||||||
|
|
||||||
## Podcast Sample
|
## Podcast Sample
|
||||||
|
|
@ -62,10 +62,31 @@ https://github.com/user-attachments/assets/a0a16566-6967-4374-ac51-9b3e07fbecd7
|
||||||
- Support for local TTS providers (Kokoro TTS)
|
- Support for local TTS providers (Kokoro TTS)
|
||||||
- Support for multiple TTS providers (OpenAI, Azure, Google Vertex AI)
|
- Support for multiple TTS providers (OpenAI, Azure, Google Vertex AI)
|
||||||
|
|
||||||
|
### 🤖 **Deep Agent Architecture**
|
||||||
|
|
||||||
|
#### Built-in Agent Tools
|
||||||
|
| Tool | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| **search_knowledge_base** | Search your personal knowledge base with semantic + full-text hybrid search, date filtering, and connector-specific queries |
|
||||||
|
| **generate_podcast** | Generate audio podcasts from chat conversations or knowledge base content |
|
||||||
|
| **link_preview** | Fetch rich Open Graph metadata for URLs to display preview cards |
|
||||||
|
| **display_image** | Display images in chat with metadata and source attribution |
|
||||||
|
| **scrape_webpage** | Extract full content from webpages for analysis and summarization (supports Firecrawl or local Chromium/Trafilatura) |
|
||||||
|
|
||||||
|
#### Extensible Tools Registry
|
||||||
|
Contributors can easily add new tools via the registry pattern:
|
||||||
|
1. Create a tool factory function in `surfsense_backend/app/agents/new_chat/tools/`
|
||||||
|
2. Register it in the `BUILTIN_TOOLS` list in `registry.py`
|
||||||
|
|
||||||
|
#### Configurable System Prompts
|
||||||
|
- Custom system instructions via LLM configuration
|
||||||
|
- Toggle citations on/off per configuration
|
||||||
|
- Supports 100+ LLMs via LiteLLM integration
|
||||||
|
|
||||||
### 📊 **Advanced RAG Techniques**
|
### 📊 **Advanced RAG Techniques**
|
||||||
- Supports 100+ LLM's
|
- Supports 100+ LLM's
|
||||||
- Supports 6000+ Embedding Models.
|
- Supports 6000+ Embedding Models.
|
||||||
- Supports all major Rerankers (Pinecode, Cohere, Flashrank etc)
|
- Supports all major Rerankers (Pinecone, Cohere, Flashrank etc)
|
||||||
- Uses Hierarchical Indices (2 tiered RAG setup).
|
- Uses Hierarchical Indices (2 tiered RAG setup).
|
||||||
- Utilizes Hybrid Search (Semantic + Full Text Search combined with Reciprocal Rank Fusion).
|
- Utilizes Hybrid Search (Semantic + Full Text Search combined with Reciprocal Rank Fusion).
|
||||||
|
|
||||||
|
|
@ -207,32 +228,6 @@ Before self-hosting installation, make sure to complete the [prerequisite setup
|
||||||
- LlamaIndex API key (enhanced parsing, supports 50+ formats)
|
- LlamaIndex API key (enhanced parsing, supports 50+ formats)
|
||||||
- Other API keys as needed for your use case
|
- Other API keys as needed for your use case
|
||||||
|
|
||||||
## Screenshots
|
|
||||||
|
|
||||||
**Research Agent**
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
**Search Spaces**
|
|
||||||
|
|
||||||

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

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

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

|
|
||||||
|
|
||||||
**Browser Extension**
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
## Tech Stack
|
## Tech Stack
|
||||||
|
|
@ -250,11 +245,13 @@ Before self-hosting installation, make sure to complete the [prerequisite setup
|
||||||
|
|
||||||
- **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.
|
- **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.
|
- **LangChain**: Framework for developing AI-powered applications.
|
||||||
|
|
||||||
- **LLM Integration**: Integration with LLM models through LiteLLM
|
- **LiteLLM**: Universal LLM integration supporting 100+ models (OpenAI, Anthropic, Ollama, etc.)
|
||||||
|
|
||||||
- **Rerankers**: Advanced result ranking for improved search relevance
|
- **Rerankers**: Advanced result ranking for improved search relevance
|
||||||
|
|
||||||
|
|
@ -279,32 +276,20 @@ Before self-hosting installation, make sure to complete the [prerequisite setup
|
||||||
---
|
---
|
||||||
### **FrontEnd**
|
### **FrontEnd**
|
||||||
|
|
||||||
- **Next.js 15.2.3**: React framework featuring App Router, server components, automatic code-splitting, and optimized rendering.
|
- **Next.js**: React framework featuring App Router, server components, automatic code-splitting, and optimized rendering.
|
||||||
|
|
||||||
- **React 19.0.0**: JavaScript library for building user interfaces.
|
- **React**: 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**: 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.
|
- **Motion (Framer Motion)**: Animation library for React.
|
||||||
|
|
||||||
- **Framer Motion**: Animation library for React.
|
|
||||||
|
|
||||||
- **Sonner**: Toast notification library.
|
|
||||||
|
|
||||||
- **Geist**: Font family from Vercel.
|
|
||||||
|
|
||||||
- **React Hook Form**: Form state management and validation.
|
|
||||||
|
|
||||||
- **Zod**: TypeScript-first schema validation with static type inference.
|
|
||||||
|
|
||||||
- **@hookform/resolvers**: Resolvers for using validation libraries with React Hook Form.
|
|
||||||
|
|
||||||
- **@tanstack/react-table**: Headless UI for building powerful tables & datagrids.
|
|
||||||
|
|
||||||
|
|
||||||
### **DevOps**
|
### **DevOps**
|
||||||
|
|
@ -325,6 +310,25 @@ Before self-hosting installation, make sure to complete the [prerequisite setup
|
||||||
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.
|
||||||
|
|
||||||
|
### 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.
|
For detailed contribution guidelines, please see our [CONTRIBUTING.md](CONTRIBUTING.md) file.
|
||||||
|
|
||||||
## Star History
|
## Star History
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[project]
|
[project]
|
||||||
name = "surf-new-backend"
|
name = "surf-new-backend"
|
||||||
version = "0.0.8"
|
version = "0.0.9"
|
||||||
description = "SurfSense Backend"
|
description = "SurfSense Backend"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "surfsense_browser_extension",
|
"name": "surfsense_browser_extension",
|
||||||
"displayName": "Surfsense Browser Extension",
|
"displayName": "Surfsense Browser Extension",
|
||||||
"version": "0.0.8",
|
"version": "0.0.9",
|
||||||
"description": "Extension to collect Browsing History for SurfSense.",
|
"description": "Extension to collect Browsing History for SurfSense.",
|
||||||
"author": "https://github.com/MODSetter",
|
"author": "https://github.com/MODSetter",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "surfsense_web",
|
"name": "surfsense_web",
|
||||||
"version": "0.0.8",
|
"version": "0.0.9",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "SurfSense Frontend",
|
"description": "SurfSense Frontend",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue