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)
|
document_count = Column(Integer, default=0)
|
||||||
knowledge_graph_count = Column(Integer, default=0)
|
knowledge_graph_count = Column(Integer, default=0)
|
||||||
created_at = Column(DateTime, default=datetime.now)
|
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):
|
class KnowledgeDirectory(Base):
|
||||||
@@ -935,3 +941,19 @@ class TeamSharedSkill(Base):
|
|||||||
__table_args__ = (
|
__table_args__ = (
|
||||||
UniqueConstraint("team_id", "skill_id", name="uk_tss_team_skill"),
|
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__))))␍
|
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 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.config import setup_file_logging, SLOW_REQUEST_THRESHOLD␍
|
||||||
from app.database import SessionLocal␍
|
from app.database import SessionLocal␍
|
||||||
from app.models import OperationLog as OperationLogModel, TokenUsageLog as TokenUsageLogModel␍
|
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(market_admin.router, prefix="/app/api/admin/market", tags=["后台-应用审核"])␍
|
||||||
app.include_router(logs.router, prefix="/app/api/admin/logs", 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(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")␍
|
@app.get("/app/api/health")␍
|
||||||
|
|||||||
Reference in new issue
Block a user