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:
2026-06-17 13:10:31 +00:00
parent 6d658b4f4d
commit 005ce566a8
49 changed files with 1093 additions and 30 deletions
@@ -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}")