feat: Enhance AI Agent and Channel Management

- Updated labels in the AI Agents dashboard for clarity, changing "流程状态" to "Playbook 状态" and "未发布流程" to "未发布 Playbook".
- Introduced AI Agent rollout percentage management in channel editing, allowing users to set and rollback rollout percentages.
- Added new API endpoints for rolling back AI Agent rollout and fetching agent run metrics.
- Implemented new UI components for displaying agent run details, including status, duration, and input/output tokens.
- Enhanced type definitions for AdminChannel and AIAgent to include rollout percentages and runtime modes.
- Updated navigation to include a section for agent runs.
- Added new translations for agent run features in both English and Chinese.
This commit is contained in:
mlogclub
2026-07-25 12:04:06 +08:00
parent 45741d4032
commit 34051a4631
101 changed files with 8377 additions and 340 deletions
+36
View File
@@ -220,22 +220,58 @@ type AIAgentFallbackMode int
const (
AIAgentFallbackModeNoAnswer AIAgentFallbackMode = 1
AIAgentFallbackModeSuggestRetry AIAgentFallbackMode = 2
AIAgentFallbackModeHandoff AIAgentFallbackMode = 3
)
var AIAgentFallbackModeValues = []AIAgentFallbackMode{
AIAgentFallbackModeNoAnswer,
AIAgentFallbackModeSuggestRetry,
AIAgentFallbackModeHandoff,
}
var aiAgentFallbackModeLabelMap = map[AIAgentFallbackMode]string{
AIAgentFallbackModeNoAnswer: "直接说明知识不足",
AIAgentFallbackModeSuggestRetry: "引导用户补充信息",
AIAgentFallbackModeHandoff: "转人工客服",
}
func GetAIAgentFallbackModeLabel(mode AIAgentFallbackMode) string {
return aiAgentFallbackModeLabelMap[mode]
}
type AIAgentRuntimeMode string
const (
AIAgentRuntimeModeWorkflow AIAgentRuntimeMode = "workflow"
AIAgentRuntimeModeAutonomous AIAgentRuntimeMode = "autonomous"
AIAgentRuntimeModeHybrid AIAgentRuntimeMode = "hybrid"
)
var AIAgentRuntimeModeValues = []AIAgentRuntimeMode{
AIAgentRuntimeModeWorkflow,
AIAgentRuntimeModeAutonomous,
AIAgentRuntimeModeHybrid,
}
var aiAgentRuntimeModeLabelMap = map[AIAgentRuntimeMode]string{
AIAgentRuntimeModeWorkflow: "流程编排",
AIAgentRuntimeModeAutonomous: "自主运行",
AIAgentRuntimeModeHybrid: "混合运行",
}
func GetAIAgentRuntimeModeLabel(mode AIAgentRuntimeMode) string {
return aiAgentRuntimeModeLabelMap[mode]
}
func IsValidAIAgentRuntimeMode(mode AIAgentRuntimeMode) bool {
for _, item := range AIAgentRuntimeModeValues {
if item == mode {
return true
}
}
return false
}
const (
IMRealtimeEventConnected = "connected"
IMRealtimeEventPong = "pong"