Skip to content

Commit e6392ff

Browse files
authored
Merge pull request #620 from MODSetter/dev
feat: updated version to 0.0.9
2 parents ae971e0 + dfed718 commit e6392ff

File tree

4 files changed

+55
-51
lines changed

4 files changed

+55
-51
lines changed

README.md

Lines changed: 52 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ While tools like NotebookLM and Perplexity are impressive and highly effective f
2424

2525
# Video
2626

27+
https://github.com/user-attachments/assets/42a29ea1-d4d8-4213-9c69-972b5b806d58
2728

28-
https://github.com/user-attachments/assets/d9221908-e0de-4b2f-ac3a-691cf4b202da
2929

3030

3131
## Podcast Sample
@@ -62,10 +62,31 @@ https://github.com/user-attachments/assets/a0a16566-6967-4374-ac51-9b3e07fbecd7
6262
- Support for local TTS providers (Kokoro TTS)
6363
- Support for multiple TTS providers (OpenAI, Azure, Google Vertex AI)
6464

65+
### 🤖 **Deep Agent Architecture**
66+
67+
#### Built-in Agent Tools
68+
| Tool | Description |
69+
|------|-------------|
70+
| **search_knowledge_base** | Search your personal knowledge base with semantic + full-text hybrid search, date filtering, and connector-specific queries |
71+
| **generate_podcast** | Generate audio podcasts from chat conversations or knowledge base content |
72+
| **link_preview** | Fetch rich Open Graph metadata for URLs to display preview cards |
73+
| **display_image** | Display images in chat with metadata and source attribution |
74+
| **scrape_webpage** | Extract full content from webpages for analysis and summarization (supports Firecrawl or local Chromium/Trafilatura) |
75+
76+
#### Extensible Tools Registry
77+
Contributors can easily add new tools via the registry pattern:
78+
1. Create a tool factory function in `surfsense_backend/app/agents/new_chat/tools/`
79+
2. Register it in the `BUILTIN_TOOLS` list in `registry.py`
80+
81+
#### Configurable System Prompts
82+
- Custom system instructions via LLM configuration
83+
- Toggle citations on/off per configuration
84+
- Supports 100+ LLMs via LiteLLM integration
85+
6586
### 📊 **Advanced RAG Techniques**
6687
- Supports 100+ LLM's
6788
- Supports 6000+ Embedding Models.
68-
- Supports all major Rerankers (Pinecode, Cohere, Flashrank etc)
89+
- Supports all major Rerankers (Pinecone, Cohere, Flashrank etc)
6990
- Uses Hierarchical Indices (2 tiered RAG setup).
7091
- Utilizes Hybrid Search (Semantic + Full Text Search combined with Reciprocal Rank Fusion).
7192

