Phase 2.4: Knowledge Base Admin API - CRUD, stats, external service integration
This commit is contained in:
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
@@ -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)
|
||||
@@ -16,7 +16,7 @@ from datetime import datetime
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))␍
|
||||
␍
|
||||
from app.api import auth, chat, channels, knowledge, market, token_usage, payment, profile, notifications, assets, evolution␍
|
||||
from app.api.admin import dashboard, users, models, settings, payment_admin, services, membership_admin, ads, market_admin, logs, skills_admin␍
|
||||
from app.api.admin import dashboard, users, models, settings, payment_admin, services, membership_admin, ads, market_admin, logs, skills_admin, agents_admin, knowledge_admin
|
||||
from app.config import setup_file_logging, SLOW_REQUEST_THRESHOLD␍
|
||||
from app.database import SessionLocal␍
|
||||
from app.models import OperationLog as OperationLogModel, TokenUsageLog as TokenUsageLogModel␍
|
||||
@@ -208,6 +208,8 @@ app.include_router(ads.router, prefix="/app/api/admin/ads", tags=["后台-广告
|
||||
app.include_router(market_admin.router, prefix="/app/api/admin/market", tags=["后台-应用审核"])␍
|
||||
app.include_router(logs.router, prefix="/app/api/admin/logs", tags=["后台-日志风控"])␍
|
||||
app.include_router(skills_admin.router, prefix="/app/api/admin/skills", tags=["后台-技能管理"])␍
|
||||
app.include_router(agents_admin, knowledge_admin.router, prefix="/app/api/admin/agents", tags=["后台-Agent管理"])
|
||||
app.include_router(knowledge_admin.router, prefix="/app/api/admin/knowledge", tags=["后台-知识库管理"])
|
||||
␍
|
||||
␍
|
||||
@app.get("/app/api/health")␍
|
||||
|
||||
Reference in new issue
Block a user