mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-08-29 06:00:52 +02:00
feat: persist hitl default config
This commit is contained in:
@@ -315,12 +315,13 @@ func (h *AgentHandler) SetHitlToolWhitelistSaver(s HitlToolWhitelistSaver) {
|
||||
h.hitlWhitelistSaver = s
|
||||
}
|
||||
|
||||
// HitlDefaultReviewerSaver 持久化全局默认审批方到 config.yaml。
|
||||
// HitlDefaultReviewerSaver 持久化全局默认人机协同配置到 config.yaml。
|
||||
type HitlDefaultReviewerSaver interface {
|
||||
UpdateHitlDefaultConfig(mode, reviewer string, timeoutSeconds int) error
|
||||
UpdateHitlDefaultReviewer(reviewer string) error
|
||||
}
|
||||
|
||||
// SetHitlDefaultReviewerSaver 设置 HITL 默认审批方落盘。
|
||||
// SetHitlDefaultReviewerSaver 设置 HITL 默认配置落盘。
|
||||
func (h *AgentHandler) SetHitlDefaultReviewerSaver(s HitlDefaultReviewerSaver) {
|
||||
h.hitlDefaultReviewerSaver = s
|
||||
}
|
||||
@@ -332,6 +333,35 @@ func (h *AgentHandler) hitlEffectiveDefaultReviewer() string {
|
||||
return "human"
|
||||
}
|
||||
|
||||
func (h *AgentHandler) hitlEffectiveDefaultMode() string {
|
||||
if h != nil && h.config != nil {
|
||||
return normalizeHitlDefaultMode(h.config.Hitl.EffectiveDefaultMode())
|
||||
}
|
||||
return "off"
|
||||
}
|
||||
|
||||
func (h *AgentHandler) hitlEffectiveDefaultTimeoutSeconds() int {
|
||||
if h != nil && h.config != nil {
|
||||
timeout := h.config.Hitl.EffectiveDefaultTimeoutSeconds()
|
||||
if timeout < 0 {
|
||||
return 0
|
||||
}
|
||||
return timeout
|
||||
}
|
||||
return 300
|
||||
}
|
||||
|
||||
func (h *AgentHandler) hitlEffectiveDefaultRequest() *HITLRequest {
|
||||
mode := h.hitlEffectiveDefaultMode()
|
||||
return &HITLRequest{
|
||||
Enabled: mode != "off",
|
||||
Mode: mode,
|
||||
Reviewer: h.hitlEffectiveDefaultReviewer(),
|
||||
SensitiveTools: []string{},
|
||||
TimeoutSeconds: h.hitlEffectiveDefaultTimeoutSeconds(),
|
||||
}
|
||||
}
|
||||
|
||||
// HITLNeedsToolApproval 供 C2 危险任务门控:与会话侧人机协同及免审批白名单判定一致。
|
||||
func (h *AgentHandler) HITLNeedsToolApproval(conversationID, toolName string) bool {
|
||||
if h == nil || h.hitlManager == nil {
|
||||
|
||||
Reference in New Issue
Block a user