feat: add knowledge management functionality with CRUD operations and database schema
- Implemented KnowledgeHandler for managing knowledge groups and items, including listing, creating, updating, and deleting operations. - Added database migration scripts to create necessary tables for knowledge management, including knowledge_groups, knowledge_items, knowledge_parse_tasks, and knowledge_chunks_meta. - Introduced prompt_rule_knowledge_groups table to associate prompt rules with knowledge groups.
This commit is contained in:
@@ -526,6 +526,48 @@ export interface Competitor {
|
||||
created_at: string;
|
||||
}
|
||||
|
||||
export interface KnowledgeGroup {
|
||||
id: number;
|
||||
name: string;
|
||||
parent_id: number | null;
|
||||
sort_order: number;
|
||||
item_count: number;
|
||||
created_at: string;
|
||||
children: KnowledgeGroup[];
|
||||
}
|
||||
|
||||
export interface KnowledgeGroupRequest {
|
||||
name: string;
|
||||
parent_id?: number | null;
|
||||
sort_order?: number;
|
||||
}
|
||||
|
||||
export interface KnowledgeItem {
|
||||
id: number;
|
||||
group_id: number;
|
||||
group_name: string;
|
||||
name: string;
|
||||
source_type: "text" | "document" | "website";
|
||||
source_uri: string | null;
|
||||
status: string;
|
||||
size_bytes: number;
|
||||
error_message: string | null;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
export interface KnowledgeTextItemRequest {
|
||||
group_id: number;
|
||||
name: string;
|
||||
content: string;
|
||||
}
|
||||
|
||||
export interface KnowledgeURLItemRequest {
|
||||
group_id: number;
|
||||
name: string;
|
||||
url: string;
|
||||
}
|
||||
|
||||
// --- Prompt Rule Groups ---
|
||||
|
||||
export interface PromptRuleGroup {
|
||||
@@ -550,12 +592,19 @@ export interface PromptRule {
|
||||
scene: string | null;
|
||||
default_tone: string | null;
|
||||
default_word_count: number | null;
|
||||
knowledge_group_ids: number[];
|
||||
knowledge_groups: KnowledgeGroupOption[];
|
||||
status: "enabled" | "disabled";
|
||||
article_count: number;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
|
||||
export interface KnowledgeGroupOption {
|
||||
id: number;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface PromptRuleRequest {
|
||||
group_id?: number | null;
|
||||
name: string;
|
||||
@@ -563,6 +612,7 @@ export interface PromptRuleRequest {
|
||||
scene?: string;
|
||||
default_tone?: string;
|
||||
default_word_count?: number;
|
||||
knowledge_group_ids?: number[];
|
||||
}
|
||||
|
||||
export interface PromptRuleListParams {
|
||||
|
||||
Reference in New Issue
Block a user