mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-27 17:56:25 +02:00
feat: initialize agent and claude skill libraries with comprehensive knowledge bases, workflow templates, and implementation artifacts.
This commit is contained in:
parent
956d8c6322
commit
b35b4337bb
2028 changed files with 565614 additions and 0 deletions
|
|
@ -0,0 +1,143 @@
|
|||
# SurfSense: Sơ đồ chi tiết các Luồng Ẩn (Triển khai Sâu)
|
||||
|
||||
Dựa trên việc kiểm tra sâu cấu trúc database (`db.py`) và kiến trúc API, đây là các Luồng Vi mô (Micro Flows) diễn ra bên dưới bề nổi bổ sung thêm cho 4 luồng cơ bản ban đầu. Đây là các Flow cấu thành sức mạnh hệ sinh thái nền tảng của SurfSense.
|
||||
|
||||
---
|
||||
|
||||
## 5. Luồng Đồng bộ Thời gian thực & Local-first (RociCorp Zero)
|
||||
Giao diện của SurfSense đạt được tốc độ phản hồi tính bằng mili-giây (Instant UI) nhờ vào công nghệ Local-first từ Zero.
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User as Nguoi Dung
|
||||
participant NextJS as NextJS Client (Z-Store)
|
||||
participant Zero as Zero Cache Server
|
||||
participant Postgres as PostgreSQL DB
|
||||
|
||||
%% Trang thai offline hoac low-latency
|
||||
User->>NextJS: Tao Search Space moi
|
||||
activate NextJS
|
||||
NextJS->>NextJS: Ghi vao IndexedDB (Local)
|
||||
NextJS-->>User: [UI] Cap nhat ngay lap tuc (0 latency)
|
||||
|
||||
%% Dong bo background
|
||||
NextJS->>Zero: Day Mutator (Sync)
|
||||
deactivate NextJS
|
||||
|
||||
activate Zero
|
||||
Zero->>Postgres: Luu thay đoi vao DB trung tam
|
||||
Postgres-->>Zero: Xac nhan luu thanh cong
|
||||
|
||||
%% Nguoi dung khac trong cung Search Space
|
||||
Zero->>NextJS: Ban Replication Subscriptions (Socket)
|
||||
deactivate Zero
|
||||
activate NextJS
|
||||
NextJS->>NextJS: Cap nhat Z-Store cho User B
|
||||
deactivate NextJS
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. Luồng Uỷ quyền và Nuốt Dữ liệu từ App Thứ 3 (Third-Party Connectors)
|
||||
Quy trình nhập liệu từ các nền tảng SaaS (Notion, Google Drive, Jira...) sử dụng Composio và Custom Extractors.
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User as Nguoi Dung
|
||||
participant Web as Web UI
|
||||
participant Backend as FastAPI
|
||||
participant Auth as Composio OAuth
|
||||
participant 3rdParty as Notion/Drive/Jira
|
||||
participant Celery as ETL Celery Workers
|
||||
|
||||
User->>Web: Bam ket noi "Notion"
|
||||
Web->>Backend: Yeu cau Authorization URL
|
||||
Backend->>Auth: Tao Phien ung dung (Session)
|
||||
Auth-->>User: Chuyen huong sang trang OAuth cua Notion
|
||||
|
||||
User->>3rdParty: Dong y cap quyen đoc
|
||||
3rdParty-->>Backend: Callback Redirect voi Auth Code
|
||||
activate Backend
|
||||
Backend->>Auth: Đoi Code lay Access Token
|
||||
Auth-->>Backend: Tra ve Token
|
||||
Backend->>Backend: Luu vao Search Space DB
|
||||
deactivate Backend
|
||||
|
||||
%% Kich hoat Ingestion
|
||||
Backend->>Celery: Giao nhiem vu Crawl API (Task)
|
||||
activate Celery
|
||||
Celery->>3rdParty: Pull hang loat Docs / Tickets
|
||||
3rdParty-->>Celery: Tra ve JSON data
|
||||
Celery->>Celery: Convert JSON -> Markdown -> Chunks
|
||||
Celery->>Celery: Luu VectorDB
|
||||
Celery-->>Web: Notification: "Dong bo Notion hoan tat"
|
||||
deactivate Celery
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. Luồng Giao tiếp Cộng tác & Bình luận (Collaboration / Chat Comments)
|
||||
Mỗi Search Space trong SurfSense là một "Phòng làm việc chung". Các đoạn Chat AI có thể được bình luận, chia sẻ.
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant UserA as Nguoi Dung A
|
||||
participant Zero as Zero (Realtime)
|
||||
participant DB as Postgres (Chat_Comments)
|
||||
participant UserB as Nguoi Dung B
|
||||
|
||||
UserA->>UserA: Mo đoan chat cua Assistant
|
||||
UserA->>Zero: Them Comment "@UserB cậu xem đoan nay"
|
||||
activate Zero
|
||||
Zero->>DB: Luu Comment vao NewChatMessage
|
||||
|
||||
%% Tinh nang cap nhat tu đong cho UserB
|
||||
DB-->>Zero: State Changed
|
||||
Zero-->>UserB: Trigger Sync (Realtime) tang IndexedDB
|
||||
deactivate Zero
|
||||
|
||||
activate UserB
|
||||
UserB->>UserB: Thay notification Mention tren UI
|
||||
UserB->>Zero: Reply lai Comment
|
||||
deactivate UserB
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 8. Luồng Phát sinh Nội dung Đa phương tiện từ RAG (Podcast / Video)
|
||||
Trình độ tổng hợp kiến thức của SurfSense không dừng ở đoạn text, mà còn mở rộng ra Audio, Podcasts, Video Presentation dựa trên DB Models.
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User as Nguoi Dung
|
||||
participant Web as Web UI
|
||||
participant API as FastAPI
|
||||
participant Celery as Celery Tasks
|
||||
participant GenAI as Audio/Video Gen AI
|
||||
participant DB as Postgres
|
||||
|
||||
User->>Web: "Tao Podcast ve chu đe bao cao thang nay"
|
||||
activate Web
|
||||
Web->>API: POST /api/generate-podcast
|
||||
deactivate Web
|
||||
|
||||
activate API
|
||||
API->>DB: Tao ban ghi PodcastStatus = PENDING
|
||||
API->>Celery: Send task `generate_podcast`
|
||||
API-->>Web: Tra ve Job ID
|
||||
deactivate API
|
||||
|
||||
activate Celery
|
||||
Celery->>DB: Update PodcastStatus = GENERATING
|
||||
Celery->>GenAI: Truyen RAG content & Yeu cau sinh giong noi
|
||||
activate GenAI
|
||||
GenAI-->>Celery: Tra ve Stream/File URL (Media)
|
||||
deactivate GenAI
|
||||
|
||||
Celery->>DB: Update PodcastStatus = READY & Luu Media Path
|
||||
deactivate Celery
|
||||
|
||||
%% Cap nhat UI qua Zero
|
||||
DB-->>Zero: State Mutation
|
||||
Zero-->>Web: Giao dien hien thi Audio Player
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue