feat(ui): 支持 Auto Edit 运行时切换立即生效
- 添加 config_update WebSocket 消息类型 - setAutoApprove 切换时立即发送配置更新到服务端 - 服务端实时更新会话的 auto-approve 配置
This commit is contained in:
@@ -417,10 +417,24 @@ export function useChat({ sessionId, onError, onSessionNotFound, onSessionUpdate
|
||||
setState((prev) => ({ ...prev, agentMode: mode }));
|
||||
}, []);
|
||||
|
||||
// 设置自动授权 (会话级别)
|
||||
const setAutoApprove = useCallback((enabled: boolean) => {
|
||||
setState((prev) => ({ ...prev, autoApprove: enabled }));
|
||||
}, []);
|
||||
// 设置自动授权 (会话级别,立即生效)
|
||||
const setAutoApprove = useCallback(
|
||||
(enabled: boolean) => {
|
||||
setState((prev) => ({ ...prev, autoApprove: enabled }));
|
||||
|
||||
// 立即通过 WebSocket 发送配置更新,使其对当前执行生效
|
||||
if (wsRef.current && wsRef.current.readyState === WebSocket.OPEN) {
|
||||
wsRef.current.send(
|
||||
JSON.stringify({
|
||||
type: 'config_update',
|
||||
sessionId,
|
||||
payload: { autoApprove: enabled },
|
||||
})
|
||||
);
|
||||
}
|
||||
},
|
||||
[sessionId]
|
||||
);
|
||||
|
||||
// 初始化
|
||||
useEffect(() => {
|
||||
|
||||
Reference in New Issue
Block a user