feat: Provider model_settings 全链路 + 监管节点工具集 + 重型插件注入 + 前端打磨
- Provider model_settings (Provider+Model 级别参数配置): DB JSONB → API → GSM → AgentFactory.resolve → 三节点 agent.run 注入 - 新增 data/toolset/regulatory_toolset/: 监管节点专属工具(query_workflow_status / query_task_list / send_file) - send_file 从 interactive_toolset 迁移至 regulatory_toolset,interactive 仅保留 approval - mcp_helper 合入 GlobalPluginManager dispatch tools - 前端 Provider 弹窗参数设置区加 JSON 编辑器(model_settings) - 前端 Plugin 页面新增"重型插件"Tab(HeavyPluginList 占位) - .gitignore 精简:去除系统默认项,修复 data/ 子目录追踪 - data/toolset/ 与 data/plugin/ 首次纳入版本控制 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -184,6 +184,7 @@ class GlobalStateMachine:
|
||||
provider_url,
|
||||
provider_apikey,
|
||||
provider_owner,
|
||||
model_settings=None,
|
||||
):
|
||||
"""新增一个模型 Provider:内存注册 + 数据库持久化一并完成。"""
|
||||
result = await self._global_provider_manager.add_provider(
|
||||
@@ -193,6 +194,7 @@ class GlobalStateMachine:
|
||||
provider_apikey=provider_apikey,
|
||||
provider_owner=provider_owner,
|
||||
postgres_database=self.postgres_database,
|
||||
model_settings=model_settings or {},
|
||||
)
|
||||
self._publish_snapshot()
|
||||
return result
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
# limitations under the License.
|
||||
|
||||
from abc import ABC, abstractmethod
|
||||
from pydantic import BaseModel
|
||||
from typing import List
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Any, Dict, List
|
||||
from enum import Enum
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ class Provider(BaseModel):
|
||||
provider_type: str
|
||||
provider_owner: str | None = None
|
||||
provider_status: ProviderStatus = ProviderStatus.UP
|
||||
model_settings: Dict[str, Dict[str, Any]] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class ProviderArgs(BaseModel):
|
||||
@@ -44,6 +45,7 @@ class ProviderArgs(BaseModel):
|
||||
provider_url: str
|
||||
provider_apikey: str
|
||||
provider_owner: str
|
||||
model_settings: Dict[str, Dict[str, Any]] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class BaseProvider(ABC):
|
||||
|
||||
@@ -78,4 +78,5 @@ class ClaudeProvider(BaseProvider):
|
||||
provider_url=provider_args.provider_url,
|
||||
provider_models=provider_models,
|
||||
provider_type="claude",
|
||||
model_settings=provider_args.model_settings,
|
||||
)
|
||||
|
||||
@@ -81,4 +81,5 @@ class DeepseekProvider(BaseProvider):
|
||||
provider_url=provider_args.provider_url,
|
||||
provider_models=provider_models,
|
||||
provider_type="deepseek",
|
||||
model_settings=provider_args.model_settings,
|
||||
)
|
||||
|
||||
@@ -78,4 +78,5 @@ class GeminiProvider(BaseProvider):
|
||||
provider_url=provider_args.provider_url,
|
||||
provider_models=provider_models,
|
||||
provider_type="gemini",
|
||||
model_settings=provider_args.model_settings,
|
||||
)
|
||||
|
||||
@@ -81,4 +81,5 @@ class OpenAIProvider(BaseProvider):
|
||||
provider_url=provider_args.provider_url,
|
||||
provider_models=provider_models,
|
||||
provider_type="openai",
|
||||
model_settings=provider_args.model_settings,
|
||||
)
|
||||
|
||||
@@ -58,6 +58,7 @@ class ProviderManager:
|
||||
provider_apikey,
|
||||
provider_owner,
|
||||
postgres_database,
|
||||
model_settings=None,
|
||||
) -> None:
|
||||
"""新增并落库一个 Provider:
|
||||
|
||||
@@ -77,6 +78,7 @@ class ProviderManager:
|
||||
provider_url=provider_url,
|
||||
provider_apikey=provider_apikey,
|
||||
provider_owner=provider_owner,
|
||||
model_settings=model_settings or {},
|
||||
)
|
||||
try:
|
||||
import ulid
|
||||
@@ -96,6 +98,7 @@ class ProviderManager:
|
||||
provider_models=provider.provider_models,
|
||||
provider_type=provider.provider_type,
|
||||
provider_owner=provider.provider_owner,
|
||||
model_settings=provider.model_settings,
|
||||
)
|
||||
|
||||
logger.info(f"已添加适配器{provider_title}")
|
||||
|
||||
Reference in New Issue
Block a user