fix(startup): 启动阶段两类噪声归零 —— 插件 stdout 日志与 CLI 型技能误判

用户反馈启动日志里有报错。实测定位到两处,都是真实问题:

## 1. huawei_smarthome 往 stdout 打日志(8 条「收到非法 JSON 帧」)

stdout 是 JSON-RPC **协议通道**,它在 plugin.go/handlers.go/service.go 等处
用了 fmt.Printf(31 处),内核每收到一行就把协议解析失败一次。
这不是内核的错,是插件写法错 —— 已在其源码(/home/newqqagent/plugindev/
huawei_smarthome)把 fmt.Printf/Println 全部改成 log.Printf(stderr),
重新 hmapdev 打包并安装。重启后非法帧 0 条、10 个工具正常注册。

## 2. clawhubadapter 把 CLI 型 main.py 当 JSON-RPC sidecar

判定规则原为「有 main.py 就按 pysidecar 拉起」,但 ClawHub 上大量技能的
main.py 是 **CLI 入口**(`python3 main.py <tool> '<json>'`),对它发 ping
必然超时(bilibili、gaode 各等 5 秒)。旧代码只打一行错误就完事 ——
启动日志一片红,而技能既没变成工具、也没交给 skillmgr,等于半死不活。

改为:sidecar 就绪失败即降级为「CLI 型技能」,移交 skillmgr 并给出说明,
日志措辞从「错误」改为「未就绪 → 按 CLI 型处理」。两个技能现已可经
skill_info 读到文档、再用命令执行。

## 3. 顺带修一条看着像配置泄漏的日志

`dep parser initialized (model: )` —— 空括号是「未配置 ONNX 模型、走内置规则
引擎」的正常回退。改为显式说明,避免误读成缺配置。

## 验收(本机实例重启后实录)

- 「非法 JSON 帧」0 条(此前 8 条)
- dep parser 日志:`ready (内置规则引擎;未配置 core.agent.onnx_model_path)`
- 剩余 3 条均为说明性:mail-bridge 出站通道兜底、两个 CLI 型技能降级移交
- 13 个内置 + 13 个自启外部插件全部 loaded,agent main started
This commit is contained in:
root
2026-10-20 09:00:58 +08:00
parent b5f024b054
commit 16c9d4f69e
2 changed files with 18 additions and 2 deletions

View File

@ -40,7 +40,13 @@ func (Module) Init(ks *kernelboot.KernelState) error {
return nil
}
nlp.SetDefaultParser(onnxParser)
log.Printf("[homed] dep parser initialized (model: %s)", modelPath)
// 空路径 = 走内置规则引擎(不发 ONNX 推理)。旧日志打成
// "initialized (model: )" —— 空括号看着像配置泄漏了,实为正常回退。
if modelPath == "" {
log.Printf("[homed] dep parser ready (内置规则引擎;未配置 core.agent.onnx_model_path)")
} else {
log.Printf("[homed] dep parser ready (ONNX model: %s)", modelPath)
}
return nil
}