fix: 修复 UserPromptSubmit 事件 prompt 为空的问题
UserPromptSubmit 不是工具事件,prompt 文本作为顶层 JSON 字段传递, 而非 tool_input.prompt。新增 Prompt 字段到结构体并从 event.Prompt 读取。
This commit is contained in:
+2
-1
@@ -17,6 +17,7 @@ type ClaudeCodeHookEvent struct {
|
|||||||
ToolInput map[string]interface{} `json:"tool_input,omitempty"`
|
ToolInput map[string]interface{} `json:"tool_input,omitempty"`
|
||||||
Matcher string `json:"matcher,omitempty"`
|
Matcher string `json:"matcher,omitempty"`
|
||||||
StopHookActive bool `json:"stop_hook_active,omitempty"`
|
StopHookActive bool `json:"stop_hook_active,omitempty"`
|
||||||
|
Prompt string `json:"prompt,omitempty"` // UserPromptSubmit 事件的 prompt 文本
|
||||||
}
|
}
|
||||||
|
|
||||||
type HookHandler struct {
|
type HookHandler struct {
|
||||||
@@ -139,7 +140,7 @@ func (h *HookHandler) handleUserPromptSubmit(event ClaudeCodeHookEvent) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
prompt, _ := event.ToolInput["prompt"].(string)
|
prompt := event.Prompt
|
||||||
if prompt == "" {
|
if prompt == "" {
|
||||||
log.Printf("empty prompt in UserPromptSubmit, session=%s", event.SessionID)
|
log.Printf("empty prompt in UserPromptSubmit, session=%s", event.SessionID)
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user