Pretor/pretor/individual_plugin/control_node/control_register.py

22 lines
1021 B
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from pydantic import BaseModel, Field
from typing import List, Dict, Any, Literal, Union, Optional
class SystemItem(BaseModel):
command_template: str = Field(..., description="底层 shell 命令模板")
args_schema: Dict[str, Any] = Field(default_factory=dict, description="该指令接受的参数约束")
class IndividualItem(BaseModel):
description: str
params: Dict[str: str]
base_prompt: str = Field(..., description="个体的基础人格/背景设定")
class ToolItem(BaseModel):
description: str
plugin_path: str = Field(..., description="插件物理路径或类路径")
class ControlRegister(BaseModel):
# 统一使用 Dict方便通过 name 快速索引:{ "name": ItemObject }
system_registry: Dict[str, SystemItem] = Field(default_factory=dict)
individual_registry: Dict[str, IndividualItem] = Field(default_factory=dict)
tool_registry: Dict[str, ToolItem] = Field(default_factory=dict)
global_information : Dict[str, str] = Field(default_factory=dict)