优化前端,优化前端指令,优化自定义控制

This commit is contained in:
minghanchen
2026-08-24 09:40:16 +08:00
parent fff7657fea
commit 8d05815773
130 changed files with 5543 additions and 2206 deletions
@@ -510,6 +510,88 @@ class MultiDomainServiceTests(unittest.TestCase):
[],
)
def test_mode_card_editor_persists_only_server_generated_command_flow(self) -> None:
mode_root = Path(self.temporary_directory.name) / "mode-card-presets"
user_root = Path(self.temporary_directory.name) / "mode-card-user"
preset = mode_root / "vehicles" / "denza_n7" / "office.yaml"
preset.parent.mkdir(parents=True)
preset.write_text(
"""
id: office
name: 办公模式
icon: briefcase
scope:
vehicle_ids: [denza_n7]
operations:
- domain: climate
capability: climate.set_temperature
target_scope: passenger
parameters:
temperature_c: 24
""".strip()
+ "\n",
encoding="utf-8",
)
self.service.mode_profiles = ModeProfileRegistry(
mode_root, user_root=user_root
)
model_output = {
"detected_domains": ["climate"],
"requests": [
{
"domain": "climate",
"capability": "climate.set_temperature",
"target_scope": "passenger",
"operation": "set",
"parameters": [{"name": "temperature_c", "value": 24}],
"reason": "办公温度。",
}
],
"ambiguities": [],
"decision_summary": ["副驾温度设置为24度。"],
"confidence": 0.97,
}
instruction = "副驾空调温度设置为24度"
with patch.object(self.service.openai, "interpret", return_value=model_output):
generated = self.service.process(
instruction,
"openai",
"conv-mode-card-editor",
vehicle_id="denza_n7",
)
saved = self.service.save_mode_profile_card(
"office",
"专注办公模式",
instruction,
generated["request_id"],
"denza_n7",
)
self.assertEqual(saved["status"], "succeeded")
self.assertEqual(saved["storage"], "persistent_yaml")
self.assertEqual(saved["mode_profile"]["origin"], "customized")
self.assertEqual(saved["mode_profile"]["instruction"], instruction)
self.assertTrue(saved["mode_profile"]["command_flow"]["plans"])
self.assertTrue(
saved["mode_profile"]["command_flow"]["function_configs"]
)
reloaded = ModeProfileRegistry(mode_root, user_root=user_root)
persisted = next(
item
for item in reloaded.public_modes("denza_n7")
if item["id"] == "office"
)
self.assertEqual(persisted["name"], "专注办公模式")
with self.assertRaisesRegex(ValueError, "重新点击执行"):
self.service.save_mode_profile_card(
"office",
"专注办公模式",
"副驾空调温度设置为25度",
generated["request_id"],
"denza_n7",
)
def test_build_named_mode_executes_and_persists_in_one_turn(self) -> None:
mode_root = Path(self.temporary_directory.name) / "modes"
self.service.mode_profiles = ModeProfileRegistry(mode_root)