feat(proc): Cleaner 跨进程修复(tool/input/output) + 共享内存安全模式 + plan §13

- Cleaner 协议统一为 cleaner.invoke(scope,name,text),覆盖工具/输入/输出三类
- 新增 ShmSecurityMode (safe/debug/full),Linux 审计探针,Windows crypto nonce
- plan.md 追加 §13 步骤分组
This commit is contained in:
JianFeeeee
2026-09-10 10:21:50 +08:00
parent 580d5f5501
commit 7a328679da
12 changed files with 645 additions and 45 deletions

View File

@ -243,17 +243,20 @@ func main() {
go func(id uint64) {
callKernel("lifecycle.autoRestart", map[string]interface{}{"enabled": true})
callKernel("tool.register", map[string]interface{}{
"name": "demo_upper",
"def": map[string]interface{}{"name": "demo_upper", "description": "转大写"},
"name": "demo_upper",
"def": map[string]interface{}{"name": "demo_upper", "description": "转大写"},
"has_cleaner": true,
})
callKernel("stage.register", map[string]interface{}{
"stage": "after_toolcall",
"scope": "global",
})
callKernel("input.register", map[string]interface{}{
"name": "demo_in", "def": map[string]interface{}{}, "has_cleaner": true,
})
callKernel("output.register", map[string]interface{}{
"name": "demo_ch",
"caps": 1,
"desc": "测试通道",
"name": "demo_ch", "caps": 1, "desc": "测试通道",
"def": map[string]interface{}{}, "has_cleaner": true,
})
send(response{ID: id})
}(req.ID)
@ -274,6 +277,24 @@ func main() {
"result": strings.ToUpper(text),
}})
case "cleaner.invoke":
var p struct {
Scope string `json:"scope"`
Name string `json:"name"`
Text string `json:"text"`
}
json.Unmarshal(req.Params, &p)
valid := (p.Scope == "tool" && p.Name == "demo_upper") ||
(p.Scope == "input" && p.Name == "demo_in") ||
(p.Scope == "output" && p.Name == "demo_ch")
if !valid {
send(response{ID: req.ID, Error: "未注册 Cleaner"})
continue
}
send(response{ID: req.ID, Result: map[string]interface{}{
"text": p.Scope + "-cleaned:" + p.Text,
}})
case "stage.invoke":
go func(id uint64) {
if shm == nil {