Phase 2.4: Knowledge Base Admin API - CRUD, stats, external service integration

This commit is contained in:
qyyfw committed 2026-07-02 22:39:10 +08:00
1 parent a682dc687e
commit 0b88db956f
3 files changed
+1356 -2

No files matched your search

File diff suppressed because it is too large. Load diff
+23 -1
View File
@@ -164,7 +164,13 @@ class KnowledgeBase(Base):
document_count = Column(Integer, default=0)
knowledge_graph_count = Column(Integer, default=0)
created_at = Column(DateTime, default=datetime.now)
updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now)
updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now)
is_official = Column(Boolean, default=False)
status = Column(String(20), default="active")
external_service_id = Column(String(36), default=None)
external_id = Column(String(100), default=None)
external_sync_status = Column(String(20), default="none")
external_config = Column(JSON, default=None)
class KnowledgeDirectory(Base):
@@ -935,3 +941,19 @@ class TeamSharedSkill(Base):
__table_args__ = (
UniqueConstraint("team_id", "skill_id", name="uk_tss_team_skill"),
)
class ExternalKBService(Base):
"""外部知识库服务配置"""
__tablename__ = "external_kb_services"
id = Column(String(36), primary_key=True, default=gen_uuid)
name = Column(String(200), nullable=False)
service_type = Column(String(20), nullable=False)
api_url = Column(String(500), nullable=False)
api_key = Column(String(255), default="")
config = Column(JSON, default=None)
is_enabled = Column(Boolean, default=True)
status = Column(String(20), default="disconnected")
created_at = Column(DateTime, default=datetime.now)
updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now)