重构: 后端编排拆解与DRY债收敛及命名纠偏
阶段1拆解: stream 系外移 stream_relay.rs,mod.rs 3048→2607,loop_body 502→83 技能收尾: regenerate/edit 回溯补技能,新增 read_skill 工具,项目级技能扫描 DRY: emit 双写 46 处收敛 event_bus 正典,KV 引号归一收口,LOCK-SLOW 33 处单行化 警示骨架 4→1 与压缩兜底 2→1,噪音目录档位收敛,truncate 同名陷阱消除 工具元数据落 ToolMeta 八维,7 张 match 表改查 registry,parity 测试锁等价 命名: is_noise_entry/teardown_round/probe_missed_terminal_event 等 6 项纠偏
This commit is contained in:
+5
-10
@@ -200,20 +200,15 @@ pub fn run() {
|
||||
}
|
||||
};
|
||||
// relay_url:KV 取,无则默认本地(localhost:8080,本地开发 df-relay 默认监听)。
|
||||
// settings value 契约模糊(JSON 序列化带引号或裸值并存,见 SettingsRepo get/set 不解析 JSON):
|
||||
// 统一解析去引号 —— serde_json::from_str 处理 JSON 字符串值,失败(裸值)则 trim 首尾引号兜底,
|
||||
// settings value 契约模糊(JSON 序列化带引号或裸值并存):经 get_string_norm
|
||||
// 归一去引号(此处 from_str 写法已收敛为 state.rs SettingsNorm 正典,2026-10-01 DRY #2),
|
||||
// 确保拿到纯净 URL 供 connect_async(带引号 URL 解析失败致 connect 静默失败,relay 无 device 接入)。
|
||||
use state::SettingsNorm;
|
||||
let relay_url = state
|
||||
.settings
|
||||
.get("relay_url")
|
||||
.get_string_norm("relay_url")
|
||||
.await
|
||||
.ok()
|
||||
.flatten()
|
||||
.filter(|s| !s.is_empty())
|
||||
.map(|raw| {
|
||||
serde_json::from_str::<String>(&raw)
|
||||
.unwrap_or_else(|_| raw.trim_matches('"').to_string())
|
||||
})
|
||||
.unwrap_or_else(|| "ws://localhost:8080/ws/device".to_string());
|
||||
// token:固定常量(三端同源,对齐 df-relay relay.rs:37 DEFAULT_TOKEN)
|
||||
let token = "devflow-relay-default-token".to_string();
|
||||
@@ -499,7 +494,7 @@ pub fn run() {
|
||||
commands::settings::set_script_safety,
|
||||
// Plan 执行开关
|
||||
commands::settings::set_plan_execution,
|
||||
commands::settings::get_plan_execution,
|
||||
commands::settings::is_plan_execution_enabled,
|
||||
// 冲突解决
|
||||
commands::settings::resolve_conflict,
|
||||
// 模板管理
|
||||
|
||||
Reference in New Issue
Block a user