Update project and configurations

This commit is contained in:
Zou-Seay
2026-06-11 16:28:00 +08:00
parent 12d3922091
commit a29a91867d
237 changed files with 164880 additions and 90 deletions

View File

@@ -0,0 +1,216 @@
from __future__ import annotations
from typing import Any
from app.plugins.base import PluginRegistry
class MockPluginExecutor:
def register(self, registry: PluginRegistry) -> PluginRegistry:
registry.register("plugin.order.query", self._query_order)
registry.register("plugin.logistics.query", self._query_logistics)
registry.register("plugin.order.cancel", self._cancel_order)
registry.register("plugin.service.transfer_human", self._transfer_human)
registry.register("plugin.cabin.navigation.cancel", self._navigate_cancel)
registry.register("plugin.cabin.navigation", self._navigate)
registry.register("plugin.cabin.ac.on", self._ac_on)
registry.register("plugin.cabin.ac.off", self._ac_off)
registry.register("plugin.cabin.ac_control", self._set_ac)
registry.register("plugin.cabin.fan.up", self._fan_up)
registry.register("plugin.cabin.fan.down", self._fan_down)
registry.register("plugin.cabin.defog.front_on", self._defog_front_on)
registry.register("plugin.cabin.defog.rear_on", self._defog_rear_on)
registry.register("plugin.cabin.window.open", self._window_open)
registry.register("plugin.cabin.window.close", self._window_close)
registry.register("plugin.cabin.sunroof.open", self._sunroof_open)
registry.register("plugin.cabin.sunroof.close", self._sunroof_close)
registry.register("plugin.cabin.doors.lock", self._lock_doors)
registry.register("plugin.cabin.doors.unlock", self._unlock_doors)
registry.register("plugin.cabin.music_play", self._play_music)
registry.register("plugin.cabin.music.pause", self._pause_music)
registry.register("plugin.cabin.music.next", self._next_track)
registry.register("plugin.cabin.music.previous", self._previous_track)
registry.register("plugin.cabin.volume.up", self._volume_up)
registry.register("plugin.cabin.volume.down", self._volume_down)
registry.register("plugin.cabin.volume.mute", self._volume_mute)
registry.register("plugin.cabin.lights.on", self._lights_on)
registry.register("plugin.cabin.lights.off", self._lights_off)
registry.register("plugin.cabin.seat_heat.on", self._seat_heat_on)
registry.register("plugin.cabin.seat_heat.off", self._seat_heat_off)
registry.register("plugin.cabin.mirror.fold", self._mirror_fold)
registry.register("plugin.cabin.mirror.unfold", self._mirror_unfold)
registry.register("plugin.cabin.wiper.on", self._wiper_on)
registry.register("plugin.cabin.wiper.off", self._wiper_off)
return registry
def _query_order(self, slots: dict[str, Any]) -> dict[str, Any]:
return {
"success": True,
"message": f"订单 {slots['order_id']} 当前待发货。",
"data": {"order_status": "pending_shipment"},
}
def _query_logistics(self, slots: dict[str, Any]) -> dict[str, Any]:
return {
"success": True,
"message": f"订单 {slots['order_id']} 最新物流状态为运输中。",
"data": {"logistics_status": "shipping"},
}
def _cancel_order(self, slots: dict[str, Any]) -> dict[str, Any]:
return {
"success": True,
"message": f"订单 {slots['order_id']} 已取消。",
"data": {"cancel_status": "cancelled"},
}
def _transfer_human(self, slots: dict[str, Any]) -> dict[str, Any]:
return {
"success": True,
"message": "已为你转接人工客服,请稍候。",
"data": {"queue_no": "A12", "reason": slots.get("reason", "用户请求")},
}
def _navigate(self, slots: dict[str, Any]) -> dict[str, Any]:
return {
"success": True,
"message": f"已开始导航到 {slots['destination']}",
"data": {"route_id": "route_001", "destination": slots["destination"]},
}
def _navigate_cancel(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已结束当前导航。", {"navigation": "stopped"})
def _ac_on(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已打开空调。", {"power": "on"})
def _ac_off(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已关闭空调。", {"power": "off"})
def _set_ac(self, slots: dict[str, Any]) -> dict[str, Any]:
return {
"success": True,
"message": f"已将空调调到 {slots['temperature']} 度。",
"data": {"temperature": slots["temperature"]},
}
def _fan_up(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已调大风量。", {"fan": "up"})
def _fan_down(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已调小风量。", {"fan": "down"})
def _defog_front_on(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已打开前挡除雾。", {"defog": "front_on"})
def _defog_rear_on(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已打开后挡除雾。", {"defog": "rear_on"})
def _window_open(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已打开车窗。", {"window": "open"})
def _window_close(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已关闭车窗。", {"window": "close"})
def _sunroof_open(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已打开天窗。", {"sunroof": "open"})
def _sunroof_close(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已关闭天窗。", {"sunroof": "close"})
def _lock_doors(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已锁定车门。", {"doors": "locked"})
def _unlock_doors(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已解锁车门。", {"doors": "unlocked"})
def _play_music(self, slots: dict[str, Any]) -> dict[str, Any]:
target = slots.get("song") or slots.get("genre") or "默认歌单"
return {
"success": True,
"message": f"正在播放 {target}",
"data": {"play_target": target},
}
def _pause_music(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已暂停播放。", {"music": "paused"})
def _next_track(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已切到下一首。", {"music": "next"})
def _previous_track(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已切到上一首。", {"music": "previous"})
def _volume_up(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已调大音量。", {"volume": "up"})
def _volume_down(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已调小音量。", {"volume": "down"})
def _volume_mute(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已静音。", {"volume": "mute"})
def _lights_on(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已打开车灯。", {"lights": "on"})
def _lights_off(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已关闭车灯。", {"lights": "off"})
def _seat_heat_on(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已打开座椅加热。", {"seat_heat": "on"})
def _seat_heat_off(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已关闭座椅加热。", {"seat_heat": "off"})
def _mirror_fold(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已折叠后视镜。", {"mirror": "folded"})
def _mirror_unfold(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已展开后视镜。", {"mirror": "unfolded"})
def _wiper_on(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已打开雨刷。", {"wiper": "on"})
def _wiper_off(self, slots: dict[str, Any]) -> dict[str, Any]:
_ = slots
return self._simple_action("好的,已关闭雨刷。", {"wiper": "off"})
def _fallback(self, slots: dict[str, Any]) -> dict[str, Any]:
return {
"success": True,
"message": "已接收请求,当前使用 mock 插件返回成功结果。",
"data": slots,
}
def _simple_action(self, message: str, data: dict[str, Any]) -> dict[str, Any]:
return {
"success": True,
"message": message,
"data": data,
}