@@ -207,32 +228,6 @@ Before self-hosting installation, make sure to complete the [prerequisite setup
207228
- LlamaIndex API key (enhanced parsing, supports 50+ formats)
208229
- Other API keys as needed for your use case
209230

210-
## Screenshots
211-
212-
**Research Agent**
213-
214-
![updated_researcher](https://github.com/user-attachments/assets/e22c5d86-f511-4c72-8c50-feba0c1561b4)
215-
216-
**Search Spaces**
217-
218-
![search_spaces](https://github.com/user-attachments/assets/e254c38c-f937-44b6-9e9d-770db583d099)
219-
220-
**Manage Documents**
221-
![documents](https://github.com/user-attachments/assets/7001e306-eb06-4009-89c6-8fadfdc3fc4d)
222-
223-
**Podcast Agent**
224-
![podcasts](https://github.com/user-attachments/assets/6cb82ffd-9e14-4172-bc79-67faf34c4c1c)
225-
226-
227-
**Agent Chat**
228-
229-
![git_chat](https://github.com/user-attachments/assets/bb352d52-1c6d-4020-926b-722d0b98b491)
230-
231-
**Browser Extension**
232-
233-
![ext1](https://github.com/user-attachments/assets/1f042b7a-6349-422b-94fb-d40d0df16c40)
234-
235-
![ext2](https://github.com/user-attachments/assets/a9b9f1aa-2677-404d-b0a0-c1b2dddf24a7)
236231

237232

238233
## Tech Stack
@@ -250,11 +245,13 @@ Before self-hosting installation, make sure to complete the [prerequisite setup
250245

251246
- **FastAPI Users**: Authentication and user management with JWT and OAuth support
252247

253-
- **LangGraph**: Framework for developing AI-agents.
254-
248+
- **Deep Agents**: Custom agent framework built on LangGraph for reasoning and acting AI agents with configurable tools
249+
250+
- **LangGraph**: Framework for developing stateful AI agents with conversation persistence
251+
255252
- **LangChain**: Framework for developing AI-powered applications.
256253

257-
- **LLM Integration**: Integration with LLM models through LiteLLM
254+
- **LiteLLM**: Universal LLM integration supporting 100+ models (OpenAI, Anthropic, Ollama, etc.)
258255

259256
- **Rerankers**: Advanced result ranking for improved search relevance
260257

@@ -279,32 +276,20 @@ Before self-hosting installation, make sure to complete the [prerequisite setup
279276
---
280277
### **FrontEnd**
281278

282-
- **Next.js 15.2.3**: React framework featuring App Router, server components, automatic code-splitting, and optimized rendering.
279+
- **Next.js**: React framework featuring App Router, server components, automatic code-splitting, and optimized rendering.
283280

284-
- **React 19.0.0**: JavaScript library for building user interfaces.
281+
- **React**: JavaScript library for building user interfaces.
285282

286283
- **TypeScript**: Static type-checking for JavaScript, enhancing code quality and developer experience.
284+
287285
- **Vercel AI SDK Kit UI Stream Protocol**: To create scalable chat UI.
288286

289-
- **Tailwind CSS 4.x**: Utility-first CSS framework for building custom UI designs.
287+
- **Tailwind CSS**: Utility-first CSS framework for building custom UI designs.
290288

291289
- **Shadcn**: Headless components library.
292290

293-
- **Lucide React**: Icon set implemented as React components.
294-
295-
- **Framer Motion**: Animation library for React.
296-
297-
- **Sonner**: Toast notification library.
298-
299-
- **Geist**: Font family from Vercel.
300-
301-
- **React Hook Form**: Form state management and validation.
291+
- **Motion (Framer Motion)**: Animation library for React.
302292

303-
- **Zod**: TypeScript-first schema validation with static type inference.
304-
305-
- **@hookform/resolvers**: Resolvers for using validation libraries with React Hook Form.
306-
307-
- **@tanstack/react-table**: Headless UI for building powerful tables & datagrids.
308293

309294

310295
### **DevOps**
@@ -325,6 +310,25 @@ Before self-hosting installation, make sure to complete the [prerequisite setup
325310
Contributions are very welcome! A contribution can be as small as a ⭐ or even finding and creating issues.
326311
Fine-tuning the Backend is always desired.
327312

313+
### Adding New Agent Tools
314+
315+
Want to add a new tool to the SurfSense agent? It's easy:
316+
317+
1. Create your tool file in `surfsense_backend/app/agents/new_chat/tools/my_tool.py`
318+
2. Register it in `registry.py`:
319+
320+
```python
321+
ToolDefinition(
322+
name="my_tool",
323+
description="What my tool does",
324+
factory=lambda deps: create_my_tool(
325+
search_space_id=deps["search_space_id"],
326+
db_session=deps["db_session"],
327+
),
328+
requires=["search_space_id", "db_session"],
329+
),
330+
```
331+
328332
For detailed contribution guidelines, please see our [CONTRIBUTING.md](CONTRIBUTING.md) file.
329333

330334
## Star History

surfsense_backend/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "surf-new-backend"
3-
version = "0.0.8"
3+
version = "0.0.9"
44
description = "SurfSense Backend"
55
readme = "README.md"
66
requires-python = ">=3.12"

surfsense_browser_extension/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "surfsense_browser_extension",
33
"displayName": "Surfsense Browser Extension",
4-
"version": "0.0.8",
4+
"version": "0.0.9",
55
"description": "Extension to collect Browsing History for SurfSense.",
66
"author": "https://github.com/MODSetter",
77
"engines": {

surfsense_web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "surfsense_web",
3-
"version": "0.0.8",
3+
"version": "0.0.9",
44
"private": true,
55
"description": "SurfSense Frontend",
66
"scripts": {

0 commit comments

Comments
 (0)