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:
@@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from typing import Sequence, Any
|
||||
from typing import Sequence, Any, Dict
|
||||
|
||||
from pydantic_ai import Agent
|
||||
from pydantic_ai.models.openai import OpenAIChatModel
|
||||
@@ -126,3 +126,19 @@ class AgentFactory:
|
||||
toolsets=toolsets or [],
|
||||
)
|
||||
return agent
|
||||
|
||||
@staticmethod
|
||||
def resolve_model_settings(provider: Provider, model_id: str) -> Dict[str, Any]:
|
||||
"""合并 provider.model_settings 中 ``__default__`` 与具体 model_id 的参数。
|
||||
|
||||
- ``__default__`` 是全 Provider 的兜底参数
|
||||
- ``model_id`` 键覆盖 default 中相同 key
|
||||
- 都缺省时返回空 dict(``agent.run(model_settings={})`` 等效于不传)
|
||||
"""
|
||||
settings = getattr(provider, "model_settings", None) or {}
|
||||
if not isinstance(settings, dict):
|
||||
return {}
|
||||
default = settings.get("__default__", {}) or {}
|
||||
specific = settings.get(model_id, {}) or {}
|
||||
merged: Dict[str, Any] = {**default, **specific}
|
||||
return merged
|
||||
|
||||
Reference in New Issue
Block a user