mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-30 11:26:24 +02:00
feat: Add comprehensive BMAD agent, workflow, and documentation framework.
This commit is contained in:
parent
328f7dfecf
commit
524d9ab390
623 changed files with 105343 additions and 0 deletions
68
_bmad-output/data-models-backend.md
Normal file
68
_bmad-output/data-models-backend.md
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# Mô Hình Dữ Liệu (Backend)
|
||||
|
||||
Tài liệu này mô tả schema cơ sở dữ liệu Postgres, được quản lý bởi SQLAlchemy và Alembic.
|
||||
|
||||
## Các Thực Thể Chính (Core Entities)
|
||||
|
||||
### `User`
|
||||
Đại diện cho người dùng hệ thống.
|
||||
- **`id`**: `Integer` (Primary Key)
|
||||
- **`email`**: `String` (Unique)
|
||||
- **`hashed_password`**: `String`
|
||||
- **`is_active`**: `Boolean`
|
||||
- **`created_at`**: `DateTime`
|
||||
|
||||
### `Usage`
|
||||
Theo dõi hạn ngạch sử dụng (quota) của người dùng.
|
||||
- **`id`**: `Integer`
|
||||
- **`user_id`**: `ForeignKey -> User`
|
||||
- **`request_count`**: `Integer` (Số request API đã gọi)
|
||||
- **`token_consumed`**: `Integer` (Số token LLM đã dùng)
|
||||
|
||||
### `Document`
|
||||
Đơn vị kiến thức cơ bản. Một tài liệu có thể là một file PDF, một trang web, hoặc một ghi chú Notion.
|
||||
- **`id`**: `Integer`
|
||||
- **`title`**: `String`
|
||||
- **`content`**: `Text` (Nội dung thô, nếu có)
|
||||
- **`url`**: `String` (Nguồn gốc)
|
||||
- **`source_type`**: `Enum` (PDF, WEB, NOTION, SLACK...)
|
||||
- **`owner_id`**: `ForeignKey -> User`
|
||||
- **`embedding_status`**: `Enum` (PENDING, INDEXED, FAILED)
|
||||
|
||||
### `Chunk`
|
||||
Phần nhỏ của tài liệu dùng cho Vector Search.
|
||||
- **`id`**: `Integer`
|
||||
- **`document_id`**: `ForeignKey -> Document`
|
||||
- **`content`**: `Text` (Nội dung của đoạn chunk)
|
||||
- **`embedding`**: `Vector(1536)` (Vector đại diện, dùng cho pgvector)
|
||||
- **`metadata`**: `JSONB` (Thông tin bổ sung)
|
||||
|
||||
### `ChatThread`
|
||||
Đại diện cho một cuộc hội thoại.
|
||||
- **`id`**: `Integer`
|
||||
- **`user_id`**: `ForeignKey -> User`
|
||||
- **`title`**: `String`
|
||||
- **`created_at`**: `DateTime`
|
||||
|
||||
### `ChatMessage`
|
||||
Một tin nhắn trong cuộc hội thoại.
|
||||
- **`id`**: `Integer`
|
||||
- **`thread_id`**: `ForeignKey -> ChatThread`
|
||||
- **`role`**: `Enum` (USER, ASSISTANT, SYSTEM)
|
||||
- **`content`**: `Text`
|
||||
- **`tool_calls`**: `JSONB` (Lưu trữ các function calls nếu có)
|
||||
|
||||
### `ConnectorCredential`
|
||||
Lưu trữ token xác thực cho các ứng dụng bên ngoài.
|
||||
- **`id`**: `Integer`
|
||||
- **`user_id`**: `ForeignKey -> User`
|
||||
- **`connector_type`**: `String` (ví dụ: "google_drive")
|
||||
- **`encrypted_token`**: `String` (Token đã mã hóa)
|
||||
- **`refresh_token`**: `String`
|
||||
|
||||
## Mối Quan Hệ ERD (Tóm tắt)
|
||||
- `User` **1 -- n** `Document`
|
||||
- `Document` **1 -- n** `Chunk`
|
||||
- `User` **1 -- n** `ChatThread`
|
||||
- `ChatThread` **1 -- n** `ChatMessage`
|
||||
- `User` **1 -- 1** `Usage`
|
||||
Loading…
Add table
Add a link
Reference in a new issue