feat: remove OpenCode assistant mode

This commit is contained in:
Xin Wang
2026-10-23 09:43:17 +08:00
parent 56b574d987
commit 81a6fdc30c
17 changed files with 78 additions and 313 deletions
+10 -1
View File
@@ -17,6 +17,7 @@ from fastapi import APIRouter, Depends, HTTPException
from schemas import (
AssistantOut,
AssistantUpsert,
SUPPORTED_ASSISTANT_TYPES,
)
from services.auth import require_admin
from services.masking import mask, resolve_incoming_key
@@ -607,6 +608,8 @@ async def _tool_bindings(session: AsyncSession, assistant_id: str) -> list[dict]
async def _to_out(session: AsyncSession, assistant: Assistant) -> AssistantOut:
if assistant.type not in SUPPORTED_ASSISTANT_TYPES:
raise HTTPException(410, "该助手类型已下线")
return AssistantOut(
id=assistant.id,
name=assistant.name,
@@ -647,7 +650,11 @@ async def _to_out(session: AsyncSession, assistant: Assistant) -> AssistantOut:
@router.get("", response_model=list[AssistantOut])
async def list_assistants(session: AsyncSession = Depends(get_session)):
rows = (
await session.execute(select(Assistant).order_by(Assistant.updated_at.desc()))
await session.execute(
select(Assistant)
.where(Assistant.type.in_(SUPPORTED_ASSISTANT_TYPES))
.order_by(Assistant.updated_at.desc())
)
).scalars().all()
return [await _to_out(session, assistant) for assistant in rows]
@@ -703,6 +710,8 @@ async def duplicate_assistant(
source = await session.get(Assistant, assistant_id)
if not source:
raise HTTPException(404, "助手不存在")
if source.type not in SUPPORTED_ASSISTANT_TYPES:
raise HTTPException(410, "该助手类型已下线")
assistant = Assistant(
id=f"asst_{uuid.uuid4().hex[:12]}",
name=f"{source.name} 副本",