Files
Uni-Lab-OS/unilabos/test/experiments/comprehensive_protocol/checklist.md
Xuwznln 75f09034ff update docs, test examples
fix liquid_handler init bug
2025-11-18 18:42:27 +08:00

13 KiB
Raw Blame History

  1. 用到的仪器 virtual_multiway_valve(√) 八通阀门 virtual_transfer_pump(√) 转移泵 virtual_centrifuge() 离心机 virtual_rotavap() 旋蒸仪 virtual_heatchill() 加热器 virtual_stirrer() 搅拌器 virtual_solenoid_valve() 电磁阀 virtual_vacuum_pump(√) vacuum_pump.mock 真空泵 virtual_gas_source(√) 气源 virtual_filter() 过滤器 virtual_column(√) 层析柱 separator() homemade_grbl_conductivity 分液漏斗
  2. 用到的protocol PumpTransferProtocol: generate_pump_protocol_with_rinsing, (√) 这个重复了删掉CleanProtocol: generate_clean_protocol, SeparateProtocol: generate_separate_protocol, (×) EvaporateProtocol: generate_evaporate_protocol, (√) EvacuateAndRefillProtocol: generate_evacuateandrefill_protocol, (√) CentrifugeProtocol: generate_centrifuge_protocol, (√) AddProtocol: generate_add_protocol, (√) FilterProtocol: generate_filter_protocol, (√) HeatChillProtocol: generate_heat_chill_protocol, (√) HeatChillStartProtocol: generate_heat_chill_start_protocol, (√) HeatChillStopProtocol: generate_heat_chill_stop_protocol, (√) HeatChillToTempProtocol: StirProtocol: generate_stir_protocol, (√) StartStirProtocol: generate_start_stir_protocol, (√) StopStirProtocol: generate_stop_stir_protocol, (√) 这个重复了删掉TransferProtocol: generate_transfer_protocol, CleanVesselProtocol: generate_clean_vessel_protocol, (√) DissolveProtocol: generate_dissolve_protocol, (√) FilterThroughProtocol: generate_filter_through_protocol, (√) RunColumnProtocol: generate_run_column_protocol, (√)

上下文体积搜索 3. 还没创建的protocol ResetHandling 写完了 Dry 写完了 AdjustPH 写完了 Recrystallize 写完了 TakeSample Hydrogenate 4. 参数对齐

class PumpTransferProtocol(BaseModel): from_vessel: str to_vessel: str volume: float amount: str = "" time: float = 0 viscous: bool = False rinsing_solvent: str = "air" rinsing_volume: float = 5000 rinsing_repeats: int = 2 solid: bool = False 测完了三个都能跑 flowrate: float = 500 transfer_flowrate: float = 2500

class SeparateProtocol(BaseModel): purpose: str product_phase: str from_vessel: str separation_vessel: str to_vessel: str waste_phase_to_vessel: str solvent: str solvent_volume: float through: str repeats: int stir_time: float stir_speed: float settling_time: float 测完了能跑

class EvaporateProtocol(BaseModel): vessel: str pressure: float temp: float time: float 测完了能跑 stir_speed: float

class EvacuateAndRefillProtocol(BaseModel): vessel: str gas: str repeats: int 测完了能跑

class AddProtocol(BaseModel): vessel: str reagent: str volume: float mass: float amount: str time: float stir: bool stir_speed: float viscous: bool purpose: str 测完了能跑

class CentrifugeProtocol(BaseModel): vessel: str speed: float time: float 没毛病 temp: float

class FilterProtocol(BaseModel): vessel: str filtrate_vessel: str stir: bool stir_speed: float temp: float 测完了能跑 continue_heatchill: bool volume: float

class HeatChillProtocol(BaseModel): vessel: str temp: float time: float stir: bool 测完了能跑 stir_speed: float purpose: str

class HeatChillStartProtocol(BaseModel): vessel: str temp: float 疑似没有 purpose: str

class HeatChillStopProtocol(BaseModel): vessel: str 疑似没有

class StirProtocol(BaseModel): stir_time: float stir_speed: float settling_time: float 测完了能跑

class StartStirProtocol(BaseModel): vessel: str stir_speed: float 疑似没有 purpose: str

class StopStirProtocol(BaseModel): vessel: str 疑似没有

class TransferProtocol(BaseModel): from_vessel: str to_vessel: str volume: float amount: str = "" time: float = 0 viscous: bool = False
rinsing_solvent: str = "" rinsing_volume: float = 0.0 rinsing_repeats: int = 0 solid: bool = False 这个protocol早该删掉了

class CleanVesselProtocol(BaseModel): vessel: str solvent: str volume: float temp: float repeats: int = 1

class DissolveProtocol(BaseModel): vessel: str solvent: str volume: float amount: str = "" temp: float = 25.0 time: float = 0.0 stir_speed: float = 0.0 测完了能跑

class FilterThroughProtocol(BaseModel): from_vessel: str to_vessel: str filter_through: str eluting_solvent: str = "" eluting_volume: float = 0.0 疑似没有 eluting_repeats: int = 0 residence_time: float = 0.0

class RunColumnProtocol(BaseModel): from_vessel: str to_vessel: str column: str 测完了能跑

class WashSolidProtocol(BaseModel): vessel: str solvent: str volume: float filtrate_vessel: str = "" temp: float = 25.0 stir: bool = False stir_speed: float = 0.0 测完了能跑 time: float = 0.0 repeats: int = 1

class AdjustPHProtocol(BaseModel): vessel: str = Field(..., description="目标容器") ph_value: float = Field(..., description="目标pH值") # 改为 ph_value reagent: str = Field(..., description="酸碱试剂名称") # 移除其他可选参数,使用默认值 <新写的,没问题>

class ResetHandlingProtocol(BaseModel): solvent: str = Field(..., description="溶剂名称") <新写的,没问题>

class DryProtocol(BaseModel): compound: str = Field(..., description="化合物名称") <新写的,没问题> vessel: str = Field(..., description="目标容器")

class RecrystallizeProtocol(BaseModel): ratio: str = Field(..., description="溶剂比例(如 '1:1', '3:7'") solvent1: str = Field(..., description="第一种溶剂名称") <新写的,没问题> solvent2: str = Field(..., description="第二种溶剂名称") vessel: str = Field(..., description="目标容器") volume: float = Field(..., description="总体积 (mL)")

class HydrogenateProtocol(BaseModel): temp: str = Field(..., description="反应温度(如 '45 °C'") time: str = Field(..., description="反应时间(如 '2 h'") <新写的,没问题> vessel: str = Field(..., description="反应容器")

还差
<dissolve>
<separate>
<CleanVessel vessel="centrifuge"/>

单位修复: evaporate heatchill recrysitallize stir wash solid