feat: organize tools and enable qwen realtime calls

This commit is contained in:
Xin Wang
2026-08-14 00:15:00 +08:00
parent eb111a3890
commit 5be21f5ccc
71 changed files with 5771 additions and 2026 deletions
+8 -1
View File
@@ -10,6 +10,7 @@
from datetime import datetime
from sqlalchemy import (
CheckConstraint,
JSON,
Boolean,
DateTime,
@@ -175,6 +176,7 @@ class Assistant(Base):
# ---- 瘦类型专属字段(真列,稀疏:按 type 用其中几列) ----
prompt: Mapped[str] = mapped_column(Text, default="") # prompt / opencode
dynamic_variable_definitions: Mapped[dict] = mapped_column(JSON, default=dict)
built_in_tools: Mapped[dict] = mapped_column(JSONB, default=dict)
analysis_config: Mapped[dict] = mapped_column(JSONB, default=dict)
api_url: Mapped[str] = mapped_column(String(512), default="") # dify / fastgpt / opencode
api_key: Mapped[str] = mapped_column(String(512), default="") # dify / fastgpt / opencode(打码/哨兵)
@@ -245,6 +247,10 @@ class Tool(Base):
"remote_tool_name",
name="uq_tools_mcp_server_remote_name",
),
CheckConstraint(
"type IN ('http', 'mcp', 'client')",
name="ck_tools_external_type",
),
)
id: Mapped[str] = mapped_column(String(40), primary_key=True)
@@ -273,7 +279,7 @@ class Tool(Base):
class AssistantToolBinding(Base):
"""Prompt assistant to reusable tool many-to-many binding."""
"""Assistant reference to a reusable tool plus Prompt usage config."""
__tablename__ = "assistant_tool_bindings"
@@ -288,6 +294,7 @@ class AssistantToolBinding(Base):
primary_key=True,
index=True,
)
config: Mapped[dict] = mapped_column(JSONB, default=dict)
created_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True), server_default=func.now()
)