22 lines
1021 B
Python
22 lines
1021 B
Python
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) |